HAProxy Kubernetes Ingress Controller Twice as Fast with Lowest CPU vs. Four Competitors
Head-to-head benchmarking evaluates performance across average requests per second, latency, CPU usage, and HTTP errors
HAProxy Technologies, provider of the world’s fastest and most widely used software load balancer, today announced that in head-to-head benchmarking tests the HAProxy Kubernetes Ingress Controller out performed those from Envoy, NGINX, NGINX Inc. and Traefik across the most crucial performance metrics. The benchmarking was conducted by HAProxy Technologies to assess the ability of each ingress controller to handle average requests per second, latency, CPU usage, and HTTP errors.
To ensure full transparency of its benchmark, HAProxy has published both its methodologies and results: HAProxy Kubernetes Ingress Controller Benchmark
“Understanding how your ingress controller and proxy perform is important. Poor performance requires excessive resources, which ultimately translates to lost money, especially in a cloud-native world. It can also lead to a suboptimal user experience,” said Daniel Corbett, Director of Product at HAProxy Technologies.
“Built upon HAProxy, the world’s fastest and most widely used load balancer, the HAProxy Kubernetes Ingress Controller supercharges your Kubernetes environment and connects clients outside your Kubernetes cluster with containers running inside. Having HAProxy as the engine provides superior performance, enhanced security, and detailed observability, which provides deep insight for detecting anomalies and incidents before they happen.”
HAProxy benchmarked the five popular Ingress Controllers in Kubernetes with their default out-of-box configurations. The test used 50 concurrent workers from five traffic-injecting pods. Several changes were made while the tests were running, which included scaling up pods, adding CORS headers, and adding path rewrites. At the end of benchmarking, HAProxy graphed the average requests per second; the 75th, 95th and 99th latency percentiles; user level CPU usage; as well as the number of HTTP error codes received. Here are the results.
Five load generators (50 concurrent requests each)
Average Requests Per Second
HAProxy handled approximately 42,000 requests per second. Traefik was second with 19,000, Envoy was third with 18,500; followed by NGINX Inc. third with 15,200 and NGINX with just over 11,700.
HAProxy was lowest across the board for the 75th, 95th and 99th percentiles. Envoy came in second, and NGINX Inc and Traefik were neck-and-neck for third. NGINX demonstrated drastic spikes in the 95th and 99th percentiles to finish last.
User Level CPU
NGINX Inc and HAProxy were neck-and-neck with just under 50 percent. NGINX was third at 65 percent, and Envoy and Traefik came in at 73 and 70 percent, respectively. It’s important to note that despite its significantly greater request rate, HAProxy was still able to maintain a significantly lower CPU rate.
HTTP Errors Returned
Neither HAProxy nor NGINX Inc. produced any errors. Envoy, however, produced 19 503 errors; NGINX produced 17 502 errors and 8 504 errors; while Traefik produced 1342 502 errors.
About the HAProxy Kubernetes Ingress Controller
The HAProxy Kubernetes Ingress Controller is a Kubernetes-native construct for traffic routing. The controller is maintained as a distinct open source project, with a regular release cycle, a growing community of developers, and an increasing number of advocates who favor it over other ingress controllers.
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 Waltham, MA, with multiple offices across the US and Europe. Learn more at HAProxy.com.