Get up to 3.21x the NGINX Performance by Selecting Google Cloud N2 Virtual Machines Featuring 3rd Gen Intel® Xeon® Scalable Processors with Intel® QuickAssist Technology

NGINX:

  • Small VMs: Up to 3.01 times the performance using Intel® QAT high CPU N2 VMs with 4 vCPUs vs. previous-gen standard N2 VMs.

  • Medium VMs: Up to 3.21 times the performance using Intel® QAT on standard N2 VM instances with 16 vCPUs vs. previous-gen N2 VMs.

  • Large VMs: Up to 3.02 times the performance using Intel® QAT on standard N2 VMs with 48 vCPUs vs. previous-gen N2 VMs.

Standard and High CPU N2 Virtual Machines Using Intel® QAT Outperformed Both New and Previous-Generation VMs Without Intel® QAT

Many businesses provide safe, encrypted network connections using SSL/TLS to enable their consumers to feel confident about sending their data over the Internet. NGINX is an open-source web server application that serves as a reverse proxy, load balancer, and mail proxy. Companies running NGINX web servers on Google Cloud can boost performance by choosing virtual machines (VMs) with 3rd Gen Intel® Xeon® Scalable processors.

With 3rd Gen Intel® Xeon® Scalable processors, users have the option of installing Intel® QuickAssist Technology (Intel® QAT) to boost performance. Intel® QAT and Intel® QAT Engine (OpenSSL Engine) use vectorized instructions to speed cryptographic operations and allow more users to connect at a time, which in turn accelerates hardware and software. We tested NGINX performance for three series of Google Cloud VM instances: older N2 VMs powered by 2nd Gen Intel® Xeon® Scalable processors, Standard N2 VMs powered by 3rd Gen Intel® Xeon® Scalable processors, and High CPU N2 VMs featuring 3rd Gen Intel® Xeon® Scalable processors. Our results show that choosing N2 VMs featuring 3rd Gen Intel® Xeon® Scalable processors and adding Intel® QAT gives you more connections per second for NGINX workloads.

Intel® QAT Improved Performance Regardless of VM Size

Figure 1 shows results at smaller vCPU counts. Using Intel® QAT with 3rd Gen Intel® Xeon® Scalable processors boosted NGINX performance significantly over both older N2 VMs and newer VMs without Intel® QAT. Choosing newer VMs and adding Intel® QAT achieved a connection rate up to 3.01 times that of older VMs at 4 vCPUs and up to 2.99 times that of older VMs at 8 vCPUs.

As Figure 2 shows, choosing newer VMs with Intel® QAT achieved a connection rate up to 3.21 times that of older VMs at 16 vCPUs and up to 3.17 times that of older VMs at 32 vCPUs.

As Figure 3 shows, choosing newer VMs with Intel® QAT achieved a connection rate up to 3.02 times that of older VMs at 48 vCPUs and up to 2.59 times that of older VMs at 64 vCPUs.

Cloud benchmark chart 1

Figure 1. Relative NGINX performance, in connections per second, that small 2nd and 3rd Gen N2 VMs achieved with and without Intel® QAT.

Cloud benchmark chart 2

Figure 2. Relative NGINX performance, in connections per second, that medium 2nd and 3rd Gen N2 VMs achieved with and without Intel® QAT.

Cloud benchmark chart 3

Figure 3. Relative NGINX performance, in connections per second, that large 2nd and 3rd Gen N2 VMs achieved with and without Intel® QAT.

Conclusion

Google Cloud virtual machines featuring 3rd Gen Intel® Xeon® Scalable processors and using Intel® QAT delivered much stronger NGINX performance than both older N2 VMs with 2nd Gen Intel® Xeon® Scalable processors and newer VMs without QAT.

Learn More

To begin running your NGINX workloads on Google Cloud N2 virtual machines with 3rd Gen Intel® Xeon® Scalable processors, visit https://cloud.google.com/compute/docs/general-purpose-machines#n2_machines.

All tests by Intel on 2/12/22 on GCP/us-centra1-a. All tests: Ubuntu 20.04.3 LTS 5.11.0-1028-gcp, v1.24.0.intel-17-g4e2441b6, gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, ldd (Ubuntu GLIBC 2.27-3ubuntu1.4), Client Server:n2-standard-128, Number of Clients:2, Run Iterations:3, Cipher: AES128-GCM-SHA256. All QAT testing: async mode Nginx w/ QATEngine. All ICX VM instances used ICX x86_64 CPUs; CLX VM instances used CLX x86_64 CPUs. VM Instance details: n2-standard-4: 4 vCPUs, 16GB RAM; n2-highcpu-4: 4 vCPUs, 4GB RAM; n2-standard-8: 8 vCPUs, 32GB RAM; n2-highcpu-8: 8 vCPUs, 8GB RAM; n2-standard-16: 16 vCPUs, 64GB RAM; n2-highcpu-16: 16vCPUS, 16GB RAM; n2-standard-32: 32 vCPUs, 128GB RAM; n2-highcpu-32: 32 vCPUs, 32GB RAM; n2-standard-48: 48 vCPUs, 192GB RAM; n2-highcpu-48: 48 vCPUs, 48GB RAM; n2-standard-64: 48 vCPUs, 256GB RAM; n2-highcpu-64: 48 vCPUs, 64GB RAM.