Introduction
Throughout these instructions whenever you encounter an environment variable syntax like ${host} you should replace that with whatever is appropriate to your use case.
Performance tests might need a lot of memory. If the point is to test the code rather than the environment you should ensure that the JVM has sufficient heap and direct memory (-Xmx and -XX:MaxDirectMemorySize respectively).
Running the Performance Tests from the Command Line
- Start the broker on ${broker_host} (default:
localhost
) - ensure the broker has http management enabled and listening on port ${broker_port_http} (default:
8080
) - Configure the broker to listen on AMQP port ${broker_port} (default:
5671
) - Configure the broker to accept the credentials ${username} and ${password} (default:
admin:admin
) - Configure the broker's http plugin to accept basic authentication
- If needed configure a KeyStore and a AMQPS port at ${broker_ssl_port}
- Invoke maven to run the performance tests
Invoke maven on the command line:
mvn dependency:tree integration-test -f ${path_to_qpid_sources}/perftests/pom.xml -DskipTests -Dperftests=qpid-jms-client -Dperftests.management-url=http://${broker_host}:${broker_port_http} -Dpertests.management-user=${username} -Dperftests.management-password=${password} -Dperftests.messaging-hostport-plain=${broker_port} -Dperftests.messaging-hostport-plain=${broker_ssl_port} -Dperftests.messaging-user=${username} -Dperftests.messaging-password=${password} -Dperftests.hillclimb=true
if all the defaults are used this can be simplified to
mvn dependency:tree integration-test -f ${path_to_qpid_sources}/perftests/pom.xml -DskipTests -Dperftests=qpid-jms-client -Dperftests.hillclimb=true
- Other interesting options are as follows:
perftests.hillclimb.minimum_delta
perftests.hillclimb.max_runs
qpid.disttest.duration