目录
- 一、性能测试工具
- 二、wrk
- 1.安装wrk
- 2.wrk参数选项
- 3.wrk演练
- 4.用wrk做性能测试得到的结果
- 三、wrk性能报告
一、性能测试工具
性能测试:需要使用工具。
性能测试工具:企业中主流性能测试工具是jmeter。
「jmeter」:java开发的、开源的、能够使用线程的这种方式、学习成本很低。
能做接口、自动化、性能测试。第三方的性能测试工具能从jmeter扩展。
「loadrunner」:商业版loadrunner, 要付费购买并发用户数,脚本是c语言,性能比较好,性能指标值比较准确,性能测试的标杆软件。
「wrk」:快速响应性能测试工具,但是不能做很复杂事情。
「ab」:快速响应性能测试工具,但是不能做很复杂事情。
「ngrinder」:做性能测开平台、性能工程的平台(groovy、jython)。
「python locust」:python语言进行性能测试。
网络适配器:选择nat模式。
二、wrk
1.安装wrk:
代码语言:javascript复制
# 全空系统,初始化安装的一些软件。
yum install git vim gcc wget unzip -y
# 使用git下载wrk的源码。
git clone https://gitee.com/mirrors/wrk.git
# 安装make,防止系统没有make这个命令。
yum install make -y
cd wrk/
make
# 验证wrk是否安装成功。
./wrk -v
2.wrk参数选项:
图片来自网络:重点关注-c,-d,-t这3个参数。
「线程数:」 同时允许的并发数是多少。
「连接数:」 客户端和服务端一直保持着网络连接,没有断开网络连接的数量有多少。
3.wrk演练:
代码语言:javascript复制get请求:1:./wrk -t4 -c100 -d60s --latency https://www.baidu.com/
2:看当前有多少个线程数:
top -H |grep wrk
3:查看当前有多少个处于建立的连接:
netstat -ane|grep 网站ip | grep ESTABLISHED |wc -l
post请求:./wrk -t4 -c 100 -d 60s ./data.lua --latecy
http://192.168.114.131:8080/app/mobile/api/user/login
data.lua文件:
wrk.method="POST'
wrk.headers“Content-Type”="application/json’
wrk.body="{"mobilephonel”:"1356778877","pwd”:"123456"}'
4.用wrk做性能测试得到的结果:
代码语言:javascript复制[root@centos7 wrk]# ./wrk -t4 -c100 -d60s --latency https://www.baidu.com/
Running 1m test @ https://www.baidu.com/
4 threads and 100 connections
Thread Stats Avg Stdev Max /- Stdev
Latency 330.39ms 165.67ms 1.87s 85.44%
Req/Sec 77.72 34.75 200.00 66.05%
Latency Distribution
50% 270.19ms
75% 353.73ms
90% 562.05ms
99% 944.58ms
18472 requests in 1.00m, 276.92MB read
Socket errors: connect 0, read 4, write 0, timeout 5
Requests/sec: 307.47
Transfer/sec: 4.61MB
得到的这些值,都是平均值。因为并发用户数没有变,所以得到的平均值是有参考价值的。
三、wrk性能报告
Thread Status:
- Avg平均响应,Stdev标准方差,Max最大值, /-Stdev偏差比。
- Latency 响应时间分布。
- Reg/sec每秒请求数。
文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。「文章是清菡编写的,如有转载,请标明出处!」