2018-06-06 08:53:58 -04:00
|
|
|
# tm-bench
|
|
|
|
|
|
|
|
Tendermint blockchain benchmarking tool:
|
|
|
|
|
|
|
|
- https://github.com/tendermint/tools/tree/master/tm-bench
|
|
|
|
|
|
|
|
For example, the following:
|
|
|
|
|
2018-06-22 11:55:07 -04:00
|
|
|
tm-bench -T 10 -r 1000 localhost:26657
|
2018-06-06 08:53:58 -04:00
|
|
|
|
|
|
|
will output:
|
|
|
|
|
|
|
|
Stats Avg Stdev Max
|
2018-06-22 16:16:27 -07:00
|
|
|
Txs/sec 833 427 1326
|
|
|
|
Blocks/sec 0.900 0.300 1
|
|
|
|
|
2018-06-23 01:57:50 +02:00
|
|
|
These stats are derived by sending transactions at the specified rate for the
|
|
|
|
specified time. After the specified time, it iterates over all of the blocks
|
|
|
|
that were created in that time. The average and stddev per second are computed
|
|
|
|
based off of that, by grouping the data by second.
|
2018-06-06 08:53:58 -04:00
|
|
|
|
|
|
|
## Quick Start
|
|
|
|
|
|
|
|
[Install Tendermint](https://github.com/tendermint/tendermint#install)
|
|
|
|
|
|
|
|
then run:
|
|
|
|
|
|
|
|
tendermint init
|
|
|
|
tendermint node --proxy_app=kvstore
|
|
|
|
|
2018-06-22 11:55:07 -04:00
|
|
|
tm-bench localhost:26657
|
2018-06-06 08:53:58 -04:00
|
|
|
|
|
|
|
with the last command being in a seperate window.
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2018-06-22 18:22:30 -07:00
|
|
|
tm-bench [-c 1] [-T 10] [-r 1000] [-s 250] [endpoints]
|
2018-06-06 08:53:58 -04:00
|
|
|
|
|
|
|
Examples:
|
2018-06-22 11:55:07 -04:00
|
|
|
tm-bench localhost:26657
|
2018-06-06 08:53:58 -04:00
|
|
|
Flags:
|
|
|
|
-T int
|
|
|
|
Exit after the specified amount of time in seconds (default 10)
|
|
|
|
-c int
|
|
|
|
Connections to keep open per endpoint (default 1)
|
|
|
|
-r int
|
|
|
|
Txs per second to send in a connection (default 1000)
|
2018-06-22 18:22:30 -07:00
|
|
|
-s int
|
|
|
|
Size per tx in bytes
|
2018-06-06 08:53:58 -04:00
|
|
|
-v Verbose output
|
|
|
|
|
|
|
|
## Development
|
|
|
|
|
|
|
|
make get_vendor_deps
|
|
|
|
make test
|