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.

author-image

Bởi

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.

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

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

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.