tm-load-test测试kvstore流程:1.在workspace目录下载源码
git clone https://github.com/informalsystems/tm-load-test.gitnote:tm-load-test v1.3.0要求GO v1.20
2.编译
make在tm-load-test/build目录下生成tm-load-test二进制文件
3.将tm-load-test移动到gobin目录下
mv ~/workspace/tm-load-test/build/tm-load-test ~/env/gobin4.tendermint启动kvstore应用实例
docker-compose up5.Standalone模式测试kvstore
//-c同时打开到每个端点的连接数(默认为1)//-T,--time int处理负载测试的持续时间(以秒为单位)(默认为60)// -r, --rate int到每个端点的每个连接上每秒要生成的交易数(默认为1000)//-s, --size int 每个交易的大小(以字节为单位)必须大于40(默认为250)tm-load-test -c 1 -T 10 -r 1000 -s 250 --broadcast-tx-method async --endpoints ws://127.0.0.1:26657/websocket若要生成测试数据输出文件:
tm-load-test -c 1 -T 10 -r 1000 -s 250 --broadcast-tx-method async --endpoints ws://tm-endpoint1.somewhere.com:26657/websocket --stats-output ~/workspace/tm-load-test/stats.csv测试结果如下:
stats文件
CPUs: 16
Total Memory: 7.596GiB
插槽:1(表示在主机主板上只有一个CPU插槽,也代表只有一个CPU) 内核:4(表示当前每一个CPU内部里面独立出来的内部处理核心,一个CPU里面有4个内核) 逻辑处理器:8(涉及到超线程HT的技术,表示一个内核可以模拟出多个逻辑内核&核心,即4核8线程)
8个内核: 16个逻辑处理器 : 一个内核可以模拟出多个逻辑内核&核心,8核16线程 12个内核 : 16个逻辑处理器:
docker容器与宿主机交互: docker-compose操作如下
extra_hosts:
“host.docker.internal:host-gateway”daemon.json文件:
为什么cpu的利用率可以超过100%?
CPU利用率超过100%是可能的,因为CPU利用率的计算方法可以引起这种情况。