Apache JMeter

简介

Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。

下载安装

  1. http://jmeter.apache.org 下载最新版本的JMeter,解压文件到任意目录
  2. 安装JDK,配置环境变量JAVA_HOME.
  3. 系统要求:JMeter2.11 需要JDK1.6以上的版本支持运行
  4. JMeter可以运行在如下操作系统上:Unix,Windows和Open VMS.

数据库压力测试流程

  1. 启动jmter,在open里打开 mongodb.jmx
  2. 修改mongodb source config 主要修改 MongoDB Connection里的 Server Address List: 127.0.0.1:27017 (服务器地址)MongoDB Source:testmongodb(自定义的名字,后面的测试脚本中要用到这个name)
  3. Thread Group 修改 Number of Threads(Users) 数量,Loop Count:(循环次数)
  4. 点击Thread Group 展开,修改测试脚本,MongoDB Source 填写刚定义的名字 testmongodb, Database Name: process(测试用到的数据库)
  5. 可以在这里添加多个脚本,在脚本上右键 可以启用,禁用它
  6. 点击展开脚本(或在脚本上右键,添加 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