Apache JMeter
简介
Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。
下载安装
- http://jmeter.apache.org 下载最新版本的JMeter,解压文件到任意目录
- 安装JDK,配置环境变量JAVA_HOME.
- 系统要求:JMeter2.11 需要JDK1.6以上的版本支持运行
- JMeter可以运行在如下操作系统上:Unix,Windows和Open VMS.
数据库压力测试流程
- 启动jmter,在open里打开 mongodb.jmx
- 修改mongodb source config 主要修改 MongoDB Connection里的 Server Address List: 127.0.0.1:27017 (服务器地址)MongoDB Source:testmongodb(自定义的名字,后面的测试脚本中要用到这个name)
- Thread Group 修改 Number of Threads(Users) 数量,Loop Count:(循环次数)
- 点击Thread Group 展开,修改测试脚本,MongoDB Source 填写刚定义的名字 testmongodb, Database Name: process(测试用到的数据库)
- 可以在这里添加多个脚本,在脚本上右键 可以启用,禁用它
- 点击展开脚本(或在脚本上右键,添加 listener view Result Tree,Graph Results
JMeter聚合报告参数注释:
- Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
- Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
- Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间(单位是毫秒)
- Median:中位数,也就是 50% 用户的响应时间(单位是毫秒)
- 90% Line:90% 用户的响应时间(单位是毫秒)
- Note:关于 50% 和 90% 并发用户数的含义,请参考下文
- Min:最小响应时间(单位是毫秒)
- Max:最大响应时间(单位是毫秒)
- Error%:本次测试中出现错误的请求的数量/请求的总数
- Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的Transaction per Second 数(单位是秒)
- KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec