Skip to content

Benchmarking

Richard Warburton edited this page Aug 29, 2015 · 14 revisions

Compilation

In order to compile the benchmarks JAR run: ./gradlew benchmarks

Running Codec Microbenchmarks

fix-gateway-system-tests/build/libs/fix-gateway-system-tests-0.1-SNAPSHOT-benchmarks.jar is just a standard JMH benchmark jar, so for example to run the stub decoder benchmark run:

java -jar ./fix-gateway-system-tests/build/libs/fix-gateway-system-tests-0.1-SNAPSHOT-benchmarks.jar StubDecoderBenchmark

Running Performance Tests

Run the server:

java -cp ./fix-gateway-system-tests/build/libs/fix-gateway-system-tests-0.1-SNAPSHOT-benchmarks.jar uk.co.real_logic.gateway.system_benchmarks.FixBenchmarkServer

Run the benchmark client:

java -cp ./fix-gateway-system-tests/build/libs/fix-gateway-system-tests-0.1-SNAPSHOT-benchmarks.jar uk.co.real_logic.figateway.system_benchmarks.FixBenchmarkClient

Benchmark Images on AWS

From Scratch

Pick an Ubuntu HVM image, at least a c3.2xlarge.

sudo apt-get install htop screen mosh
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
scp -i /path/to/pem.pem -r bench/ ubuntu@<server-address>.compute.amazonaws.com:

Optionally upload your .screenrc

scp -i /path/to/pem.pem ~/.screenrc ubuntu@<server-address>.compute.amazonaws.com:

From an AMI

Running benchmarks

./gradlew benchmarks scp -i ~/Documents/RichardDesktop.pem fix-gateway-system-tests/build/libs/*-benchmarks.jar [email protected]:bench/

scp -i ~/Documents/RichardDesktop.pem [email protected]:bench/dump.jfr .

Clone this wiki locally