Hi.

I am currently trying to setup some remote test cases with the following setup:
- 2 linux Tomcats and 1 linux Apache as target hosts to be tested
running our web app
- 2 separate linux hosts running the jmeter-server to generate load on
the target hosts
- 1 linux client running the controlling jmeter instance in non-gui
mode (all via SSH sessions)

I am using the JMeter 2.3.2 stable release and all the linux boxes are
in the same network subnet, but separated by firewalls currently only
allowing ports 8080 and 1099 to get through. On the load generators I
am using the default jmeter.properties and the rmiregistry gets
started on default port 1099. On the controlling host, I have set the
following properties in the jmeter.properties file:

--------------------------
remote_hosts=10.30.23.63:1099 (only using one load generator for testing)
server.rmi.port=1099 (this would not be necessary, since it is the default)
--------------------------

When trying to connect with the controlling jmeter instance, I get
ConnectExceptions due to timeouts in the jmeter.log file. When looking
at the listening ports on the load generator host, I see that it is
listening on the rmiregistry port and an additional anonymous port:

--------------------------
# netstat -lnp | grep java
tcp        0      0 0.0.0.0:51910           0.0.0.0:*
LISTEN      26862/jav
tcp        0      0 0.0.0.0:1099            0.0.0.0:*
LISTEN      26862/jav
--------------------------

Obviously the RMI lookup gets dispatched to a separate port, which I
would assume to be the usual behavior. But nevertheless the firewall
will block this (random) free port since we cannot predict and enable
it in the firewall. One approach was to adjust the JMeter code to use
a custom SocketFactory[0] for RMI interaction which will always
provide a custom configurable port number as described in [1]. But at
this I am currently stuck and do not want to spend too much time.

So, finally - my question: Has anyone already set up clean remote test
cases using a proxy-based solution for tunneling the RMI connections
through the inter-host firewall as described in the distributed
testing guide [3]? And if not, has anyone already patched the JMeter
code to provide custom port numbers for the actual service calls? (Or
would one even have to exchange the SocketFactory for rmiregistry
since this might be where the dispatching occurs?)

For forwarding ports I could use SSH tunnels but I am not sure if this
would a too great an impact on the load testing performance.

Any help on this issue is greatly appreciated. If any facts are
missing please simply ask.

Cheers & Thanks,
Axel


-- 
[0] http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html
[1] http://wiki.apache.org/jakarta-jmeter/JMeterRemoteTestingEnhancements
(section below 'a modified version' header).
[2] 
http://jakarta.apache.org/jmeter/usermanual/jmeter_distributed_testing_step_by_step.pdf
(section 'Limitations')

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to