44uk / catapult-loadtest

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Catapult LoadTest Scripts

Usage

Create privateKeys.json from addresses.yaml.

Collect privateKeys for creating signed transactions.

cp /path/to/build/generated-addresses/addresses.yaml .
cat addresses.yaml | yq '[.nemesis_addresses[0:20][].private]' > privateKeys.json

Using yq is pretty convenient.

Generate Payloads

Pass number of payloads you want to create.

# go, very faster than nodejs. It is worth to setup go environment!
time go run payloadGenerator.go -f ./privateKeys.json -n 10000 > payloads.txt

# nodejs, 2nd argument means number of payload. Verrrry slow. Not recommended.
time node payloadGenerator.js ./privateKeys.json 10000 > payloads.txt

Execute load test

node loadTest.js ./payload.txt http://localhost:3000

Get block data

node blocks.js http://localhost:3000 > data.csv

You can get data like below.

832,89039100,11066
831,89039081,11351
830,89039062,7397
829,89039045,13664
828,89039022,10205
827,89039006,11509
826,89038988,2575
825,89038972,12177
824,89038956,2971
823,89038935,622
822,89038925,12863
821,89038904,1977

Aggregate them as you like.

Thank you for supporting me

About


Languages

Language:JavaScript 71.1%Language:Go 28.9%