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

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

You need to:
Generate the rmi_keystore.jks file on the master machine
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:
Configuring JMeter
Full list of command-line options
Apache JMeter Properties Customization Guide

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

Related

Adding SSL parameters to pepper_box config in jmeter

I'm trying to test a kafka stream on jmeter using the pepper box config, but each time I try adding java request parameters it goes back to the default parameters without saving the ones I have added. I have tried the recommendations on here of adding the underscore, so _ssl.enabled, but the params are still disappearing. Any recommendations? Using jmeter5.3 and pepper-box1.0
I believe you need to put your SSL properties to the PepperBoxKafkaSampler directly, there are pre-populated placeholders which you can change and the changes persist.
The same behaviour is for Java Request Defaults
It might be the case your installation got corrupt somehow or there is a conflict with another JMeter Plugin, check jmeter.log file for any suspicious entries
In the meantime you may find Apache Kafka - How to Load Test with JMeter article useful
I had the same issue. I got around this issue by cloning the pepperbox repository https://github.com/GSLabDev/pepper-box and made changes to the PepperBoxKafkaSampler.java file, updated the setupTest() method with your props. You can also add the parameters making use of the .addArgument() method (used in PepperBoxKafkaSampler.java) to make the parameters available in jmeter.
Rebuild the repo using maven mvn clean install replace the old pepperbox jar in jmeter/lib/ext with your new built jar.

What does this option do HTTPD_MODULES_STRIP for HTTPD?

Im using PHP buildpack https://github.com/cloudfoundry/php-buildpack for CloudFoundry. The app bring up a dummy HTTPD webserver directing traffic to defined endpoint.
In .bp-config/options.json, i could see HTTPD_MODULES_STRIP.
What does this option accomplish? Setting true or false, resulted in the same outcome. So curious, how is it being used?
If the extension has to be written to consume that option, how do i do that?
version of HTTPD 2.4.12
When modules specified in your build manifest are zipped, setting HTTPD_MODULES_STRIP to true will cause the first element of the archived file's path to be stripped before placing it in the destination directory.
Example when HTTPD_MODULES_STRIP = true: When extracting file archive.txt into destination directory intoDir, directory "some" is removed from the resulting pathname.
some/file/in/archive.txt -> intoDir/file/in/archive.txt
See ./lib/build_pack_utils/builder.py line 312 and ./lib/build_pack_utils/zips.py for more info.

JMeter Test Results Monitoring/ Analysis

I want to start load testing by running JMeter from command line for more accurate test results, but how can I monitor the run and then analyze the results after the test finishes.
You can generate JTL (JMeter results) file while executing the JMX (JMeter script) file from command line. A sample command for generating JTL file will look like this..
jmeter -n -t path-to-jmeterScript.jmx -l path-to-jtlFile.jtl
After completion of script execution you can open the JMeter GUI and simply open the JTL file in any listener (as per your requirement).
Most of the listeners in JMeter have an option to save the results into a file. This file contains usually not the report itself, but the samples which are generated by the tests. If you define this filename, you can generate the reports using these saved files. For example see http://jmeter.apache.org/usermanual/component_reference.html#Summary_Report .
If you run JMeter in command-line non-GUI mode passing results file name via -l parameter it will output results there. After test finishes you will be able to open the file with the Listener of your choice and perform the analysis.
By default JMeter writes results in chunks, if you need to monitor them in real time add the following line to user.properties file (lives under /bin folder of your JMeter installation)
jmeter.save.saveservice.autoflush=true
You can use other properties which names start with jmeter.save.saveservice.* to control what metrics you need to store. The list with default values can be seen in jmeter.properties file. See Apache JMeter Properties Customization Guide for more information on various JMeter properties types and ways of working with them.
You can also consider running your JMeter test via Taurus tool - it provides some statistics as the test goes either in console mode or via web interface.

FuseFabric - Add a config file via console

In FuseFabric we can add configuration files using the web console, using the Config Files Tab and just write the name of the configFile and inside it the properties foo=foo
Well, this is very simple, and my question is: How can I do this using the Fabric console ??
just typing commands ????? D:
I've seen the fabric:profile and its options, and I can edit the properties, but only when there is an already existing PID.
Thank you for every answers !
You can use this command:
fabric:profile-edit --pid PID/Property=Value Profile [Version]
Otherwise, maintaining property files on the file system and using import to re-import the settings works fine also.
Use profile-display to see the correct PID.

How to specify JAVA_OPTS for solr?

I am using on apache solr3.6 (naive user) and have data in the multicore of solr folder.
D:\setup\apache-solr-3.6.0\example\multicore
The current version of tomcat I am using has startup.bat in its bin folder so I specified JAVA_OPTS in it as below:
rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs
set "JAVA_OPTS=%JAVA_OPTS% -Dsolr.solr.home=D:\setup\apache-solr-3.6.0\example\multicore"
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
:end
However I recently downloaded a new version of tomcat which contains no startup.bat in it but some .exe file (may be tomcat.exe) instead, double clicking which will start the tomcat server.
So how do I specify JAVA_OPTS and -Dsolr now?
As #Bhanu said...
Go to tomcat istallation folder, inside Apache Software Foundation\Tomcat 6.0\bin you'll find tomcat6w.exe run it. It will open tomcat configuration window
Open java tab and specify the multicore path inside java options as -Dsolr.solr.home=D:\setup\apache-solr-3.6.0\example\multicore
For setting up Solr Home option with Tomcat refer to details.
Also, more information would be available at SolrTomcat
In newer versions of tomcat say tomcat7, you will find tomcat7w.exe in tomcat/bin. Run it select Java tab and in Java Options pane write your path.
It is quite easy compared to JNDI way.