Training Courses

We have distilled years of learning into our hands-on training courses, ensuring that attendees will take away detailed, actionable knowledge.

Our courses cover the art of accurate performance testing, Operating System and application tuning, and monitoring and profiling techniques. Whether you're starting from scratch on building out a performant system, or would like to gain expertise in measuring and improving an existing system, we have a training course that will bring value to your business.

The training courses are specifically designed to be almost wholly practical, as we believe that putting theory into practice is the best way to learn these techniques. Attendees are also presented with reference material that accompany the practical work.

We provide training at numerous Tech conferences (JAX London, QCon London, etc), public courses, and special on-site courses by arrangement.

If you would be interested in on-site training, please contact us on to discuss your requirements.

Upcoming public training courses:
Advanced Java Profiling 17th October, London, UK. Tickets can be purchased here.

Upcoming conference training courses:
Accurate Performance Testing JAX London 8th October, London, UK.

Our courses

Advanced Java Profiling

A full-day course on advanced profiling techniques.

This course is designed for application develops and performance engineers, who are already well-versed in the use of standard application profilers. The material will build on this knowledge, exploring in more depth different approaches to profiling, and covering more advanced techniques. Other topics include measuring and reporting system latency, and profiling in production.

Profilers - the good, the bad, the ugly?
A look at the profiler landscape comparing the pros and cons of each type.
Sampling vs recording
Trade-offs that need to be considered when choosing a profilng method.
Flamegraphs and other visualisations
Allocation profiling
Custom tracepoints
How to instrument programs to capture events.
Profiling in production
Techniques for "always-on" profilng.
OS/Kernel/Hardware profiling
Looking for performance issues lower down the stack.

Accurate Performance Testing

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

Linux System Tuning for Low Latency

A full-day course covering the mechanics and usage of Linux kernel tracing tools.

Attendees will learn what tools are available, and when to deploy them.

This course involves using kernel tracers to understand application performance, and identify areas for improvement in terms of interaction with the underlying operating system.

Key takeaways

Linux tracers

Operating system internals

Visualisation methods

Custom kernel instrumentation techniques