Files
tendermint/tm-bench
Anton Kaliaev 08166b05f5 [tm-bench] use plain ws connection instead of go-rpc (Refs #9, Fixes #14)
Also:
- use go-kit/log

Reasoning:
I found that we just don't need this layer of abstraction here. Plus
go-rpc is buggy and lacking proper closing of ws connections.
2017-03-23 19:55:01 +04:00
..
2017-03-23 19:45:03 +04:00
2017-03-16 19:01:56 +04:00
2017-03-16 20:53:09 +04:00
2017-03-16 19:01:56 +04:00
2017-03-23 19:45:03 +04:00
2017-03-17 14:54:27 +04:00

Tendermint blockchain benchmarking tool (tm-bench)

tm-bench is a simple benchmarking tool for Tendermint core nodes.

λ tm-bench -T 10 -r 1000 localhost:46657
Stats             Avg        Stdev      Max
Block latency     6.18ms     3.19ms     14ms
Blocks/sec        0.828      0.378      1
Txs/sec           963        493        1811

QuickStart using Docker

docker run -it --rm -v "/tmp:/tendermint" tendermint/tendermint init
docker run -it --rm -v "/tmp:/tendermint" -p "46657:46657" --name=tm tendermint/tendermint

docker run -it --rm --link=tm tendermint/bench tm:46657

QuickStart using binaries

Linux:

curl -L https://s3-us-west-2.amazonaws.com/tendermint/0.8.0/tendermint_linux_amd64.zip && sudo unzip -d /usr/local/bin tendermint_linux_amd64.zip && sudo chmod +x tendermint
tendermint init
tendermint node --app_proxy=dummy

tm-bench localhost:46657

Max OS:

curl -L https://s3-us-west-2.amazonaws.com/tendermint/0.8.0/tendermint_darwin_amd64.zip && sudo unzip -d /usr/local/bin tendermint_darwin_amd64.zip && sudo chmod +x tendermint
tendermint init
tendermint node --app_proxy=dummy

tm-bench localhost:46657

Usage

tm-bench [-c 1] [-T 10] [-r 1000] [endpoints]

Examples:
        tm-bench localhost:46657
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)