一 、下载Jmeter插件
下载客户端插件
https://jmeter-plugins.org/downloads/all/ 或者
https://jmeter-plugins.org/downloads/old/
下载服务端插件
https://github.com/undera/perfmon-agent/blob/master/README.md#supported-metrics 或者
https://jmeter-plugins.org/wiki/PerfMon/?utm_source=jmeter&utm_medium=helplink&utm_campaign=PerfMon
下载三个文件。其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的。
二、安装客户端插件
解压客户端的两个文件,复制JmeterPlugins-Extras.jar 和 JmeterPlugins-Standard.jar 两个文件,放到JMeter客户端的lib/ext文件夹中,打开JMeter,可在监听器中看到Permon Metrics Collector,客户端配置成功。
三、安装服务端插件
将ServerAgent-2.2.1.jar上传到被测服务器,解压,进入目录,根据系统运行 ServerAgent.bat
或则 ServerAgent.sh启动,默认使用4444端口,出现如下情况即服务端成功:
四、ServerAgent启动的校验
命令行发送如下命令
telnet yourip 4444 #连接ServerAgent
test #发送test进行测试
exit #退出,即断开连接
观察server端是否有接收到消息,出现如下情况说明ServerAgent打开成功
feiyongdeMacBook-Pro:ServerAgent-2.2.3 feiyong$ sh startAgent.sh
INFO 2018-07-24 10:09:27.596 [kg.apc.p] (): Binding UDP to 4444
INFO 2018-07-24 10:09:28.602 [kg.apc.p] (): Binding TCP to 4444
INFO 2018-07-24 10:09:28.609 [kg.apc.p] (): JP@GC Agent v2.2.3 started
INFO 2018-07-24 10:09:58.615 [kg.apc.p] (): Accepting new TCP connection
INFO 2018-07-24 10:10:07.131 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2018-07-24 10:51:01.076 [kg.apc.p] (): Client disconnected
五、Jmeter客户端的监听测试
添加监听器Permon Metrics Collector-Add Row添加一行monitor配置(修改Host/IP为测试IP)-运行-观察server日志即chart图标内容
运行后,ServerAgent端的日志:
INFO 2018-07-24 11:27:37.157 [kg.apc.p] (): Accepting new TCP connection
INFO 2018-07-24 11:27:37.162 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2018-07-24 11:27:37.164 [kg.apc.p] (): Starting measures: cpu:
INFO 2018-07-24 11:27:39.264 [kg.apc.p] (): Client disconnected
六、性能测试实践
Permon Metrics Collector中配置被测服务器地址
在文件名处配置被测服务器日志生成地址,
在被测服务器上运行性能脚本,结束后,将日志导入到本地,
在Permon Metrics Collector导入该日志,就能看到性能指标的折线图了
七、在linux上用命令行执行脚本
jmeter路径 -n -t jmeter脚本路径 -l jtl日志路径.jtl -j log日志路径.log
/home/app/jmeter/apache-jmeter-4.0/bin/jmeter -n -t /home/user/jmeter/jmeter_script/script.jmx -l /home/user/jmeter/jmeterlog/runLog.jtl -j /home/user/jmeter/jmeterlog/runLog.log