Comments (9)
I made some tools to stress test monerod: https://github.com/Boog900/Monero-stress-test-tools
My idea was to pob blocks back to when we know txpool was huge and push the transactions from the blocks after that to the nodes pool, doing this at height 3139920
I was able to get the txpool to around 90 MBs.
Then I also created a tool to make and maintain a certain number of "fake" connections to a node, these connections do just enough to stay connected and nothing else. Monerod will still fluff txs to these connections.
Using these tools I am able to reliably get a node killed.
The first thing to note is that even with no connections and spamming txs monerod still likes to use a lot of RAM, however using pmap
this seems to come from Linux caching more of the LMDB database, therefore I couldn't actually get a node killed with no connections.
My node got killed in a VM with 10GB of RAM with ~150 connections I can't remember how long it took and I have killed a node 3 times in a VM with 5GB of RAM with 100 connections within 20 minutes each.
I wouldn't recommend setting the connection-maker
to maintain over 100 connections as I found it starts getting pretty unstable.
from monero.
185.198.234.30:28080
should be online, can someone confirm?
I see you on one of my nodes via 'print_cn'. Should be good to go.
from monero.
Perhaps, as was suggested to me, an even more fully featured approach might be taken by adding the ability for monerod to spin up custom public testnets using command line parameters.
That ability has always existed. But starting on ad hoc basis like this requires all participants to communicate with each other to tell each other their specific node addresses, so it takes some coordination.
from monero.
Perhaps I am exaggerating the issues, but my thought was that using --add-exclusive-node to create an extra testnet is not a quality solution due to the difficulty of coordination, as well as the possibility that someone might connect with a copy of the existing testnet. That would destroy/overwrite the alternative chain that people are attempting to create.
from monero.
In the interest of trying to get something set up quickly, I would like to share my hasty attempt at a disposable testnet/stressnet (https://github.com/spackle-xmr/monero). It is a simple testnet replacement, making no other changes. My node p2p port is stressnet.net:28080 if anyone wishes to use it.
from monero.
For the time being, in my ugly solution, what I am doing is to use —add-exclusive-node
list and pass it as argument which is quite ugly [1], until we can decide on some custom approach.
Maybe having —exclusive-node-list-file
which would require a simple txt file containing list of nodes for that testnet is not such a bad idea.
from monero.
Another option might be to publish a copy of the testnet after running --pop-blocks to the most recent fork and mining/churning to a single address for a while. Publishing that chain and miner seed phrase would offer an end product that:
- runs the same version as mainnet
- is far enough behind the actual testnet that there is no real danger of overwriting the actual testnet
- has many thousands of available key images for a user to spend immediately
I expect that having this available will make independent stress testing more attractive.
from monero.
I want to confirm that the testnet fork / 'stressnet' set up here at is now running with community support. There are over 35 nodes on the network, with flooding set to begin at 15:00 UTC on June 19th.
from monero.
185.198.234.30:28080
should be online, can someone confirm?
from monero.
Related Issues (20)
- blockchain always gets corrupt HOT 1
- Privacy Issue: Unneccesarry merging of coins makes users more traceable (broken change management) HOT 4
- Privacy: Transaction uniformity and receiving address type -- practical statistical de-anonymization HOT 1
- ERROR: chunk size exceeds buffer size while exporting monero database HOT 5
- Scan_tx stucks on newer versions HOT 9
- monerod started mining on its own HOT 30
- "Refresh" logic not resuming refresh from correct height causing excessive bandwidth / processing for nodes
- Compilation errors on gcc 14.1.1 HOT 10
- List of bugs in `export_transfers`
- Disucssion: FIRST_REFRESH_GRANULARITY set too high; causing excessive node bandwidth / processing
- Bug: start_height not being respected both in "refresh" RPC call and Wallet.cpp API.
- RPC Connection only over SSL, SSL - RPC, Check, HOT 3
- Error when running wallet in Gramine (Intel SGX) HOT 1
- Corrupted binaries built from Ubuntu 22.04 HOT 2
- Why can't the transaction be confirmed? This is on my private chain, mining is enabled, and gas is normal. HOT 6
- Why can't the transaction be confirmed? This is on my private chain, mining is enabled, and gas is normal.
- Trezor Safe 3 passphrase entry fails on host with long/special passphrases HOT 1
- Problems with connecting wallet-cli to local node HOT 11
- Daemons processing big blocks may bump against serializer sanity checks and fail to sync HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from monero.