@@ -31,7 +31,7 @@ On some machines, this fixes the `ERROR axum::serve::listener: accept error: Too
31
31
To run a load test, first run the node using a command like the following in the root folder:
32
32
33
33
``` bash
34
- cargo run --bin ethrex --release --features dev -- --network test_data/genesis-l2 -ci.json --dev
34
+ cargo run --bin ethrex --release --features dev -- --network test_data/genesis-perf -ci.json --dev
35
35
```
36
36
37
37
Genesis-l2-ci has many rich accounts and does not include the prague fork, which is important for dev mode until it's fixed.
@@ -73,39 +73,39 @@ Load tests are usually used to get performance metrics. We usually want to gener
73
73
To produce a flamegraph, run the node in the following way.
74
74
75
75
``` bash
76
- cargo flamegraph --root --bin ethrex --release --features dev -- --network test_data/genesis-l2 -ci.json --dev
76
+ cargo flamegraph --root --bin ethrex --release --features dev -- --network test_data/genesis-perf -ci.json --dev
77
77
```
78
78
79
79
The "root" command is only needed for mac. It can be removed if running on linux.
80
80
81
81
For a samply report, run the following:
82
82
83
83
``` bash
84
- samply record cargo run --bin ethrex --release --features dev -- --network test_data/genesis-l2 -ci.json --dev
84
+ samply record cargo run --bin ethrex --release --features dev -- --network test_data/genesis-perf -ci.json --dev
85
85
```
86
86
87
87
## Interacting with reth
88
88
89
89
The same load test can be run, the only difference is how you run the node:
90
90
91
91
``` bash
92
- cargo run --release -- node --chain < path_to_ethrex> /test_data/genesis-l2 -ci.json --dev --dev.block-time 5000ms --http.port 8545 --txpool.max-pending-txns 100000000 --txpool.max-new-txns 1000000000 --txpool.pending-max-count 100000000 --txpool.pending-max-size 10000000000 --txpool.basefee-max-count 100000000000 --txpool.basefee-max-size 1000000000000 --txpool.queued-max-count 1000000000
92
+ cargo run --release -- node --chain < path_to_ethrex> /test_data/genesis-perf -ci.json --dev --dev.block-time 5000ms --http.port 8545 --txpool.max-pending-txns 100000000 --txpool.max-new-txns 1000000000 --txpool.pending-max-count 100000000 --txpool.pending-max-size 10000000000 --txpool.basefee-max-count 100000000000 --txpool.basefee-max-size 1000000000000 --txpool.queued-max-count 1000000000
93
93
```
94
94
95
95
All of the txpool parameters are to make sure that it doesn't discard transactions sent by the load test. Trhoughput measurements in the logs are typically near 1Gigagas/second. To remove the database before getting measurements again:
96
96
97
97
``` bash
98
- cargo run --release -- db --chain < path_to_ethrex> /test_data/genesis-l2 -ci.json drop -f
98
+ cargo run --release -- db --chain < path_to_ethrex> /test_data/genesis-perf -ci.json drop -f
99
99
```
100
100
101
101
To get a flamegraph of its execution, run with the same parameters, just replace ` cargo run --release ` with ` cargo flamegraph --bin reth --profiling ` :
102
102
103
103
``` bash
104
- cargo flamegraph --bin reth --root --profiling -- node --chain ~ /workspace/ethrex/test_data/genesis-l2 -ci.json --dev --dev.block-time 5000ms --http.port 8545 --txpool.max-pending-txns 100000000 --txpool.max-new-txns 1000000000 --txpool.pending-max-count 100000000 --txpool.pending-max-size 10000000000 --txpool.basefee-max-count 100000000000 --txpool.basefee-max-size 1000000000000 --txpool.queued-max-count 1000000000
104
+ cargo flamegraph --bin reth --root --profiling -- node --chain ~ /workspace/ethrex/test_data/genesis-perf -ci.json --dev --dev.block-time 5000ms --http.port 8545 --txpool.max-pending-txns 100000000 --txpool.max-new-txns 1000000000 --txpool.pending-max-count 100000000 --txpool.pending-max-size 10000000000 --txpool.basefee-max-count 100000000000 --txpool.basefee-max-size 1000000000000 --txpool.queued-max-count 1000000000
105
105
```
106
106
107
107
For samply we want to directly execute the binary, so that it records the binary and not cargo itself:
108
108
109
109
``` bash
110
- samply record ./target/profiling/reth node --chain ~ /workspace/ethrex/test_data/genesis-l2 -ci.json --dev --dev.block-time 5000ms --http.port 8545 --txpool.max-pending-txns 100000000 --txpool.max-new-txns 1000000000 --txpool.pending-max-count 100000000 --txpool.pending-max-size 10000000000 --txpool.basefee-max-count 100000000000 --txpool.basefee-max-size 1000000000000 --txpool.queued-max-count 1000000000
111
- ```
110
+ samply record ./target/profiling/reth node --chain ~ /workspace/ethrex/test_data/genesis-perf -ci.json --dev --dev.block-time 5000ms --http.port 8545 --txpool.max-pending-txns 100000000 --txpool.max-new-txns 1000000000 --txpool.pending-max-count 100000000 --txpool.pending-max-size 10000000000 --txpool.basefee-max-count 100000000000 --txpool.basefee-max-size 1000000000000 --txpool.queued-max-count 1000000000
111
+ ```
0 commit comments