JMeter Distributed Testing java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)

Viewed 2467

setting up a distributed test with Jmeter i ended up in this problem. First of all i'm aware setting the jmeter.property server.rmi.ssl.disable=true is a work around.

Still i'd like to see if it is possible to use this rmi_keystore.jks. The Jmeter documentation https://jmeter.apache.org/usermanual/remote-test.html is clear enough about setting up the environment but doesn't mention at all how specify the path to the rmi_keystore.jks, or if this has to be the rmi_keystore.jks on the worker or the one in the controller.

I noticed if you do a test on your machine as worker and controller ( as this guy does https://www.youtube.com/watch?v=Ok8Cqc0wipk ) setting the absolute path to the rmi_keystore.jks works.
Ex. server.rmi.ssl.truststore.file=C:\path\to\the\rmi_keystore.jks and server.rmi.ssl.keystore.file=C:\path\to\the\rmi_keystore.jks and.

But this doesn't work when controller has a different path to the rmi_keystore.jks then the worker.

My question is : how can I set the right jmeter properties server.rmi.ssl.truststore.file and server.rmi.ssl.keystore.file to resolve the FileNotFoundException? Stating that default values don't work?

thank you everyone

2 Answers

You need to:

  1. Generate the rmi_keystore.jks file on the master machine
  2. Copy it to all the slaves

The default location (where JMeter looks for the file) is rmi_keystore.jks, to wit if you drop it to "bin" folder of your JMeter installation on master and slaves - JMeter will find it and start using.

The server.rmi.ssl.keystore.file property should be used if you want to customize the file name and/or location so if it is different you can either set slave-specific location via user.properties file or pass it via -J command-line argument.

If location is common for all the slaves and you want to override it in a single shot - provide it via -G command-line argument.

More information:

You can use create-rmi-keystore.bat to generate the rmi_keystore.jks. You will find it under Bin folder.

Related