Obtaining and installing the performance test suite
As a registered user of Corda Enterprise, you can get the performance test suite as a zip file from the same location where the Corda
Enterprise artifacts are available. Look for a file called
The performance test suite is shipped as a
.zip file containing the following files:
jmeter-corda-<version>-capsule.jar: A fat
.jarfile that contains the wrapped JMeter code to drive performance tests as well as all the required dependencies to run the JMeter application. It is referred to as
jmeter-corda.jarthroughout on this and other related pages in the Corda documentation.
corda-ptflows-<version>.jar: A performance test CorDapp used by the built-in samplers and the included sample test plans. If you intend to use these test plans, you should deploy this CorDapp to any node of the system under test. The CorDapp itself is called
settlement-perftest-cordapp-<version>.jar: A performance test CorDapp used by the built-in samplers and the included sample test plans. If you intend to use these test plans, you should deploy this CorDapp to any node of the system under test. For more information, see introduction.
- A number of test plan
.jmxfiles. For more information, see included testplans.
jmeter.properties: An example of the
jmeter.propertiesfile used to configure JMeter. If you need a custom configuration, you should base it on this file.
sample-server-rmi.config: An annotated sample for the server RMI mapping required to use remote JMeter over SSH tunnels. For more information, see SSH Tunnel Set-Up.
Simply create a working directory for JMeter Corda on the client machine and unzip the performance test suite to this
directory. This app requires an Oracle JRE version 1.8 build 172 or later. After unpacking,
you should immediately be able to run it from a shell by typing
java -jar jmeter-corda.jar. Please refer to
Running JMeter Corda for details and command line options.
Installing JMeter server
The same JAR file used for running the client can be run as a server as well by starting it with the
-s flag as part
of the JMeter arguments. It can be installed by simply copying the JAR file to the server and having an adequate JRE
If SSH tunneling is in use, the server will also need access to the same RMI port mappings file used on the client side. Also, if the client side uses a customised JMeter properties file that differs from the default one baked into the JMeter JAR file by more than just the list of remote host names from, this needs to be used on the server side as well. See Running JMeter Corda for details on the command line options required. A typical command line might look like this:
java -jar <path to jmeter-corda jar> -XjmeterProperties <path to properties file> -XserverRmiMappings <path to RMI mappings file> -- -s
If you want to use JMeter Corda remotely, it is suggested to install the JMeter server as a system service on the servers it is required to run on. Assuming a Linux system with a systemd-based run control, the service to install would look something like this:
[Unit] Description=Jmeter Corda Requires=network.target [Service] Type=simple User=<jmeter Corda user> WorkingDirectory=<jmeter deploy directory> ExecStart=/usr/bin/java -Xmx512m -jar <JMeter deploy directory>/jmeter-corda.jar -XjmeterProperties <path to properties file> -XserverRmiMappings <path to RMI mappings file> -- -s Restart=on-failure [Install] WantedBy=multi-user.target