Added local blockchain sync benchmark script
This commit is contained in:
parent
2802a06a08
commit
6a5254c475
|
@ -0,0 +1,2 @@
|
||||||
|
data
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DATA=$GOPATH/src/github.com/tendermint/tendermint/benchmarks/blockchain/data
|
||||||
|
if [ ! -d $DATA ]; then
|
||||||
|
echo "no data found, generating a chain... (this only has to happen once)"
|
||||||
|
|
||||||
|
tendermint init --home $DATA
|
||||||
|
cp $DATA/config.toml $DATA/config2.toml
|
||||||
|
echo "
|
||||||
|
[consensus]
|
||||||
|
timeout_commit = 0
|
||||||
|
" >> $DATA/config.toml
|
||||||
|
|
||||||
|
echo "starting node"
|
||||||
|
tendermint node \
|
||||||
|
--home $DATA \
|
||||||
|
--proxy_app dummy \
|
||||||
|
--p2p.laddr tcp://127.0.0.1:56656 \
|
||||||
|
--rpc.laddr tcp://127.0.0.1:56657 \
|
||||||
|
--log_level error &
|
||||||
|
|
||||||
|
echo "making blocks for 60s"
|
||||||
|
sleep 60
|
||||||
|
|
||||||
|
mv $DATA/config2.toml $DATA/config.toml
|
||||||
|
|
||||||
|
kill %1
|
||||||
|
|
||||||
|
echo "done generating chain."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# validator node
|
||||||
|
HOME1=$TMPDIR$RANDOM$RANDOM
|
||||||
|
cp -R $DATA $HOME1
|
||||||
|
echo "starting validator node"
|
||||||
|
tendermint node \
|
||||||
|
--home $HOME1 \
|
||||||
|
--proxy_app dummy \
|
||||||
|
--p2p.laddr tcp://127.0.0.1:56656 \
|
||||||
|
--rpc.laddr tcp://127.0.0.1:56657 \
|
||||||
|
--log_level error &
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# downloader node
|
||||||
|
HOME2=$TMPDIR$RANDOM$RANDOM
|
||||||
|
tendermint init --home $HOME2
|
||||||
|
cp $HOME1/genesis.json $HOME2
|
||||||
|
printf "starting downloader node"
|
||||||
|
tendermint node \
|
||||||
|
--home $HOME2 \
|
||||||
|
--proxy_app dummy \
|
||||||
|
--p2p.laddr tcp://127.0.0.1:56666 \
|
||||||
|
--rpc.laddr tcp://127.0.0.1:56667 \
|
||||||
|
--p2p.seeds 127.0.0.1:56656 \
|
||||||
|
--log_level error &
|
||||||
|
|
||||||
|
# wait for node to start up so we only count time where we are actually syncing
|
||||||
|
sleep 0.5
|
||||||
|
while curl localhost:56667/status 2> /dev/null | grep "\"latest_block_height\": 0," > /dev/null
|
||||||
|
do
|
||||||
|
printf '.'
|
||||||
|
sleep 0.2
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "syncing blockchain for 10s"
|
||||||
|
for i in {1..10}
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
HEIGHT="$(curl localhost:56667/status 2> /dev/null \
|
||||||
|
| grep 'latest_block_height' \
|
||||||
|
| grep -o ' [0-9]*' \
|
||||||
|
| xargs)"
|
||||||
|
let 'RATE = HEIGHT / i'
|
||||||
|
echo "height: $HEIGHT, blocks/sec: $RATE"
|
||||||
|
done
|
||||||
|
|
||||||
|
kill %1
|
||||||
|
kill %2
|
||||||
|
rm -rf $HOME1 $HOME2
|
Loading…
Reference in New Issue