Jmeter(一)压测入门及结果报告分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter(一)压测入门及结果报告分析相关的知识,希望对你有一定的参考价值。

参考技术A

以下面请求为例

协议 :向目标服务器发送HTTP请求协议,可以是HTTP或HTTPS,默认为HTTP。

服务器名称或IP :HTTP请求发送的目标服务器名称或IP 。

端口号 :目标服务器的端口号,默认值为80 。

Http请求 :发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

路径 :目标URL路径(URL中去掉服务器地址、端口及参数后剩余部分) 。

内容编码 :编码方式,默认为ISO-8859-1编码。

参数 : 在请求中发送的URL参数,用户可以将URL中所有参数设置在本表中,表中每行为一个参数(对应URL中的 name=value),注意参数传入中文时需要勾选“编码”

1s启动100次请求

Label :每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

Samples/样本 :请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

Average/平均值 :平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间

Median/中位数 :中位数,也就是 50% 用户的响应时间

90%/95%/99% Line :90%/95%/99% 用户的响应时间

Min/最小值 :最小响应时间

Max/最大值 :最大响应时间

Error%/异常 :错误率——错误请求数/请求总数

Throughput/吞吐量 :吞吐量——默认情况下表示每秒完成的请求数(Request per Second)

KB/Sec :每秒从服务器端接收/发送的数据量

一般而言,性能测试中我们需要重点关注的数据有: #Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量。

Jmeter4.0压测实战

一、并发数

1.新建线程组,Number of threads:30  Ramp-up period:1  Loop Count :勾选forever 表示:平均每秒有30个用户登录,不勾选forever表示只执行一次。

2.新建Http请求-登录脚本

http协议、接口路径、入参、请求头、Http默认值、断言

3.添加监听器,如:查看结果树、聚合报告、资源监控等等。

4.测试结果分析

(1)资源方面的瓶颈,内存使用率达90%以上

(2)接口响应时间超过10s,2-5-10原则

(3)系统在峰值支持的用户数

(4)系统支持的最大线程数?超过这个数,系统就会报错抛异常

5.压测过程遇到的问题

(1)连接某IP超时

(2)读超时

(3)系统执行过程中抛出未处理的异常

(4)登录状态已超时,请重新登录。

(5)线程数为1000时,本地window压测机器直接死机,卡的不行不行

6.总结

(1)线程数!=sample 数  总的sample=线程数*接口数。

(2)Ramp-Up period :应按照实际业务场景来设置。

(3)聚合报告中的错误率:看系统的容忍度,允许有错误。

(4)服务器资源的压测清况,注意结合日志来看。

(5)压测报告,主要是结果的分析。

(6)压测一定要考虑到服务器配置,不要盲目的压测,否则没意义。

 

二、阶梯式压测

1.新建线程组,选择stepping Thread Group 并了解每个参数的意思

2.新建Http请求-登录脚本

  http协议、接口、入参、请求头、Http默认值、断言

3.服务器资源监控

(1)下载插件 :

JmeterPlugins-Extras.jar 

JmeterPlugins-Standard.jar

ServerAgent-2.2.1

(2)将JmeterPlugins-Extras.jar 和JmeterPlugins-Standard.jar  放在jmeter的libext目录下。 

(3)在要监测的服务器上部署ServerAgent,linux下执行 sh startAgent.sh & ,启动ServerAgent服务并在后台运行,默认端口号是4444。

若端口已经被占用,使用命令修改端口 java -jar ./CMDRunner.jar --tool PerMonAgent --udp-port 7777 --tcp-port 7777 

测试能否正常访问:telnet ip 7777

(4)监听器-jp@gc  PerMon Mertrics Collector  可监控项:CPU、Memory、Network I/O、Disk I/O等等。

4.添加更多的监听器:查看结果树、聚合报告等

5.测试结果分析

同上

6.总结

同上

 

 

 

推荐个作者,老_张  性能测试相关的东西 写得很好。

在实践过程中,有一些思路,就是从他的文章中悟到的。

 

以上是关于Jmeter(一)压测入门及结果报告分析的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter压测

JMeter接口压力测试课程入门到高级实战教程(详情)

Jmeter压测

JMeter入门介绍

Jmeter接口压测快速入门

Jmeter阶梯压测聚合报告分阶梯汇总显示