jmeter压测工具使用详情
聚合报告
如图所示:
如上图所示:- Lable:每个请求的名称
- 样本:发送给服务器的请求数量
- 平均值:平均响应时间,默认情况下是单个Request的平均响应时间
- 中位数:响应时间的中位数
- 90%百分位:90%用户的响应时间
- 95%百分位:95%用户的响应时间
- 99%百分位:99%用户的响应时间
- 最小值:最小响应时间
- 最大值:最大响应时间
- 异常%:本次测试中出现错误的请求的数量/请求的总数
- 吞吐量:吞吐量=请求量/总时间;默认情况下标示每秒完成的请求数
- 接收kb/sec:每秒从服务器端接收的数据量,即收到的千字节每秒的吞吐量测试
- 发送kb/sec:每秒从客户端发送的请求的数量,即发送的千字节每秒的吞吐量测试
:::color1
通常我们会说,执行成功的请求在左侧会显示绿色,执行失败会显示红色
但是如果我们没有加断言时,显示绿色并不一定就是成功了,只代表响应码是200或300系列,显示红色说明响应码是400或500系列
所以想要确定请求返回的是正确的,必须要加上断言,只有断言成功才会显示绿色
在左侧最下面有一个复选框Scroll automotically?(自动滚动)。勾选后,当请求很多时,滚动条会自动向下滚动
:::
取样器结果选项页内容:
如上图所示:- Thread Name:线程组名称
- Sample Start:启动开始时间
- Load time:加载时长,整个请求的消耗时间,从发送到接收完成全程消耗的时间
- Connect Time:建立链接的时间
- Latency:等待时长,表示从请求发送到刚开始接受响应时的时间
- Size In bytes:请求头和请求体中的数据的数据大小
- Sent bytes:发送的数据总大小
- Headers size in bytes:请求头中的数据总大小
- Body size in bytes:请求头体中的数据总大小
- Sample Count:发送请求数统计
- Error Count:请求错误统计
- Data type ("text"|"bin"|""):数据的类型
- Response code:请求的响应码
- Response message:返回响应状态的信息
- SampleResult fields:请求结果的附加字段
- ContentType: :返回内容的数据格式和编码
- DataEncoding:GBK:数据编码
需要操作察看结果树组件中的如下位置:
说明:
- 文件名:输入一个文件的完整路径,后缀可以为.csv,.html等。文件若不存在,则创建该文件;若已存在该文件,运行结果选择覆盖原有文件即可。
- 显示日志内容:1)仅日志错误:结果树只输出报错日志信息。2)仅成功日志:结果树只输出正常响应的结果信息。
- 配置(configure):配置要输出文档的内容,可以依据自己需求来选择。如下图所示:
提示:我们可以点击“浏览”按钮,选择已存储的_察看结果树_文件,来查看之前脚本的请求结果。
Search功能
在察看结果树组件界面中,可以查找需要的请求,在下图位置进行操作。
操作说明:
- 通过输入要查找的信息,点击Search按钮,可以过滤出结果树中符合要求的请求,并用红框显示。
- 点击Reset按钮会重置搜索,红框消失。
- Case sensitive大小写敏感:勾选此项,输入查询信息,大小写不区分。
- **Regular正则表达式:**勾选此项,输入正则表达式,会依据正则表达式匹配到符合内容的请求。
操作结果如下图所示:
Scroll automatically选项
勾选Scroll automatically选项,当运行过程中请求很多时,会自动滚动显示到最后一个请求。
如下图所示:
注意:
- 从3.2版本开始,视图中的条目数被限制为属性view.results.tree.max_results的值,默认为500个。
- 在jmeter.properties文件中,可以通过将属性设置为0来恢复旧的行为,但这可能会消耗大量内存。
汇总报告
- Lable:每个请求的名称
- 样本:发送给服务器的请求数量
- 平均值:平均响应时间,默认情况下是单个Request的平均响应时间
- 最小值:请求的最小响应时间
- 最大值:请求的最大响应时间
- 标准偏差:响应时间的标准方差
- 异常%:请求(事务)错误的数量
- 吞吐量:每秒取样器执行的数量,相当于 TPS
- 接收kb/sec:每秒接收的千字节数
- 发送kb/sec:每秒发送的千字节数
- 平均字节数:取样结果返回的平均大小
Ramp-up:T
循环次数:a
设每个循环的运行时间是:t
当时间到S = (T-T/n)时,最后一个线程启动
若要使所有线程同时运作,则需要在最后一个线程启动的时候,第一个线程仍未关闭
∴ a×t > S && a > S/t
每个线程运行时间既是 R= a×t(此处的a>S/t的某一值)
则第一个线程在时间点为R的时间停止
整个测试理论时间则是 S+R = (1 - 1/n) × T + a×T
:::