HAProxy Reaches Over 2 Million Requests per Second on a Single Arm-based AWS Graviton2 Instance
This incredible milestone was achieved while maintaining sub-millisecond latency for the 99.99 percentiles
HAProxy Technologies, provider of the world’s fastest and most widely used software load balancer, today announced that HAProxy 2.3 tested on a single Arm® Neoverse™-based AWS Graviton2 instance scales and achieves 2.04 million requests per second. While the tests demonstrate that the load balancer can scale to an incredible level if run on very powerful servers with significant network bandwidth, it’s also possible to run on much more modest hardware while still achieving excellent results.
To learn more, read the HAProxy blog post: HAProxy Forwards Over 2 Million HTTP Requests per Second on a Single Arm-based AWS Graviton2 Instance
"This proves that the radical move to multithreading engaged four years ago and the determination to progressively attack all the remaining bottlenecks was the right strategic move for the project at an era dominated by multi-core CPUs: it now performs better than ever without all the functional limitations that once were imposed by a multi-process architecture. I’m even happier to completely remove support for this obsolete model in 2.5," said Willy Tarreau, Community Project Lead & CTO at HAProxy Technologies.
"Infrastructure power and efficiency demands are changing rapidly with increasing and diverse workloads,” said Bhumik Patel, Director of Ecosystem Software Development, Infrastructure Line of Business, Arm. “The performance and scale numbers from HAProxy are a testament to the benefits solution providers can achieve when combining best-in-class performance of Arm Neoverse-based cloud instances with one of the fastest and widely-used software load-balancers in the market."
High Performance Arm-Based AWS Environment
Wanting to see how HAProxy would scale in a high performance environment, Willy Tarreau, Community Project Lead & CTO at HAProxy Technologies, accessed some of AWS’s new Arm Neoverse-based Graviton2-powered instances, which provide up to 64 cores. Each core uses its own L2 cache and there’s a single L3 cache shared by all cores. In addition, Tarreau switched to the new Armv8.1-A Large System Extensions (LSE) atomic instructions, which totally unlocked the true power of these machines. This environment gave him the opportunity to push the HAProxy benchmarks to the next level.
HAProxy’s performance peaked at 2.04 to 2.05 million requests per second. The direct communication from the client to the server shows 160 microseconds response time while adding HAProxy increases it to 560. So, HAProxy adds at most 400 microseconds on average—less than half a millisecond.
At that point, however, the machine is totally saturated and due to this, HAProxy is measuring the effect of queuing at every stage in the chain (network buffers and HAProxy). Preliminary tests on the forthcoming HAProxy 2.4 release show very promising results with even higher rates and lower traversal times, indicating that 2.4 will be an excellent release.
About HAProxy Technologies
HAProxy Technologies is the company behind HAProxy, the world’s fastest and most widely-used software load balancer. Rapidly deploy HAProxy products to deliver websites and applications with the utmost performance, observability and security at any scale and in any environment. HAProxy Technologies is headquartered in Newton, MA, with multiple offices across the US and Europe. Learn more at HAProxy.com.