JMeter负载测试:ClassNotFoundException:com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup [英] JMeter load-testing : ClassNotFoundException: com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup

查看:1350
本文介绍了JMeter负载测试:ClassNotFoundException:com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试非GUI和分布式JMeter负载测试.

I'm trying non-GUI and distributed JMeter load-testing.

在分发之前,我先在本地进行了测试.我在笔记本电脑上安装了JMeter,并针对被测系统设置了一个测试计划.我安装了插件管理器并安装了并发线程插件. 我发现我的JMX文件正确且可以正常工作,因此我决定推出分布式设置.

Before I go distributed, I tested it locally. I installed JMeter on my laptop and setup a testplan targeting the system under test. I installed the plugin manager and install the concurrent thread plugin. I found my JMX file to be correct and working, so I decided to rollout the distributed setting.

我设置了三台用于生成负载的机器:load-1,load-2和load-3.我安装了JMeter,如下所示: 在所有的apt update ; apt upgradeapt install jmeter在所有这些上 将我笔记本电脑的/usr/share/jmeter/lib/ext中的JAR复制到了同一目录中的所有JAR中:

I setup three machines for load generation : load-1, load-2 and load-3. I installed JMeter as follow : apt update ; apt upgrade on all of them apt install jmeter on all of them copied the JARs located in /usr/share/jmeter/lib/ext of my laptop to all of them, in the same directory :

jmeter-plugins-casutg-2.1.jar
jmeter-plugins-cmn-jmeter-0.3.jar
jmeter-plugins-manager-0.11.jar

我在其中两个上启动了JMeter服务器,如下所示:

I started the JMeter server on two of them as follow :

export JMETER_HOME=/usr ; $JMETER_HOME/bin/jmeter-server -Djava.rmi.server.hostname=207.112.137.21
export JMETER_HOME=/usr ; $JMETER_HOME/bin/jmeter-server -Djava.rmi.server.hostname=207.112.137.22

我使用第三个方法开始分布式测试,如下所示:

I use the third one to start the distributed testing as follow :

jmeter -n -t ~/JMeter_API_TestPlan.jmx -R207.112.137.21,207.112.137.22

分布式设置似乎可以正确启动,但是线程启动失败可能是由于找不到类:

The distrubuted setting seems to start correctly, but the thread start fail probably because of a class not being found :

java.lang.ClassNotFoundException:com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup(无安全管理器:禁用RMI类加载器)

java.lang.ClassNotFoundException: com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup (no security manager: RMI class loader disabled)

我缺少JAR或配置参数吗?

A I missing a JAR or a configuration parameter ?

jmeter.log显示以下内容:

The jmeter.log shows the following :

