Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

一、测试需求:测试20个用户访问网站在负载达到30QPS时的平均响应时间 
二、QPS:Query Per Second 每秒查询率。(一台查询服务器每秒能够处理的查询次数,作为域名服务器的性能经常用每秒查询率来衡量) 
三、测试步骤 
1、添加线程组(线程数+准备时长+循环次数) 
1)线程数:虚拟用户数,一个虚拟用户占用一个进程或线程(设置多少个虚拟用户=设置多少个线程) 
2)准备时长(s):设置的虚拟用户数需要多长时间全部启动。eg:线程数为20,准备时长为10,则说明需要10秒钟启动20个进程。 
3)循环次数:每个线程发送请求的次数。eg:线程数为20,循环次数为5,那么每个线程发送5次请求,总请求数为20*5=100 

2、添加HTTP请求 

3、设置QPS限制:控制给定的取样器发送请求的吞吐量 
4、添加监视器-聚合报告、察看结果树 

5、运行脚本 
6、聚合报告解析(响应时间单位:毫秒) 
1)Label:每个Jmeter的element都有一个Name属性,这里显示的就是Name属性的值 
2)#Sample:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100 
3)Average:平均响应时间-默认情况下是单个Request的平均响应时间当使用了Transaction Controller 时,也可以以Transaction为单位显示平均响应时间 
4)Median:中位数,50%用户的响应时间 
5)90%Line:90%用户响应时间 
6)Min:最小响应时间 
7)Max:最大响应时间 
8)Error%:本次测试中出现错误的请求的数量/请求的总数 
9)Throughput:吞吐量-默认情况下白石每秒的请求数 
10)KB/sec:每秒从服务器端接收到的数据量 

7.通过JMeter插件来监控服务器CPU、内存、磁盘、网络等相关资源]]

一、下载 


首先进入网址https://jmeter-plugins.org/downloads/old/  下载Jmeter插件资源 

JMeterPlugins-Standard-1.4.0.zip 
JMeterPlugins-Extras-1.4.0.zip

进入网址https://jmeter-plugins.org/wiki/PerfMon/ 下载Perf Mon 插件

ServerAgent-2.2.1.zip 

其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务器端的。

 

二、配置 


将 JMeterPlugins-Standard-1.4.0.zip 解压后,把 lib\ext 目录下的 JmeterPlugins-Standard.jar 文件都放到apache-jmeter-3.1\lib\ext目录中。 
将 JMeterPlugins-Extras-1.4.0.zip 解压后,把 lib\ext 目录下的 JMeterPlugins-Extras.jar 文件放到apache-jmeter-3.1\lib\ext目录中。 
将 ServerAgent-2.2.1 解压后整个文件放到要监控的服务器中待使用。

 

三、添加监听器准备接口。


1、 apache-jmeter-3.1\bin\jmeter.bat 启动JMeter 
正常启动成功后查看监听器,其中[email protected] 开头的为插件加载后出现的。每一个插件监控一项指标,这里就不一一详解,重点讲解其中两个[email protected] - Transactions per Second、[email protected] - PerfMon Metrics Collector

Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

2、添加HTTP请求并填写好,添加监听器[email protected] - Transactions per Second、[email protected] - PerfMon Metrics Collector,这里用一个查询的接口来做例子。

Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

 四、监控


1、 首先启动服务器的 ServerAgent-2.2.1\startAgent,我这里是一个Windows环境的服务器。

Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

2、双击启动startAgent.bat,显示下图表示启动成功。(默认端口为4444,也可以修改为其他端口) 

注:ServerAgent服务端口号默认为4444,如若遇到端口被占用,则需关闭占用该端口的进程,或者改变ServerAgent服务的默认端口:

Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

A:关闭占用4444端口的进程

 

关闭占用4444端口的8260进程后,再次启动ServerAgent服务,成功。

Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

B:使用命令改变ServerAgent服务的默认端口

java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 7777 --tcp-port 7777

同样的,7777端口也要设置防火墙规则以及使用telnet本地测试下是否可以访问

Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

2.2本地测试是否能正常访问:

在cmd中运行 telnet ip 4444 也就等同于在浏览器中输入ip:4444

Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

注:如若提示 “telnet不是内部或外部命令,也不是可运行的程序”

则需启动Telnet功能,参考:win10 解决telnet不是内部或外部命令的方案

3、一切准备就绪,点击run开始做压力测试。结束后,看图分析。

Jmeter监控服务器-CPU,Memory,Disk,Network性能指标