一、下载
登录官网Jmeter下载
下载地址:
http://jmeter.apache.org/download_jmeter.cgi
二、安装
将下载得到的压缩包解压即可
三、运行
点击bin目录下的jmeter.bat即可启动Jmeter。
三、启动后可以看到一个java编写的图形界面。
四、一个简单的压测实例
1、新建一个线程组
2、设置线程组参数。这里配置为:10个线程,同时启动,循环一次。
3、添加要压测的http请求
4、新增监听器,用于查看压测结果。
这里添加三种:聚合报告、图形结果、用表格查看结果,区别在于结果展现形式不同。
5、点击运行按钮开始压测,并查看结果
聚合报告
Label:httpRequest name属性值。
样本(Samples):测试的过程中一共发出了多少个请求即总线程数,(如果模拟10个用户,每个用户迭代10次,这里就显示100),对应图形报表中的样本数目。
平均值(Average):单个Request的平均响应时间,计算方法是总运行时间除以发送到服务器的总请求数,对应图形报表中的平均值。
中位值(Median):50%用户的响应时间。
90%Line:90%用户的响应时间。
最小值(Min):服务器响应的最短时间。
最大值(Max):服务器响应的最长时间。
异常(Error%):本次测试中出错率,请求的数量/请求的总数。
吞吐量(Throughput):吞吐量,默认情况下表示每秒完成的请求数。
KB/Sec:每秒从服务器接收到的数据量,即每秒钟请求的字节数,时间单位均为ms。
图形结果
样本数目(No of Samples):总共发送到服务器的请求数。
最新样本(Latest Sample):代表时间的数字,是服务器响应最后一个请求的时间。
吞吐量(Throughput):服务器每分钟处理的请求数。
平均值(Average):总运行时间除以发送到服务器的请求数。
中间值(Median):有一半的服务器响应时间低于改值而另一半高于该值。
偏离(Deviation):表示服务器响应时间变化、离散程度测量值的大小。
用表格查看结果
Sample#:编号类似id
Start Time:开始时间
Thread Name:线程名称
Label:请求名称
Sample Time:取样时间ms
Status:状态
Bytes:接受字节数
Sent Bytes:发送字节数
Latency:等待时间
Connect Time:链接时间
用户自定义的变量
用户定义参数化主要是把公共的参数如:请求地址,端口号,请求参数这些公共参数提取出来,存放在用户自定义变量这个组件里面,需要的时候直接用${变量名}去引用。
CSV Data Set Config参数化
以下是CSV Data Set Config各个参数的简要说明:
文件名(FileName):即同目录下csv文件的名称
文件编码(File Encoding): 默认为ANSI
变量名称(Varible Names): 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用,如要用到这个文件的值,可以利用变量名来引用:
u
s
e
r
,
{user},
user,{pass}
是否允许带引号(Allow Quoated data): 双引号相关
遇到文件结束符再次循环(Recycle on EOF): 设置为True后,允许循环取值
遇到文件结束符停止线程(Stop Thread on EOF): 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行
线程共享模式(Sharing Mode): 设置是否线程共享
JSON提取器
匹配数字:
-1代表取全部数据,0代表随机取值,1代表取第1个数据,2代表取第2个数据
缺省值:找不到匹配时的值
响应报文
基于Jmeter Json提取器编写如下所示后置处理器,提取出响应报文的id
通过debugSampler查看变量的提取结果