Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。本博文只做Apache JMeter压力测试方面的探讨和示例,jmeter版本为5.4.1。
二、监听器插件安装和使用
1、下载插件
官方网站下载监听器插件,下载地址
三、参数项说明
1、聚合报告参数说明
- Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值。
- Samples:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100。
- Average:平均响应时间——默认情况下是单个 Request 的平均响应时间(ms),当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间。
- Median:中位数,也就是 50% 用户的响应时间
- 90% Line:90% 用户的响应时间
- 95% Line:95% 用户的响应时间
- 99% Line:99% 用户的响应时间
- Min:最小响应时间
- Max:最大响应时间
- Error%:错误率——错误请求数/请求总数
- throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second)
- Receive KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
- Send KB/Sec:每秒从服务器端发送到的数据量
2、jmeter命令参数说明
- -h 帮助 -> 打印出有用的信息并退出
- -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
- -t 测试文件 -> 要运行的 JMeter 测试脚本文件
- -l 日志文件 -> 记录结果的文件
- -r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器
- -H 代理主机 -> 设置 JMeter 使用的代理主机
- -P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
- -j 日志文件 -> 设置日志文件
- -o 输出文件目录 -> 设置输出文件存储目录
3、配置元件说明
- 作用
配置元件(Config Element)提供对静态数据配置的支持,可以为取样器设置默认值和变量。
- 作用域
配置元素只能被元素所在的树枝上的元素访问; 子树的配置元件比父级别的配置元件优先级高。
- 执行顺序
配置元件在它所在层级是第一个执行。即在最开始被执行,在相同范围内的任何取样器之前执行。
四、QA
1、为什么启动jmeter时提示不要使用图形化模式进行测试?