发布这篇文章主要是因为,公司突然让我压测监控cpu,又急,搞得我焦头烂额,遇到了好多问题,又是新人,不过最终还好,花了半天时间终于从Jmeter5.5到Jmeter3.1遇到的问题都解决了,希望能帮助到各位
Jmeter进行cpu监控需要用到3.1版本
官网下载Jmeter3.1版本:https://jmeter.apache.org/download_jmeter.cgi
另需配置文件
JMeterPlugins-Extras.jar
jmeter-plugins-manager-1.4.jar
JMeterPlugins-Standard.jar 还有一个ServerAgent.zip
百度网盘链接:https://pan.baidu.com/s/16WMbPIxooFBAVA-0VWuoFA
提取码:1314
对jmeter进行环境变量配置
新增系统变量: JMETER_HOME: Jmeter安装路径,并在path变量里面添加%JMETER_HOME%\bin
CLASSPATH: .;%JAVA_HOME%\lib\tools.jar;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;
命令行窗口:输入Jmeter,并弹出Jmeter界面就成功了
运行成功之后,先行关闭jmeter,将配置文件放到Jmeter安装目录下的lib\ext下再次重启
显示有jp@gc-… 即为插件成功,其中PerMon Metrics Collector为cpu监控插件
接下来,将ServerAgent.zip解压至服务器下,windows的就放在
双击startAgent.bat即可
出现该黑色窗口即为成功
添加一组请求,根据需求添加需要监控的性能即可
建议线程数多些一些或者循环次数改为永远,否则可能出现线程跑完了,还是Waiting for samples…界面
最后成功运行
可能出现的问题,
问题一:
ServerAgent 报:Client disconnected
是因为进程只执行了一次,client只执行了很短的状态就断开了。并且在PerfMon Metrics Collector中也没有任何数据
解决办法:
在线程组中将循环次数改为永远,或者增加线程数和时间
问题二:
若在官网下载或者别人的ServerAgent.zip,Server Agent可能出现: *Error during exit java.net.SocketException: Connection reset by peer: socket write error
,并且ServerAgent闪退
解决办法,将从我个人网盘下载的sigar-amd64-winnt.dll,替换你个人电脑上ServerAgent\lib下的sigar-amd64-winnt.dll文件,再次重启即可解决
问题三:
运行perform出现: ConversionException: kg.apc.jmeter.vizualizers.CorrectedResultCollector : kg.apc.jmeter.vizualizers.CorrectedResultCollector
是因为低版本的Jmeter运行高版本的Jmeter脚本出现的问题,只需要重头创建一个接口测试即可
若Server Agent出现闪退,则在ServerAgent目录新增一个文件夹jre,并把jre放在该文件下
找到startAgent.bat编辑,新增一条
问题四
若使用JMeter高版本,运行jp@gc-PerforMon Metrics Collector可能出现
Uncaught Exception java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/text/DateFormat;)V in thread Thread[StandardJMeterEngine,6,main]. See log file for details.
并且Jmeter没有任何反应,只有报错日志
解决办法,更换Jmeter3.1版本
问题五
若是换成Jmeter3.1版本,运行Post请求上传文档,请求头都填写了,查看结果树任然报400
解决办法:在请求里面更改下图选项即可
最后也成功了
最后要是能帮助到你,希望三连