java - 在 AWS ec2 实例 (ubuntu) 上运行 JMeter 测试

标签 java ssl jmeter

我正在尝试在 EC2 (t2.micro) 实例上的 AWS 中设置 JMeter 测试以在 cmd 上运行它们。
因此我想使用这个 git 项目:https://github.com/r4dx/terraform-aws-jmeter .
由于我是 terraform 的新手,并且只有 aws 的基本知识,所以我一步一步地进行。因此,对于第一次尝试,我让自动缩放组离开并想要达到,我可以针对另一个 ec2 实例运行一个测试,其中有 artemis 代理和一些作为集群运行的应用程序。
ec2 实例正在运行并安装了 JMeter 3.3。到目前为止,我将测试本身以及 truststore.jks 添加到/bin,并将 artemis 驱动程序添加到/lib 文件夹 (artemis-jms-client-all-2.15.0.jar)。
当我执行“jmeter -n -t Artemis_AWS.jmx -j jmeterlogfile”时,出现以下错误:

WARNING: An illegal reflective access operation has occurred 
WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields file:/usr/share/java/xstream.jar) to field java.util.TreeMap.comparator 
WARNING: Please consider reporting this to the maintainers of com.thoughtworks.xstream.core.util.Fields    
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations 
WARNING: All illegal access operations will be denied in a future release Security framework of XStream not initialized, XStream is probably vulnerable. 
Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from:'/jmeter-master/apache-jmeter-3.3/bin/Artemis_AWS.jmx', conversion error com.thoughtworks.xstream.converters.ConversionException: 
---- Debugging information ---- 
cause-exception : com.thoughtworks.xstream.converters.ConversionException 
cause-message : 
first-jmeter-class  : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67)    
class               : org.apache.jmeter.save.ScriptWrapper    
required-type       : org.apache.jmeter.save.ScriptWrapper    
converter-type      : org.apache.jmeter.save.ScriptWrapperConverter    
path                :   jmeterTestPlan/hashTree/hashTree/hashTree[2]/PublisherSampler 
line number         : 140 
version             : 2.13.20170723    -------------------------------
这是 jmx 文件第 140 行的内容:
<RandomVariableConfig guiclass="TestBeanGUI" testclass="RandomVariableConfig" 
  testname="tableNumber-100" enabled="true">
  <stringProp name="variableName">tableNumber</stringProp>
  <stringProp name="outputFormat">000</stringProp>
  <stringProp name="minimumValue">100</stringProp>
  <stringProp name="maximumValue">200</stringProp>
  <stringProp name="randomSeed">100</stringProp>
  <boolProp name="perThread">false</boolProp>
</RandomVariableConfig>                             <------ line 140
<hashTree/>

最佳答案

根据您正在运行 JMeter 2.13,而不是 JMeter 3.3 的日志文件:

version : 2.13.20170723 ------------------------------- ^^^^


Random Variable元素可用自 JMeter 2.3.3 所以你需要将你的 JMeter 升级到至少 2.3.3 或更高版本才能使用这个配置元素。
Ubuntu has JMeter 2.13在它的存储库中有点旧,所以你需要从 JMeter Downloads 下载你需要的任何版本页面并手动安装
更多信息:How to Get Started With JMeter: Installation & Test Plans
一般根据JMeter Best Practrices您应该始终使用最新版本的 JMeter,因此请考虑升级到 JMeter 5.3而不是 3.3 这也有点旧。

关于java - 在 AWS ec2 实例 (ubuntu) 上运行 JMeter 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64758128/

相关文章:

java - HttpRequestHandlingMessagingGateway PayloadExpression java 配置

ssl - HAProxy 通配符 SSL 后端转发问题

jmeter - 如何在数组上使用 ForEach Controller ?

jmeter - 如何使用 Jmeter 的 'Simple Data Writer' 以动态文件名存储数据

java - 当从另一个类调用方法时 - 返回一个难以理解的值 JAVA

java - 使用文本和图标的抽屉导航

git - 如何克服 git 错误 `Unknown SSL protocol error in connection`

Node.js Nginx LetsEncrypt 坏网关

wcf - 使用 JMeter 对 WCF Web 服务进行性能测试?

java - Android SQLite 数据库空指针