Featured image of post 使用 JMeter 工具进行压力测试

使用 JMeter 工具进行压力测试

压力测试工具有很多, ab 也是很常用的一个, 这次来试试 JMeter

压力测试工具以前了解过apache内置的ab压力测试工具,但是用起来不是很方便,上网查了一下,了解到有一个工具叫做JMeter

安装JDK

因为Jmeter是使用Java开发的,所以需要我们本地有Java运行环境(jre)。我不是开发这个,所以直接下载JDK(开发环境+运行环境)

配置环境变量

* 找到刚才的安装目录,并进入`bin`目录,复制整个目录路径

  • 右键桌面计算机 -> 属性
  • 高级系统设置 -> 环境变量 -> 系统变量 -> 选择 Path -> 编辑
  • 把之前复制的目录放入环境变量

    这时候打开命令行输入java --version,没有报错,就是配置成功了

安装JMeter

http://jmeter.apache.org/download_jmeter.cgi

  • 下载好之后解压放到你安装软件的目录(JMeter不需要安装,类似于绿色软件),并进入解压后的bin目录内,找到jmeter.bat双击即可运行该软件
  • 配置默认中文,修改jmeter.properties文件中的languagezh_CN即可

使用

  • 文件->新建,可以为该计划命名
  • 添加线程组
  • 对线程组配置(按需配置)
    • 线程数: 200 代表并发 200
    • Ramp-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----每秒从客户端发送的请求的数量