Skip to content

Commit c001b96

Browse files
committed
docs: add README for aggregator prover benchmark
1 parent 749511c commit c001b96

File tree

1 file changed

+141
-0
lines changed
  • mithril-test-lab/benchmark/aggregator-prover

1 file changed

+141
-0
lines changed
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# Benchmark aggregator prover route
2+
3+
This tool will run a set of benchmarks (based on [Apache Benchmark](https://httpd.apache.org/docs/2.4/programs/ab.html)) on the aggregator route of an aggregator given a list of transactions. It will produce a CSV file with results of the benchmarks.
4+
5+
First set enviroment variables:
6+
```bash
7+
# Aggregator endpoint
8+
export AGGREGATOR_ENDPOINT=https://aggregator.testing-mainnet.api.mithril.network/aggregator
9+
10+
# Transactions file to prove
11+
export TRANSACTIONS_FILE=transactions-mainnet.txt
12+
13+
# Transactions proved per request range definition
14+
export TRANSACTIONS_PER_REQUEST_MIN=1
15+
export TRANSACTIONS_PER_REQUEST_MAX=3
16+
export TRANSACTIONS_PER_REQUEST_STEP=1
17+
18+
# Apache benchmark total request sent per benchmark
19+
export AB_TOTAL_REQUESTS=1000
20+
21+
# Apache benchmark concurrency level range definition
22+
export AB_CONCURRENCY_MIN=50
23+
export AB_CONCURRENCY_MAX=100
24+
export AB_CONCURRENCY_STEP=50
25+
```
26+
27+
28+
Than, run the benchmarks:
29+
```bash
30+
./benchmark-aggregator-prover.sh
31+
```
32+
33+
Which will output these type of results:
34+
```bash
35+
Using the default OUT_FILE: benchmark.csv
36+
37+
Run aggregator prover benchmark with:
38+
>> Aggregator endpoint: [https://aggregator.testing-mainnet.api.mithril.network/aggregator]
39+
>> Transactions file: [transactions-mainnet.txt]
40+
>> Transactions available: [100]
41+
>> Transactions per request range: [1 2 3]
42+
>> AB concurrency range: [50 100]
43+
>> AB total requests per run: [1000]
44+
>> AB total runs: [6]
45+
>> Output file: [benchmark.csv]
46+
47+
>> [#1/6] Running stress test with 1000 requests with 1 transactions per request and 50 concurrency
48+
Completed 100 requests
49+
Completed 200 requests
50+
Completed 300 requests
51+
Completed 400 requests
52+
Completed 500 requests
53+
Completed 600 requests
54+
Completed 700 requests
55+
Completed 800 requests
56+
Completed 900 requests
57+
Completed 1000 requests
58+
Finished 1000 requests
59+
>>>> Success (83.23 requests/s)
60+
61+
>> [#2/6] Running stress test with 1000 requests with 1 transactions per request and 100 concurrency
62+
Completed 100 requests
63+
Completed 200 requests
64+
Completed 300 requests
65+
Completed 400 requests
66+
Completed 500 requests
67+
Completed 600 requests
68+
Completed 700 requests
69+
Completed 800 requests
70+
Completed 900 requests
71+
Completed 1000 requests
72+
Finished 1000 requests
73+
>>>> Success (80.68 requests/s)
74+
75+
>> [#3/6] Running stress test with 1000 requests with 2 transactions per request and 50 concurrency
76+
Completed 100 requests
77+
Completed 200 requests
78+
Completed 300 requests
79+
Completed 400 requests
80+
Completed 500 requests
81+
Completed 600 requests
82+
Completed 700 requests
83+
Completed 800 requests
84+
Completed 900 requests
85+
Completed 1000 requests
86+
Finished 1000 requests
87+
>>>> Success (57.50 requests/s)
88+
89+
>> [#4/6] Running stress test with 1000 requests with 2 transactions per request and 100 concurrency
90+
Completed 100 requests
91+
Completed 200 requests
92+
Completed 300 requests
93+
Completed 400 requests
94+
Completed 500 requests
95+
Completed 600 requests
96+
Completed 700 requests
97+
Completed 800 requests
98+
Completed 900 requests
99+
Completed 1000 requests
100+
Finished 1000 requests
101+
>>>> Success (60.61 requests/s)
102+
103+
>> [#5/6] Running stress test with 1000 requests with 3 transactions per request and 50 concurrency
104+
Completed 100 requests
105+
Completed 200 requests
106+
Completed 300 requests
107+
Completed 400 requests
108+
Completed 500 requests
109+
Completed 600 requests
110+
Completed 700 requests
111+
Completed 800 requests
112+
Completed 900 requests
113+
Completed 1000 requests
114+
Finished 1000 requests
115+
>>>> Success (42.86 requests/s)
116+
117+
>> [#6/6] Running stress test with 1000 requests with 3 transactions per request and 100 concurrency
118+
Completed 100 requests
119+
Completed 200 requests
120+
Completed 300 requests
121+
Completed 400 requests
122+
Completed 500 requests
123+
Completed 600 requests
124+
Completed 700 requests
125+
Completed 800 requests
126+
Completed 900 requests
127+
Completed 1000 requests
128+
Finished 1000 requests
129+
>>>> Success (45.60 requests/s)
130+
131+
>> Benchmark completed:
132+
133+
total_requests,concurrency,transactions/request,requests/s
134+
1000,50,1,83.23
135+
1000,100,1,80.68
136+
1000,50,2,57.50
137+
1000,100,2,60.61
138+
1000,50,3,42.86
139+
1000,100,3,45.60
140+
141+
```

0 commit comments

Comments
 (0)