本文介绍性能测试工具JMeter及JMeter的使用。
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。– 百度百科https://baike.baidu.com/item/Jmeter/3104456
安装
- Mac:终端执行
brew install jmeter
启动
- Mac:终端执行
jmeter
执行启动命令:
启动成功:
配置语言为简体中文:Options -> Choose Language -> Chinese(Simplified)
创建Web测试脚本
- 右击左侧列表的Test Plan -> 添加 -> 线程(用户) -> 线程组
- 修改线程组名称、线程数
- 右击左侧列表的线程组名称 -> 添加 -> 取样器 -> HTTP请求
- 保存
- 配置要测试的地址信息
- 右击左侧列表的线程组名称 -> 添加 -> 监听器 -> 查看结果树
- 修改结果树名称
执行脚本
点击绿色的开始按钮
报告分析
- Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
- # Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
- Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以 Transaction 为单位显示平均响应时间
- Min:最小响应时间
- Max:最大响应时间
- Std.Dev.:
- Error%:本次测试中出现错误的请求的数量/请求的总数
- Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
- KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec