
Episode 339
High-Performance Load Testing
A conversation with Francesco Nigro about scalability, performance testing and broken load generators
airhacks.fm podcast with adam bien · adam-bien.com
April 6, 20251h 10m
Audio is streamed directly from the publisher (s3.eu-central-1.amazonaws.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.
Show Notes
An airhacks.fm conversation with Francesco Nigro (@forked_franz) about:
discussion about the importance of stress testing over System Tests and unit tests, Coordinated Omission Problem in load generators where they don't accurately measure server performance during slowdowns, introduction to HyperFoil as a high-performance load generator capable of generating millions of requests per second with just two cores, explanation of how HyperFoil avoids GC overhead by pre-allocating resources, the architecture of HyperFoil using Netty event loops and a graph-based execution model, comparison with other load testing tools like JMeter, K6, Apache Benchmark and Vegeta, introduction to QDUP as a shell automation tool for distributed testing, overview of Horreum for performance test results storage and analysis, explanation of how these tools work together in Red Hat's performance testing pipeline, discussion of JCTools and its importance for GC-free concurrent data structures, the Universal Scalability Law and its application to load balancing algorithms, the pick-two-random algorithm for efficient resource allocation, the benefits of using JBang for easy one-line execution of HyperFoil, potential drawbacks of HyperFoil including ergonomics and JIT compilation warm-up issues, the possibility of using GraalVM native image to avoid JIT compilation delays
Francesco Nigro on twitter: @forked_franz