jmeter+nmon性能监控

安装nmon工具
将nmon添加可执行权限:chmod u+x nmon_x86_64_ubuntu15

执行命令:./nmon_x86_64_ubuntu15 -f -s 1 -c 100   (每1秒监控1次,一共监测100次)

生成脚本中存放路径的数据文件(.nmon文件)

 

第一种方式:可以在windows界面用nmonexcel.xlsm打开

 

 

 

    Ø Sys_summ页,为服务器资源使用率汇总

 我们需求的主要数据为cpu,mem,io和net。如下图:

  

 将以上内容,如实填写至测试报告中。

 

    Ø Cpu_all页,是服务器cpu使用率的详细数据

 我们主要关注的内容为下图

 

 

 Cpu使用率分为三部分,系统用户等待,分别对应图中红色(sys%)、蓝色(user%)和绿色(busy)部分。cpu使用率100%的情况,如果红色占大部分,说明系统进程本身占据大部分cpu资源,可考虑系统是否存在过多僵尸进程或者系统进程存在死循环等原因;如果蓝色占大部分,说明用户进程占用大量cpu资源,可考虑被压系统是否压力过大,或者被压系统存在大量运算等消耗cpu资源的操作。

故: CPU取CPU_ALL中User%的平均值:

 

 

 

 

   Ø Net页 网络  

           

 

 

       Total read 每秒接收到的千字节的数目,如图蓝色部分

    Total write 每秒发送的千字节的数目,如图红色部分

    网络=Total read-Total write

    网络的指标一般要根据设备来确定,百兆网卡的意思是每秒能够传输的网络流量是100Mbps,即最大的下载速度是12.5MB/s,一般服务器是千兆网卡,即125MB/s

    故:net取 net页面中ens160-total字段平均值

          

 

    Ø Mem页,是服务器内存使用率的概况。

 

    图内蓝色线条为物理内存使用率,红色线条为虚拟内存使用率。我们统计的内存使用率为:(已用物理内存+已用虚拟内存)/(物理内存+虚拟内存)x100%

              故:内存取Mem中的active字段的平均值

          

   

   Ø Disk_SUMM页,磁盘

           

      Disk Read 每秒读的千字节数目 图中为蓝色部分

    Disk Write 每秒写的千字节数目 图中为红色部分

    IO/sec 每秒进行的IO数(一次IO就是控制操作一次读或写,IO块就是读或写的大小),图中为上方黑色的线,报告中写的是这个参数的值

 

第二种方式:可以在windows界面,jmeter打开的压测脚本中,插入JMeter插件(jp@gc - PerfMon Metrics Collector Server Agent  是将传递过来的数据以GUI形式展示的扩展插件来监控服务器CPU、内存、磁盘、网络等相关资源

1.下载插件

1.登录https://jmeter-plugins.org/wiki/PerfMonAgent/下载ServerAgent-2.2.1.zip,解压可以直接运行
2.到https://jmeter-plugins.org/downloads/old/下载JMeterPlugins-Standard-1.4.0.zip和JMeterPlugins-Extras-1.4.0.zip
————————————————
版权声明:本文为CSDN博主「Cloud_Huan」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cloud_huan/article/details/72822621

其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的(运行在服务端起到获取相关性能数据并发送给jmeter)。

2.配置 
将 JMeterPlugins-Standard-1.3.1.zip 中 lib\ext 目录下的 JmeterPlugins-Standard.jar 文件都放到apache-jmeter\lib\ext目录中。 
将 JMeterPlugins-Extras-1.3.1.zip 中 lib\ext 目录下的 JMeterPlugins-Extras.jar 文件放到apache-jmeter\lib\ext目录中。 
将 ServerAgent-2.2.1 放到要监控的服务器中待使用。

  

  3.查看插件是否正常加载,如图: 

其中jp@gc 开头的为加载插件后出现的。

 

4.运行 ServerAgent-2.2.1\bin\startAgent.bat(Linux使用startAgent.sh) 
(默认端口为4444,也可以参数指定 –udp-port 4445 –tcp-port 4445) 
可以看到输出内容如下:

 

 

 

5. 在JMeter 中的测试计划中,按上面的截图,添加监听器 “jp@gc - PerfMon Metrics Collector” 

点击上面的启动按钮后,查看ServerAgent日志出现:

INFO    2016-02-23 21:34:46.966 [kg.apc.p] (): Accepting new TCP connection
INFO    2016-02-23 21:34:46.969 [kg.apc.p] (): Yep, we received the 'test' command
INFO    2016-02-23 21:34:46.971 [kg.apc.p] (): Starting measures: cpu:
INFO    2016-02-23 21:34:47.123 [kg.apc.p] (): Client disconnected

运行jmeter时,成功连接然后立刻断开了,并没有获取我们想要的数据。猜想需要一个时间控制的元器件,使其能够获取一段时间的数据。

解决方法:

添加线程组,设置循环次数为”永远”; 
为线程组任意添加一个Sampler(并不设置参数); 
添加一个PerfMon Metrics Collector监听器;点击运行。(上面如果已经添加过,可直接使用无需再添加) 
然后在 jp@gc - PerfMon Metrics Collector 界面,启动。

 

 

结果:成功获取chart图,点击stop,即结束监听数据,下面是截图。 

 

 

 

 

 

posted @ 2019-09-19 17:15  Eva-fu  阅读(1506)  评论(0编辑  收藏  举报