0
votes

I want to run distributed load testing by jmeter, where servers(linux) are in the cloud and I have ability to start test from my local pc. Is it even possible or client and servers should be in same subnet? And in case its possible, may you provide me step by step guide how to achive this goal? I have tired

https://jmeter.apache.org/usermanual/remote-test.html

https://cloud.google.com/community/tutorials/ssh-port-forwarding-set-up-load-testing-on-compute-engine?hl=ja

but I got error after error. Before I disabled ssl verification, next error appeared:

error during JRMP connection establishment; nested exception is:
        javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake

With disabled ssl verification I have next error:

Error in rconfigure() method java.rmi.MarshalException: error marshalling argume
nts; nested exception is:
        java.net.SocketException: Connection reset by peer: socket write error

I have feeligs, like I making smth wrong with setting ip, port or firewall, but cant understand what

2

2 Answers

1
votes

It is definitely possible to starts load agents (jmeter-server) from your local system. The only condition is that the traffic should not be blocked by firewall.

Based on your error, it looks like jmeter process is not having permission to open a port, port is already open (although there is a specific exception for this)

You can also try allowing all incoming traffic to your slaves (cloud linux boxes) and try running the test again.

1
votes

According to the manual you mentioned all you need to do is just to take the following steps:

  1. On your local machine set up the SSH tunnel:

    ssh -L 24000:127.0.0.1:24000 -R 25000:127.0.0.1:25000 -L 26000:127.0.0.1:26000 username@hostname_of_cloud_machine
    
  2. On the cloud machine launch the JMeter slave

    ./jmeter -s -Jserver.rmi.ssl.disable=true -Jserver_port=24000 -Jserver.rmi.localhostname=127.0.0.1 -Jserver.rmi.localport=26000 -j jmeter.log
    
  3. Again on the local machine launch the JMeter master:

    ./jmeter -Jserver.rmi.ssl.disable=true -Jremote_hosts=127.0.0.1:24000 -Jclient.rmi.localport=25000 -Jmode=Statistical -n -t test.jmx -l result.jtl
    

You don't need to configure any firewalls as all the communication is happening over the SSH tunnel

More information: