性能测试工具集锦
文章目录
本周的工作中需要对一套部署好的redis集群进行性能测试,在这个过程中用到了几个工具,这里对这些工具的用法记录一下。
sar
我们拿到一台虚拟机,在使用之前可以先用sar看一下该虚拟机目前的性能概况。使用方法如下:
$ sudo yum install -y sysstat # 安装sysstat包
$ sar -u 5 # Report CPU utilization every 5 seconds
$ sar -r 5 # Report Memory utilization every 5 seconds
$ sar -B 5 # Report paging statistics every 5 seconds
$ sar -d -p 5 # Report activity for each block device every 5 seconds
$ sar -d -p 5 # Report activity for each block device every 5 seconds
$ sar -n ALL 5 # Report network statistics every 5 seconds
后面如果出现性能问题,还可以随时执行以上命令查看系统状况。sar的完整命令行参数可参考这里。
iperf3
如果工作涉及多台服务器之间的通讯,可以在具体工作前使用iperf3
这个工具对服务器之间的网络性能测量一下,心里对网络性能也有个底。使用方法如下:
$ sudo yum install -y iperf3
$ iperf3 --server # 在服务端启动Server
$ iperf3 --client $server_ip --bandwidth 10M --bytes 300 # 使用10Mbit/s的带宽,发送的报文长度为300 Bytes
$ iperf3 --client $server_ip --udp # 测试UDP传输的性能
有了iperf3的输出,我们对服务器之间的网络状况更加信心了。iperf3的完整命令行参数可参考这里。
redis-benchmark
redis本身带了一个叫redis-benchmark
的工具,用它可以测量一下部署的redis的性能指标。使用方法如下:
$ redis-benchmark -h ${redis_ip} -p ${redis_port} -c 50 -n 10000 -d 20 -r 10000 -P 30 # 50并发连接,共总10000个请求,set/get的数据大小为20,存取的键在10000间随时变动(避免热写某一个键值),每30条命令作为一个pipeline执行
redis-benchmark的完整命令行参数可参考这里。
参考
- https://www.linuxtechi.com/generate-cpu-memory-io-report-sar-command/
- https://blog.51cto.com/dingtongxue1990/1854124
- http://ghoulich.xninja.org/2016/11/17/how-to-use-redis-benchmark-to-measure-performance/
- https://www.computerhope.com/unix/usar.htm
- https://iperf.fr/iperf-doc.php
- https://redis.io/topics/benchmarks
文章作者 Jeremy Xu
上次更新 2019-05-22
许可协议 © Copyright 2020 Jeremy Xu