JMeter学习概要
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JMeter工具
1.Jmeter的基本介绍
官网:/
JMeter是Apache组织开发的基于Java的压力测试工具,开源的性能测试工具。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
Jmeter插件:/
Jmeter不需要安装,直接从网站上下载二进制包,解压到任意目录下即可使用,可以在Windows、Linux和Mac等平台上运行,在Windows上需要执行bin目录下的jmeter.bat;在Linux平台上需要执行bin目录下的jmeter.sh。
1.1.断言
断言就类似LoadRunner中的检查点。对上一个请求返回的信息,做字符串、数据包大小、HTML、XML、图片等做判断,确保返回的信息的准确性。
在每个http请求下,添加响应断言,如:登录做断言,就是登录后的界面中包含的字符、或数据等(已登录)
1.2.配置元件
配置元件的作用:用于提供对静态数据配置的支持。
1)HTTP Cookie 管理器:负责管理整个测试过程中使用的cookie,它不需要设置任何属性。
2)CSV Data Set config 可以将本地数据文件形成数据池,参数化设置。1.3.定时器
定时器用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。
1)固定定时器:设置线程延迟XX毫秒,延迟3秒在执行登录操作
作用是:调整每个请求的频率。
1.4.监听器
监听器的作用:以各种不同方式收集测试结果
1)jp@gc - Response Times Over Time:响应时间
这个图表将显示为每个采样器的平均响应时间,以毫秒为单位,正常情况如下:
2)jp@gc - Hits per Second:服务器每秒点击率
3)jp@gc - PerfMon Metrics Collector:服务器性能监测控件,包括cpu,
memory内存,network I/O网络I/O,Disks I/O磁盘I/O等。
4)聚合报告
Label:说明是请求类型,如Http,FTP等请求。
Samplers:请求所发的数量,总共发送到服务器的样本数目;
Average:平均响应时间,做压力负载等测试的一个参考依据,是否在可接受的范围内。总运行时间除以发送到服务器的请求数;
Median:图形报表中的中间值,代表时间的数字,有一半的服务器响应时间低于该值,而另一半高于该值;即50 %用户的响应时间
90%line:是指90%请求的响应时间比所得数值还要小(90%用户的响应时间)Min:最小的响应时间;
Max:最大的响应时间;
Error%:请求的错误百分比;
Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求;QPS 如下:退出平均每分钟31.6次;
KB/sec:是每秒钟请求的字节数。
5)用表格查看结果
各属性如下:
Sample:每个请求的序号;
Start Time:每个请求的开始时间;
Thread Time:每个线程的名称;
Label:Http请求名称;
Sample Time:每个请求所花时间,单位为毫秒;
Status:请求状态,如果为勾表示成功,如果为叉表示失败;
Bytes:请求的字节数;
样本数目:上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数。
平均:每个线程请求的平均时间;
最新样本:表示服务器响应最后一个请求的时间;
偏离:服务器响应时间的变化,离散程度测量值的带下,或者说数据的分布。值越小越好,一般几百。
6)察看结果树,一般作为调试用,到真正需要执行查看图形分析时,把它禁止掉。
7)jp@gc - Uploader:上传
1.5.Sampler
1)JSR223 Sampler 当前使用是获取并打印查看正则表达式提取的数值,如:
可通过查看打印日志:选项--》Log Viewer
2.简单的JMeter使用
操作如下:
第一步:添加“线程组”,设置线程组参数;
( 如果多于1个线程组,执行时是并行执行的)
平均点击率(如何计算),并用总线程除点击率来计算初始的ramp-up period。例如,假设线程数为100,估计的点击率为每秒10次,那么估计的理想ramp-up period 就是100/10 = 10 秒。那么应怎样来提出一个合理的估算点击率呢?没有什么好办法,必须通过运行一次测试脚本来获得。
(若ramp-up period 为零,JMeter 将立即建立所有线程)
第二步:添加HTTP COOKie 管理器(配置元件里),网站有登录限制的需要用到记录用户信息。
第三步:线程组-->添加sampler-->HTTP请求,见图2;
一个Sampler通常进行3部分工作:向服务器发送请求、记录服务器的响应数据和记录响应时间信息;
请求方法一般使用POST,Get不安全;
图2 第四步:HTTP请求->添加监听器->查看结果树或用表格查看结果、聚合报告等;
第五步:运行查看结果。
2.1.参数化设置
参数化:指对每次发起的请求,参数名称相同,参数值进行替换,如登录三
次系统,每次用不同的用户名和密码。
2.1.1.从csv文件读取(CSV Data Set Config)
步骤: