压力测试工具以前了解过apache
内置的ab
压力测试工具,但是用起来不是很方便,上网查了一下,了解到有一个工具叫做JMeter
。
安装JDK
因为Jmeter
是使用Java
开发的,所以需要我们本地有Java
运行环境(jre
)。我不是开发这个,所以直接下载JDK
(开发环境+运行环境)
- 进入官网https://www.oracle.com/technetwork/java/javase/downloads/index.html
- 选择
JDK
下载
- 同意协议,下载对应的平台。我的是
Windows
平台,选择这个。
- 下载完成后,点击安装,全部默认配置,直接完成。(记住安装的目录)
配置环境变量
* 找到刚才的安装目录,并进入`bin`目录,复制整个目录路径
- 右键桌面计算机 -> 属性
- 高级系统设置 -> 环境变量 -> 系统变量 -> 选择 Path -> 编辑
- 把之前复制的目录放入环境变量
这时候打开命令行输入java --version
,没有报错,就是配置成功了
安装JMeter
http://jmeter.apache.org/download_jmeter.cgi
- 下载好之后解压放到你安装软件的目录(
JMeter
不需要安装,类似于绿色软件),并进入解压后的bin
目录内,找到jmeter.bat
双击即可运行该软件
- 配置默认中文,修改
jmeter.properties
文件中的language
为zh_CN
即可
使用
- 文件->新建,可以为该计划命名
- 添加线程组
- 对线程组配置(按需配置)
线程数
: 200 代表并发 200Ramp-Up时间
:代表每秒启动的线程数,我图中是 2,代表每秒 100 并发
循环次数:5
最后请求总数等于:线程数 * 循环次数
- 添加
HTTP
请求
- 按需配置请求
- 可以添加更多的响应处理结果
- 点击运行,它会提示你是否要保存计划文件,你可以保存到任意位置(保存之后下次可以继续使用这个计划)
- 之后可以查看测试结果了(因为太多,直接点了停止,只测试了一部分)
最后附上聚合报告的参数说明:主要看吞吐量
Label----每个请求的名称,比如HTTP请求等
# Samples----发给服务器的请求数量
Average----单个请求的平均响应时间
Median----50%请求的响应时间
90%Line----90%请求响应时间
95%Line----95%请求响应时间
99%Line----99%请求的响应时间
Min----最小的响应时间
Max----最大的响应时间
Error%----错误率=错误的请求的数量/请求的总数
Throughput----吞吐量即表示每秒完成的请求数
Received KB/sec----每秒从服务器端接收到的数据量
Sent KB/sec----每秒从客户端发送的请求的数量