J'essaie des tests de charge non-GUI et distribués JMeter.JMeter load-testing: ClassNotFoundException: com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup
Avant d'être distribué, je l'ai testé localement. J'ai installé JMeter sur mon ordinateur portable et mis en place un plan de test ciblant le système testé. J'ai installé le gestionnaire de plugin et j'installe le plugin de threads simultanés. J'ai trouvé mon fichier JMX correct et fonctionnel, j'ai donc décidé de déployer le paramètre distribué.
Je configure trois machines pour la génération de charge: load-1, load-2 et load-3. J'ai installé JMeter comme suit: apt update ; apt upgrade
sur tous apt install jmeter
sur tous les ont copié les fichiers JAR situés dans/usr/share/jmeter/lib/ext de mon ordinateur portable à tous, dans le même répertoire:
jmeter-plugins-casutg-2.1.jar
jmeter-plugins-cmn-jmeter-0.3.jar
jmeter-plugins-manager-0.11.jar
j'ai commencé le serveur JMeter sur deux d'entre eux comme suit:
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
J'utilise le troisième pour commencer les tests distribués comme suit:
jmeter -n -t ~/JMeter_API_TestPlan.jmx -R207.112.137.21,207.112.137.22
Le paramètre distrubuted semble démarrer correctement, mais le début de fil échouent probablement à cause d'une classe pas trouvé:
java.lang.ClassNotFoundException: com.blazemeter.jmeter.threads.concurrency.ConcurrencyThreadGroup (pas responsable de la sécurité : Chargeur de classe RMI désactivé)
AI manque un JAR ou un paramètre de configuration?
Le jmeter.log montre les éléments suivants:
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)
Je cours Ubuntu 16.04.2 LTS
Étape # 1 a fait le tour, que toi ! – SCO