JAX DevOps, 21-24 April 2020
The Conference for Continuous Delivery, Microservices, Docker & Clouds

Building an Accurate Performance Testing Harness

Workshop
This talk originates from the archive. To the CURRENT program
Join the Software Delivery Revolution! + save up to 30% with the team discounts Register now
Infos
Monday, April 9 2018
09:00 - 17:00

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:

https://github.com/epickrram/grav

clone the perf-map-agent repository:

https://github.com/jvm-profiling-tools/perf-map-agent

(and follow installation instructions)

clone the Flamegraph repository:

https://github.com/brendangregg/Flamegraph

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

BUSINESS & COMPANY CULTURE
the process of becoming fully agile
CLOUD PLATFORMS
Cloud-based & native apps
DOCKER & KUBERNETES
Docker, Kubernetes, Mesos & Co
CONTINUOUS DELIVERY
Build, test and deploy agile
MICROSERVICES
Maximize development productivity
Business & Company Culture

Business & Company Culture

Cloud Platforms

Cloud Platforms

Docker & Kubernetes

Docker & Kubernetes

Continuous Delivery

Continuous Delivery

Microservices

Microservices

Monitoring & Diagnostics

Monitoring & Diagnostics