Jmeter - which JARs are required for ActiveMQ?

2019-08-28 21:37发布

问题:

I'm going to benchmark ActiveMQ using Jmeter. According to this document, I only need to add the activemq-all.jar to the lib/ directory:

$ ll /usr/share/jmeter/lib/
total 12812
drwxr-xr-x 3 root root    4096 Oct 12 16:55 ./
drwxr-xr-x 6 root root    4096 Oct 12 14:11 ../
-rw-r--r-- 1 root root 3800187 Aug 14  2010 activemq-all-5.8.0.jar
-rw-r--r-- 1 root root   29071 Sep 26  2010 bshclient.jar
drwxr-xr-x 2 root root    4096 Oct 12 14:11 ext/
-rw-r--r-- 1 root root  116075 Sep 26  2010 jorphan.jar

then start the Jmeter:

$ jmeter
[warning] /usr/bin/jmeter: Unable to locate commons-net in /usr/share/java
[warning] /usr/bin/jmeter: Unable to locate geronimo-activation-1.1-spec in /usr/share/java
[warning] /usr/bin/jmeter: Unable to locate geronimo-javamail-1.4-provider in /usr/share/java
[warning] /usr/bin/jmeter: Unable to locate jboss-j2ee in /usr/share/java
[warning] /usr/bin/jmeter: No JAVA_CMD set for run_java, falling back to JAVA_CMD = java
java.lang.Throwable: Could not access /usr/share/jmeter/lib/junit
    at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:96)
log_file=jmeter.log java.io.FileNotFoundException: jmeter.log (Permission denied)
[log_file-> System.out]
2013/10/12 16:18:58 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_US 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: Copyright (c) 1998-2009 The Apache Software Foundation 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: Version 2.3.4 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: java.version=1.6.0_24 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: java.vm.name=OpenJDK 64-Bit Server VM 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: os.name=Linux 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: os.arch=amd64 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: os.version=3.2.0-32-generic 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: file.encoding=UTF-8 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: Default Locale=English (United States) 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: JMeter  Locale=English (United States) 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: JMeterHome=/usr/share/jmeter 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: user.dir  =/usr/share/jmeter/lib 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: PWD       =/usr/share/jmeter/lib 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: IP: 127.0.1.1 Name: ubuntu-Vostro-3560 FullName: ubuntu-Vostro-3560 
2013/10/12 16:18:58 INFO  - jmeter.JMeter: Loaded icon properties from org/apache/jmeter/images/icon.properties 
2013/10/12 16:18:59 INFO  - jmeter.util.BSFTestElement: Registering JMeter version of JavaScript engine as work-round for BSF-22 
2013/10/12 16:19:00 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: No response parsers defined: text/html only will be scanned for embedded resources 
2013/10/12 16:19:00 INFO  - jmeter.protocol.http.sampler.HTTPSampler: Maximum connection retries = 10 
2013/10/12 16:19:00 INFO  - jmeter.protocol.http.sampler.HTTPSampler: Connection and read timeouts are available on this JVM 
2013/10/12 16:19:00 INFO  - jmeter.samplers.SampleResult: Note: Sample TimeStamps are END times 
2013/10/12 16:19:00 INFO  - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 

but I didn't see the JMS Subscriber/Publisher in the Sampler menu:

I also tried using the older version follow this guide, but it didn't work.

Did I miss something?

回答1:

You should absolutely use a more recent version of JMeter.

Current version is 2.9 and 2.10 will be out in few hours. Your version 2.3.4 is 6 years old and contains many bugs in JMS testing that have been fixed a long time ago.

Use at least 2.9 and put in jmeter/lib:

  • activemq-all-5.8.0.jar


回答2:

The answer is ApacheJMeter_jms.jar. Do a search with apt-file, I found this:

# apt-file search ApacheJMeter_jms.jar
jmeter-jms: /usr/share/jmeter/lib/ext/ApacheJMeter_jms.jar

After this package is installed, I can see the JMS Publisher/Subscriber in the Sampler menu: