小豆子的笔记QAQ

导航

Jmeter,使用服务器资源监测

实现功能:使用jmeter监测在不同场景下,监测服务器资源消耗情况

实现步骤

1、使用jmeter中的插件,下载路径:https://jmeter-plugins.org/downloads/old/

JMeterPlugins-Standard-1.3.0.zip
JMeterPlugins-Extras-1.3.0.zip

解压后,将对应的jar包,拷贝到jmeter的安装目录:xxx\apache-jmeter-3.3\lib\ext

重启jmeter生效:

 

 

 

 

2、使用ServerAgent这个代理服务器,下载路径:https://github.com/undera/perfmon-agent

ServerAgent-2.2.1.zip

 该代理服务器可以在windows(双击打开startAgent.bat),也可以在linux(双击startAgent.sh)下使用

3、在jmeter中需要设计用例场景,使用分布增加线程组jp@gc - Stepping Thread Group,以及场景内容http请求,以及监听器jp@gc - PerfMon Metrics Collector实现整个用例和监测功能

(可以不使用分布加压线程组,普通的线程组也可以正常监测,分布加压可以在比较重要的接口单独使用)

4、将ServerAgent放到需要测试的服务器上,开启服务即可

 

 附件

一:使用jp@gc - Stepping Thread Group

 

 1、http请求会被执行5次

2、先等待多少分钟再开始执行步骤1中的请求

3、然后从第几个线程开始并发线程数

4、开始的并发数的执行逻辑为:加多少个线程之后,按照当前线程执行多少秒。加线程使用的时间为多少秒。上图表示在3s内增加成功一个线程数,然后再这个线程数上运行1s。故循环一次是4s

5、到达并发数之后,持续时间为多少秒

6、最后释放请求,在多少秒内停掉多少个线程

以上设置好之后,画的图基本与实际的轨迹图保持一致

 

二:在该线程组下增加http请求

该请求设计需要符合场景用例(调试时,可以直接为空)

 

三:在该线程组下增加监听器

 

 

jp@gc - PerfMon Metrics Collector解读

 

 

1、CPU

表示CPU使用率,表示进程与系统进行消耗的CPU百分比。一般可接受的是不超过85%

2、Memory

表示内存使用,1-空闲内存/总内存  ,长时间内存使用率上限可接受85%;一般内存的曲线不会波动,是一条直线,若有波动表示,内存不足了。

3、Disks I/O

表示磁盘读写性能。

4、Network I/O

表示网络带宽。判断网络连接速度是否存在瓶颈。可以用该计数器值与目前网络的带宽比较??

5、SWAP

为临时虚拟内存区域,但是物理内存不足的时候回拿出部分空间使用,从而解决内存不足的问题;一般内存的曲线不会波动,是一条直线,若有波动表示,内存不足了。

 

四、开启服务

a、开启Windows服务下的监控,双击打开即可。

1、在监听器中连接的ip只要为默认的localhost即可

2、可以在当前环境下打开资源管理器,查看 测试结果的CPU等性能与实际保持一致

 

 

 b、在linux中开启服务

1、将服务包放到待测服务器下

2、命令行解压当前zip压缩包,进入该目录去执行

 

 3、默认开启的是4444的端口,但是如果当前服务器中该端口有被使用,需要修改可用的端口

 

java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 8888 --tcp-port 8888  可看到端口由原来的4444修改为8888

参考文档https://blog.csdn.net/lemon_linaa/article/details/89963904

4、此外还要注意一点,步骤3中的端口,需要跟开发确定过该端口是不是可以被外部访问,如果没有设置

 

posted on 2020-09-27 18:12  小豆子的笔记QAQ  阅读(765)  评论(0编辑  收藏  举报