Closed jpraynaud closed 1 month ago
[!NOTE] run on GCP with
e2-highmem-2
machine with2
vCPUs and15GB
of RAM not during Cardano database snapshotting
total_requests | concurrency | transactions/request | requests/s |
---|---|---|---|
500 | 50 | 1 | 58.71 |
500 | 50 | 10 | 49.19 |
500 | 50 | 20 | 39.17 |
500 | 50 | 30 | 34.11 |
500 | 50 | 40 | 29.21 |
500 | 50 | 50 | 24.39 |
# Aggregator endpoint
export AGGREGATOR_ENDPOINT=https://aggregator.pre-release-preview.api.mithril.network/aggregator
export TRANSACTIONS_FILE=transactions-preview.txt
export TRANSACTIONS_PER_REQUEST_MIN=0 export TRANSACTIONS_PER_REQUEST_MAX=50 export TRANSACTIONS_PER_REQUEST_STEP=10
export AB_TOTAL_REQUESTS=500
export AB_CONCURRENCY_MIN=50 export AB_CONCURRENCY_MAX=50 export AB_CONCURRENCY_STEP=50
./benchmark-aggregator-prover.sh
- Command result:
```bash
MITHRIL AGGREGATOR PROVER ROUTE BENCHMARK
>> Aggregator endpoint: https://aggregator.pre-release-preview.api.mithril.network/aggregator
>> Aggregator route: /proof/cardano-transaction
>> Transactions file: transactions-preview.txt
>> Transactions available: [100]
>> Transactions per request range: [0 10 20 30 40 50]
>> AB concurrency range: [50]
>> AB total requests per run: [500]
>> AB total runs: 6
>> Output file: benchmark.csv
>> [#1/6] Running stress test with 500 requests with 1 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (58.71 requests/s)
>> [#2/6] Running stress test with 500 requests with 10 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (49.19 requests/s)
>> [#3/6] Running stress test with 500 requests with 20 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (39.17 requests/s)
>> [#4/6] Running stress test with 500 requests with 30 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (34.11 requests/s)
>> [#5/6] Running stress test with 500 requests with 40 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (29.21 requests/s)
>> [#6/6] Running stress test with 500 requests with 50 transactions per request and 50 concurrency
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests
>>>> Success (24.39 requests/s)
>> Benchmark completed:
total_requests,concurrency,transactions/request,requests/s
500,50,1,58.71
500,50,10,49.19
500,50,20,39.17
500,50,30,34.11
500,50,40,29.21
500,50,50,24.39
Why
In order to deploy new features, improvements and bug fixes, we need to release a new distribution.
What
Create and release a new distribution
2437
Distribution +1:
Distribution +2:
How
Phase 1: Prepare distribution
Test backward compatibility with previous signer version(s)crates.io
(mithril-common
,mithril-client
)networks.json
must be updated following the runbookCHANGELOG.md
(set the distribution version)Phase 2: Rollout pre-release distribution
2437.0-pre
pre-release distribution on thepre-release-preview
networkpre-release-preview
is working as expectedpre-release-preview
:9.1.1
pre-release-preview
deployment in the CIpre-release-preview
is working as expectednext
have been published on npm registryMake sure that there is no performance drop since last release3
signers running the new version (could be more if era change is tested) over at least2
epochsPhase 2: Rollout pre-release distribution fix
2437.1-pre
pre-release distribution on thepre-release-preview
networkpre-release-preview
is working as expected3
signers running the new version (could be more if era change is tested) over at least2
epochsPhase 4: Rollout release distribution
2437.1
release distribution on thepre-release-preview
networkpre-release-preview
is working as expectedrelease-mainnet
:9.1.1
inrelease-mainnet
2437.1
distributionrelease-mainnet
is working as expectedrelease-preprod
is working as expectedrelease-preprod
:9.1.1
inrelease-preprod
release-preprod
deployment in the CIrelease-preprod
is working as expectedlatest
have been published on npm registryCHANGELOG.md
(updating the release date of the distribution and the versions table)Phase 5: Activate features
pre-release-preview
:15
from tip of chain and every15
blocksrelease-mainnet
release-mainnet
deployment in the CIrelease-mainnet
is working as expectedrelease-mainnet