Jmeter进阶篇12-负载测试时如何监控服务器资源

使用Linux命令监控

使用ssh工具,连接被测服务器,使用top、free -m命令查看实时资源占用。

优点:可查看实时的真实数据反馈,对测试结果基本无影响。
缺点:需要人工手动监控,不利于长时间测试。

使用perfmon插件监控

要使用此方法监控服务器资源,需要下载对应的插件,首先,需要下载并启用插件管理器(如未安装,参考 1.4-安装插件管理器),然后进入插件管理器,输入PerfMon搜索并应用安装PerfMon插件。

Jmeter进阶篇12-负载测试时如何监控服务器资源
插件安装成功后,在就监听器中将出现[email protected] - PerfMon Metrics Collector选项,此监听器即可用于监控显示服务器资源信息。

Jmeter进阶篇12-负载测试时如何监控服务器资源
要使用此监听器,还需要在被测服务器中运行ServerAgent-2.2.3,下载地址:https://github.com/undera/perfmon-agent ,下载ServerAgent-2.2.3.zip,上传至被测试服务器,解压(unzip ServerAgent-2.2.3.zip),然后进入解压目录

运行./startAgent.sh(默认4444端口) ,启动ServerAgent后,就可以在Jmeter中添加[email protected] - PerfMon Metrics Collector实现对服务器资源的监控了。

若要指定启动的使用的端口,可以使用
./startAgent.sh --udp-port 2020 --tcp-port 2020 启动,或者使用
java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 2020 --tcp-port 2020
Jmeter进阶篇12-负载测试时如何监控服务器资源
优势:可视化的资源监控界面,结果对比更鲜明,支持长时间无人值守测试
劣势:占用服务器与压力机资源,不适合用于做负载测试,尤其是高并发,会影响测试结果准确性,所以不建议使用。

使用nmon工具监控

要使用nmon工具,需要在服务器中安装nmon,执行负载测试时,使用命令:nmon -s10 -c60 -f -m /root/nmon 收集服务器资源信息保存。参数解释:

-s10:每十秒采集一次数据
-c60:采集60次 (根据负载时间计算采集次数)
-f:生成的数据文件名中包含文件创建的时间
-m:生成的数据文件存放目录
-/root/nmon:数据文件保存的文件夹

测试完成后,会在-/root/nmon文件夹中生成结果文件,此结果文件可使用nmon_analyser工具生成可视化图表。
工具下载地址:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser
或:http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser

工具下载完成后,解压后运行nmon analyser vxx.xlsm文件,导入服务器监控的nmon结果文件生成图表
Jmeter进阶篇12-负载测试时如何监控服务器资源

Jmeter进阶篇12-负载测试时如何监控服务器资源
优势:使用nmon工具结合top命令,可有效完成服务器实时监控与无人值守监控。