一、linux 安装jdk
二、 linux上传jmeter
2.1 上传jmeter
jmeter 下载地址:
Apache JMeter - Download Apache JMeter
注意:
我先在我本地调试脚本(mac环境),调试完成后,再在linxu执行压测脚本。
jmeter 不用区分mac版本、linux版本。
为了保证我本地与linux用的jmeter 一致(版本一致,依赖的插件都有),所以我直接把我本地的jmeter整个包,压缩一下然后上传到linux上。
1、压缩本地整个jmeter包
2、上传到linux
2.2 jmeter环境变量配置
vi ~/.bash_profile
- export JMETER_HOME=/usr/local/apache-jmeter-5.5
- exportCLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH
- export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin
source ~/.bash_profile
三、执行压测脚本
jmeter -n -t /Users/a57/天气.jmx -l /Users/a57/3.jtl -e -o /Users/a58/cs2/
注意:
将本地脚本,上传到linux压力机时,脚本中多余的(乱七八糟的插件,比如各种监听之类的)要删除。只保留最核心的东西就可以(聚合报告&结果树都可以省略掉)。这样做的目的是:1、性能问题 2、是为了防止 linux中的 jmeter缺少插件,导致脚本报错。
四、下载报告
先压缩报告
tar -zcvf 压缩文件名 .tar.gz 被压缩文件名
再将报告下载到本地
sz report.tar.gz
五、报错处理
4.1 CannotResolveClassException: kg.apc.jmeter.perfmon.PerfMonCollector
插件报错了。
解决办法:
就是把脚本中,多余的插件/监听器都干掉。
4.2 javax.script.ScriptException: Cannot find engine named: 'js', ensure you set language field in JSR223 Test Element: JSR223 预处理程序
原来是脚本里有一个javascript的脚本,而高版本java已经移除了javascript的引擎,所以不支持了,两种方案
一,javascript换别的语言重写
二,换回低版本java,比如8.0
最好你本地和施压机器上的jdk版本一致。就说加密一些函数,java低版本和高版本就有不兼容的