Linux中安装JMeter并执行压测 |
您所在的位置:网站首页 › Linux指定jdk运行java › Linux中安装JMeter并执行压测 |
前言 最近在做性能测试,性能测试方案中要求使用Linux服务器做压力机,压力发起工具使用JMeter,所以需要在Linux中安装JMeter。
准备 Jmeter是Java开发的,需要依赖JDK环境,因此我们需提前安装好JDK。 CentOS 7.3 64位JDK 1.8(可参考文章:Linux下安装JDK 1.8)
下载JMeter安装包 Jmeter是Java开发的,需要依赖JDK环境,因此我们需提前安装好JDK。 Jmeter是开源的工具,我们直接到官网下载即可,本次安装的版本是 5.1.1。 最新版本下载地址:https://jmeter.apache.org/download_jmeter.cgi历史版本下载地址:https://archive.apache.org/dist/jmeter/binaries/ 下载后缀为 .tgz 或 .zip 都是可以的,我们可以在Linux通过 wget 命令下载Jmeter安装包,或者下载后再传到Linux。 我这里下载的安装包版本是 apache-jmeter-5.2.1.tgz。
安装JMeter #新建jmeter文件夹 mkdir jmeter #下载安装文件 或 上传已下载好的文件到jmeter目录下 wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.2.1.tgz #解压文件 tar -xzvf apache-jmeter-5.2.1.tgz本次解压的目录为:usr/local/jmeter/apache-jmeter-5.2.1
配置环境 #配置启动参数 #打开配置文件 vim /etc/profile #将下列代码复制到文件的最后 export JMETER_HOME=/usr/local/jmeter/apache-jmeter-5.2.1 export PATH=${JMETER_HOME}/bin:$PATH添加好后保存,执行source /etc/profile,重新加载配置文件。最后,通过jmeter --version查看安装的Jmeter版本,验证安装成功。 OK,到这里,Jmeter已经安装完成,可以开始使用了!
Linux中使用JMeter进行压测 1.在windows系统中设置好压测场景和数据,保存到jmx文件中 2.将jmx文件上传到服务器jmeter的bin目录下
3.执行压测命令 ./jmeter.sh -n -t test.jmx -l result02.jtl
遇到的问题问题: 1.在进行压力测试时,为了降低网络带宽对响应时间的影响,通常高并发时会采用在Windows上使用JMeter编写好测试脚本-xxx.jmx;将脚本上传到相同局域网的Linux服务器,使用JMeter对应命令进行压力测试的方法。测试有时会遇到如下报错:Error in NonGUIDriver java.lang.IllegalStateException: Could not find the TestPlan class!
问题原因: 保存测试脚本时只保存了Testplan下的部分节点,导致生成的测试脚本只是“testplan”下面的某些元素,,不包括需要运行测试所需的“TestPlan”元素。 解决方案:在保存测试脚本时,保存整个测试计划,以下两种方式保存测试脚本,可以避免上述报错产生。 1.在文件菜单中单击“保存测试计划”或“保存测试计划为”选项; 2.鼠标选中测试计划节点,直接点击工具栏上的“保存测试计划”按钮 问题2:执行jmeter -n -t xxx.jmx -l result.jtl时,提示如下错误 Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from:'/usr/local/jmeter/apache-jmeter-5.2.1/bin/客户权益账单查询.jmx'. Cause:CannotResolveClassException: kg.apc.jmeter.threads.SteppingThreadGroup Detail:com.thoughtworks.xstream.converters.ConversionException: ---- Debugging information ----cause-exception : com.thoughtworks.xstream.converters.ConversionExceptioncause-message : first-jmeter-class : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67)class : org.apache.jmeter.save.ScriptWrapperrequired-type : org.apache.jmeter.save.ScriptWrapperconverter-type : org.apache.jmeter.save.ScriptWrapperConverterpath : /jmeterTestPlan/hashTree/hashTree/kg.apc.jmeter.threads.SteppingThreadGroupline number : 881version : 5.2.1-------------------------------An error occurred: Error in NonGUIDriver Problem loading XML from:'/usr/local/jmeter/apache-jmeter-5.2.1/bin/客户权益账单查询.jmx'. Cause:CannotResolveClassException: kg.apc.jmeter.threads.SteppingThreadGroup Detail:com.thoughtworks.xstream.converters.ConversionException: ---- Debugging information ----cause-exception : com.thoughtworks.xstream.converters.ConversionExceptioncause-message : first-jmeter-class : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67)class : org.apache.jmeter.save.ScriptWrapperrequired-type : org.apache.jmeter.save.ScriptWrapperconverter-type : org.apache.jmeter.save.ScriptWrapperConverterpath : /jmeterTestPlan/hashTree/hashTree/kg.apc.jmeter.threads.SteppingThreadGroupline number : 881version : 5.2.1------------------------------- 原因分析: 脚本中使用了jp@gc - Stepping Thread Group,jmeter的文件中没有使用包含对应的插件包 解决办法: 上传插件包到lib/ext目录下,上传好后再执行jmeter -n -t xxx.jmx result.jtl,便能成功执行 问题3:执行jmeter -n -t xxx.jmx -l result.jtl时,报java.lang.IllegalArgumentException: File Realtimequeryofrights.txt must exist and be readable
原因分析:在windows中使用jmeter时,参数脚本路径是绝对路径,比如D:\apache-jmeter-5.2.1\bin,但是在Linux中这个路径是找不到的 解决办法: 用windows打开jmeter的脚本,自定义2个变量,分别为path_win和path_linux,然后将路径填充进去,当使用windows来跑脚本时,需要在CSV数据文件设置参数路径为${path_win},但要去Linux跑脚本时,需要改成${path_linux}
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |