JAX DevOps, 14-17 May 2019
The Conference for Continuous Delivery, Microservices, Docker & Clouds

Building an Accurate Performance Testing Harness

This talk originates from the archive. To the CURRENT program
Till February 21: ✓ Very Early Bird discount ✓ Ardunio kit or Nintendo mini for free ✓Save up to £ 200 Register now
Monday, April 9 2018
09:00 - 17:00
Edward 5-6

A key part of any organization’s testing strategy is the performance test harness. Without access to accurate telemetry and results, it is difficult to reason about the limits of a system’s performance. We place our trust in various tools to place our services under stress, but how can we be sure that the outputs from these tests reflect reality?

This full-day course explores how to validate that your load-testing harness is producing accurate results. Attendees will develop and iterate on a load-test harness to measure the responsiveness of a simple microservice. The course will cover how to measure and report system throughput and latency, and how to measure the system-under-test to understand where bottlenecks lie.

Key takeaways:

  • JVM internals
  • System profiling tools
  • Benchmarking methods
  • Performance monitoring and metrics collection
  • High-performance programming techniques

Workshop attendees should ensure that they have the following installed:

Gradle 3.2.1+

Latest _Oracle_ JDK 1.8 (not OpenJDK, not JRE)

For Linux users:

clone the grav repository:


clone the perf-map-agent repository:


(and follow installation instructions)

clone the Flamegraph repository:


Clone the following repository:
run (linux/mac): 
./gradlew build
run (windows):
./gradlew.bat build
This will ensure that project dependencies are already installed on your laptop.
Linux users can download and build async-profiler, which will be used during the course:

All code samples will work cross-platform, but advanced profiling techniques are only possible on Linux systems.

Attendees running MacOS/Windows should dual-boot to Linux if possible, or run a Linux VM to participate in all exercises.

Some exercises will require a machine with 4 or more hardware threads.

All exercises will be demonstrated by the presenter, so don’t worry if you don’t have a Linux system.

Behind the Tracks

the process of becoming fully agile
Cloud-based & native apps
Docker, Kubernetes, Mesos & Co
Build, test and deploy agile
Maximize development productivity