JAX London, 3–6 October 2022
The Conference for Java & Software Innovation

Building an Accurate Performance Testing Harness

This talk originates from the archive. To the CURRENT program
Until the conference starts ✓ 4-Day-Pass all inclusive ✓ Group discount Register now
Monday, October 8 2018
09:30 - 17:30
Room B+C
Booking note:
Performance Testing Workshop

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

Using an iterative process to performance testing, attendees will learn about JVM internals, advanced profiling techniques, and benchmarking methodology.
This is a hands-on course that will provide tools and techniques for improving application performance.
The extra instructions for attendees is below.

This course is designed for developers with an interest in measurement and testing systems performance.
Workshop attendees should bring a laptop, ensuring that they have the following installed:
Gradle 3.2.1+
Latest _Oracle_ JDK 1.8 (not OpenJDK, not JRE)

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 (further material will be supplied in the workshop).
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

Software Architecture & Design
Software innovation & more
Architecture structure & more
Agile & Communication
Methodologies & more
Emerging Technologies
Everything about the latest technologies
DevOps & Continuous Delivery
Delivery Pipelines, Testing & more
Cloud & Modern Infrastructure
Everything about new tools and platforms
Big Data & Machine Learning
Saving, processing & more