问题
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:
来源:https://stackoverflow.com/questions/19332955/jmeter-which-jars-are-required-for-activemq