How We Achieved 2-Million RPS: HAProxy on Arm Processors
In this HAProxyConf 2021 presentation, Kailas Jawadekar, Senior Manager at Arm, and Nenad Merdanovic, Principal Solutions Architect at HAProxy Technologies described how Arm’s Graviton2 processor, which was specially developed to run on AWS EC2 instances, gave HAProxy Community Project Lead, Willy Tarreau, the opportunity to benchmark HAProxy on a machine with serious horsepower.
At the beginning of the presentation, Kailas introduced Arm and what type of company it is, and what its technology enables. Arm enables specialized processing built on the economics, design freedom and accessibility of general-purpose compute that has, so far, led to more than 180-billion chips being shipped by their partners.
When it comes to benchmarking HAProxy, or any other high-speed networking software for that matter, there are always obstacles to overcome to achieve an accurate test. Choosing an optimal HAProxy configuration, colocating the traffic source during the test, and avoiding hardware and network limitations come to mind. All benchmarks are not created equal. Willy Tarreau has codified much of the benchmarking best practices he identified into a project he is calling DPbench, which is a suite of tools and guidance built specifically for benchmarking low-level network components like load balancers.
Nenad mentioned the critical importance of latencies and how they are handled, which is where Arm processors enter the story. For testing purposes, Nenad explained that using Arm-based Graviton2 instances was a perfect fit for HAProxy because of the powerful specs, such as having 64 cores, uniform memory access, and 100-gigabit network bandwidth.
Later on, Nenad explained the setup process and, as you can see above, the throughput result of 2.07-million requests per second. It is important to note the ramp-up period, as well as the latency periods involved. To hear about how HAProxy reached 2-million requests-per-second, watch the full HAProxyConf 2021 presentation video (embedded at the top of this page). We also recommend visiting our detailed blog post from Willy Tarreau on this very subject.
Here you can view the slides used in this presentation if you’d like a quick overview of what was shown during the talk.
Sr Manager, Software Ecosystem, Arm
Kailas Jawadekar is a Sr. Manager – Software Ecosystem at Arm focused on driving the Cloud Native Software Ecosystem for Arm Neoverse-based platforms with the goal of expanding the Arm infrastructure footprint for hyperscalers, data center and Telco operators. Before joining Arm, Kailas was a Principal Product Manager at Dell Technologies defining the next generation compute roadmap for Telco, 5G and Edge, and developing integrated solutions with ISV partners.
Principal Solutions Architect,
Nenad Merdanovic is a Principal Solutions Architect at HAProxy Technologies with over 10 years of experience in designing high-performance, scalable and fault-tolerant architectures. Nenad’s main interests include performance optimization, (D)DoS attack mitigation, and security.