Jmeter
Jmeter简介
Jmeter的基本概念
Apache JMeter是Apache组织开发的基于Java的开源压力测试工具。
(1)压力测试及性能测试;
(2)数据库测试;
(3)Java程序的测试;
(4)HTTP及FTP测试;
(5)Web Service测试;
还能以多种形式展现测试结果
我们为什么使用Jmeter
开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件
支持接口测试,压力测试等多种功能,支持录制回放,入门简单
相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试
多平台支持,可在Linux,Windows,Mac上运行
Jmeter安装配置
Windows下Jmeter下载安装
登录 http://jmeter.apache.org/ ,根据自己平台,下载对应文件
下载zip文件,进行解压
Jmeter的目录结构
/bin 目录(常用文件介绍)
examples:目录下包含Jmeter使用实例
ApacheJMeter.jar:JMeter源码包
jmeter.bat:windows下启动文件
jmeter.sh:Linux下启动文件
jmeter.log:Jmeter运行日志文件
jmeter.properties:Jmeter配置文件
jmeter-server.bat:windows下启动负载生成器服务文件
jmeter-server:Linux下启动负载生成器文件
/docs目录——Jmeter帮助文档
/extras目录——提供了对Ant的支持文件,可也用于持续集成
/lib目录——存放Jmeter依赖的jar包,同时安装插件也放于此目录
/licenses目录——软件许可文件,不用管
/printable_docs目录——Jmeter用户手册
Jmeter使用
直接管理员启动/lib/jmeter.bat
注意:如果出现 “Not able to find Java executable or version. Please check your Java installation . errorlevel=2 请按任意键继续. . .” 请安装jdk,安装方法如下:jdk安装
测试计划:整个测试计划;
线程组:所有的任务都是基于线程组,开通多少个线程就代表有多少个并发用户;
Ramp-Up Period:在这么多时间内完成全部测试,比如开了2个线程,而Ramp-Up Period为3,则每个线程的间隔为1.5秒;
Sampler:所有的测试任务都是Sampler,即任何测试任务的类别都是Sampler,比如HTTP请求、JDBC请求、FTP请求;
断言:对Sampler的测试进行判断是否正确;
监听器:对Sampler的请求结果进行统计、显示;
常用的层次结构为:
常用的组件有:
HTTP请求:模拟HTTP请求;
查看结果树:对于每个请求,可以查看HTTP请求和HTTP响应;
图形结果:可以图形显示吞吐量、响应时间等;
聚合报告:总体的吞吐量、响应时间;
1、Label: 定义的HTTP请求名称
2、Samples: 表示这次测试中一共发出了多少个请求
3、Average: 访问页面的平均响应时间
4、Min: 访问页面的最小响应时间
5、Max: 访问页面的最大响应时间
6、Error%: 错误的请求的数量/请求的总数
7、Throughput:每秒完成的请求数
8、KB/Sec: 每秒从服务器端接收到的数据量
测试实例
JMeter里面的元件很多,逻辑控制器,配置元件,定时器,Sampler,监听器等等,先给出一个实例,慢慢了解元件的使用方法。测试一个网站,我们至少需要:用户,发送请求,查看结果这三个过程。
1.添加线程组(用户)
在“测试计划”上右键,选择“添加”---“Thread Users”---“线程组”,如下图所示:
其中,对我们有影响的参数是线程数(设置发送请求的用户数目),Ramp-up period: 每个请求发生的总时间间隔,单位是秒,循环次数(请求发生的重复次数)。如果我们需要JMeter模拟五个请求者(也就是五个线程),每个请求者连续请求两次,则如下图设置:详细描述:jmeter详述
2.添加请求
我们要访问一个网页,比如是百度首页,则是http请求,则添加http请求,在线程组上右键---“添加”---“Sampler”---“HTTP请求”
http请求的属性值中“Web服务器名称或IP”填写www.baidu.com就可以了:如下图所示:详细描述:jmeter详述
3.添加监视器
监视器的种类很多,根据自己的需要添加,我们选择“查看结果树”。在线程组-http请求上右键---“添加”---“监视器”---“查看结果树”,如下图所示:
暂时不需要做其他设置
4.测试运行
点击查看结果树,查看结果