We performance test NGINX Ingress Controller and the default Red Hat OpenShift Router in an OpenShift Cloud Platform cluster while scaling the number of backends up and down. The Router experiences significant latency and errors, but NGINX Ingress Controller almost none.
NGINX Open Source 1.21.4 introduces support for kernel TLS (kTLS), which boosts performance by significantly reducing the need to copy data between user space and the kernel. We provide complete instructions for enabling kTLS in NGINX and share results of our performance testing.
We compare NGINX performance in bare-metal and virtualized (hypervisor) environments, finding a small but measurable performance cost for hypervisors. We also find that performance in Kubernetes environments is worse for network-bound but not CPU-bound operations.
We compare the reverse proxying performance of HAProxy and NGINX. Performance is similar until the request rate is large enough for HAProxy to hit 100% CPU utilization. At that point, its performance degrades significantly while NGINX continues to experience almost no latency.
We compare the performance in a dynamic Kubernetes cloud environment of three NGINX Ingress Controllers (one from the Kubernetes community and two from F5 NGINX). As the number of pod replicas scales up and down, only the NGINX Ingress Controller based on F5 NGINX Plus doesn't incur high latencies.
Independent technical research firm GigaOm compared the performance of NGINX and several popular API management solutions. Their report validates NGINX as the only solution that helps you deliver APIs in real time. Read this summary blog and download the full report.
This blog describes the performance you can achieve with the NGINX Ingress Controller for Kubernetes, in terms of three metrics: requests per second, SSL/TLS transactions per second, and throughput. The full NGINX and Kubernetes configurations we used are included.