2017/06/23 09:34:33 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_US 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Loading user properties from: /usr/share/jmeter/bin/user.properties 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Loading system properties from: /usr/share/jmeter/bin/system.properties 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Copyright (c) 1998-2014 The Apache Software Foundation 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Version 2.11.20151206 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: java.version=1.8.0_131 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: java.vm.name=OpenJDK 64-Bit Server VM 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: os.name=Linux 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: os.arch=amd64 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: os.version=4.4.0-64-generic 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: file.encoding=ANSI_X3.4-1968 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Default Locale=English (United States) 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: JMeter  Locale=English (United States) 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: JMeterHome=/usr/share/jmeter 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: user.dir  =/usr/share/jmeter/lib/ext 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: PWD       =/usr/share/jmeter/lib/ext 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: IP: 127.0.1.1 Name: load-srv-1 FullName: load-srv-1.localdomain 
2017/06/23 09:34:33 INFO  - jmeter.services.FileServer: Default base='/usr/share/jmeter/lib/ext' 
2017/06/23 09:34:33 INFO  - jmeter.services.FileServer: Set new base='/home/ubuntu' 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Loading file: /home/ubuntu/JMeter_API_TestPlan.jmx 
2017/06/23 09:34:33 INFO  - jmeter.save.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2 
2017/06/23 09:34:33 INFO  - jmeter.save.SaveService: Using SaveService properties file encoding UTF-8 
2017/06/23 09:34:33 INFO  - jmeter.save.SaveService: Using SaveService properties version 2.6 
2017/06/23 09:34:33 INFO  - jmeter.save.SaveService: Using SaveService properties file version 1554411 
2017/06/23 09:34:33 INFO  - jmeter.save.SaveService: All converter versions present and correct 
2017/06/23 09:34:33 INFO  - jmeter.protocol.http.control.CookieManager: Settings: Delete null: true Check: true Allow variable: true Save: false Prefix: COOKIE_ 
2017/06/23 09:34:33 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Cannot find .className property for htmlParser, using default 
2017/06/23 09:34:33 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is  
2017/06/23 09:34:33 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is  
2017/06/23 09:34:33 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is  
2017/06/23 09:34:33 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is  
2017/06/23 09:34:33 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser 
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Creating summariser <summary> 
Creating summariser <summary>
Created the tree successfully using /home/ubuntu/JMeter_API_TestPlan.jmx
Configuring remote engine for 207.112.137.21
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Configuring remote engine for 207.112.137.21
Using remote object: UnicastRef [liveRef: [endpoint:[207.112.137.21:33454](remote),objID:[-48d954a6:15cd4392e27:-7fff, 7098811430065264906]]]
Configuring remote engine for 207.112.137.22
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Configuring remote engine for 207.112.137.22
Using remote object: UnicastRef [liveRef: [endpoint:[207.112.137.22:39449](remote),objID:[-238f015b:15cd4393abf:-7fff, 6897427020325789391]]]
Starting remote engines
2017/06/23 09:34:33 INFO  - jmeter.JMeter: Starting remote engines 
Starting the test @ Fri Jun 23 09:34:33 UTC 2017 (1498210473781)
2017/06/23 09:34:33 INFO  - jmeter.engine.ClientJMeterEngine: running clientengine run method 
2017/06/23 09:34:33 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.' 
2017/06/23 09:34:33 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.' 
2017/06/23 09:34:33 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2017/06/23 09:34:33 INFO  - jmeter.samplers.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000 
2017/06/23 09:34:33 INFO  - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run 
2017/06/23 09:34:34 INFO  - jmeter.samplers.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000 
2017/06/23 09:34:34 INFO  - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run 
2017/06/23 09:34:34 INFO  - jmeter.samplers.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000 
2017/06/23 09:34:34 INFO  - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run 
2017/06/23 09:34:34 INFO  - jmeter.samplers.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000 
2017/06/23 09:34:34 INFO  - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run 
2017/06/23 09:34:34 ERROR - jmeter.engine.ClientJMeterEngine: Error in rconfigure() method java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.lang.ClassNotFoundException: com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup (no security manager: RMI class loader disabled) 
2017/06/23 09:34:34 INFO  - jmeter.engine.ClientJMeterEngine: Interrupting RMI Reaper 
Error in NonGUIDriver org.apache.jmeter.engine.JMeterEngineException: Error in rconfigure() method java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.lang.ClassNotFoundException: com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup (no security manager: RMI class loader disabled)
2017/06/23 09:34:34 ERROR - jmeter.JMeter: Error in NonGUIDriver org.apache.jmeter.engine.JMeterEngineException: Error in rconfigure() method java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.lang.ClassNotFoundException: com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup (no security manager: RMI class loader disabled)
    at org.apache.jmeter.engine.ClientJMeterEngine.runTest(ClientJMeterEngine.java:156)
    at org.apache.jmeter.JMeter.runNonGui(JMeter.java:831)
    at org.apache.jmeter.JMeter.startNonGui(JMeter.java:733)
    at org.apache.jmeter.JMeter.start(JMeter.java:392)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.jmeter.NewDriver.main(NewDriver.java:259)
Caused by: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.lang.ClassNotFoundException: com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup (no security manager: RMI class loader disabled)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:377)
    at sun.rmi.transport.Transport$1.run(Transport.java:200)
    at sun.rmi.transport.Transport$1.run(Transport.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162)
    at org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub.rconfigure(Unknown Source)
    at org.apache.jmeter.engine.ClientJMeterEngine.runTest(ClientJMeterEngine.java:133)
    ... 8 more
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.lang.ClassNotFoundException: com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup (no security manager: RMI class loader disabled)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:337)

我正在运行Ubuntu 16.04.2 LTS

I'm running Ubuntu 16.04.2 LTS

推荐答案

  1. jmeter-plugins-cmn-jmeter-0.3.jar应该转到"lib"文件夹,而不是"lib/ext"
  2. 您正在使用3年以上的JMeter 2.11,我建议您升级到 JMeter下载页面手动下载JMeter 3.2 (或更高版本) . Ubuntu存储库似乎包含非常过时的JMeter版本
  3. 为避免手动安装插件出现任何问题,我建议使用 JMeter插件管理器
  1. jmeter-plugins-cmn-jmeter-0.3.jar should go to "lib" folder, not to "lib/ext"
  2. You are using JMeter 2.11 which is 3+ years old, I would recommend upgrading to JMeter 3.2 (or later) by manually downloading it from JMeter downloads page. Ubuntu repositories seem to contain very outdated JMeter's version
  3. To avoid any issues with plugins manual installation I would suggest installing the same plugins set on the master host and all the slaves using JMeter Plugins Manager

这篇关于JMeter负载测试:ClassNotFoundException:com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