Get up to 8.45x Better Web Server Performance with AWS Instances Featuring 3rd Gen Intel® Xeon® Scalable Processors

NGINX

  • Up to 8.45x the NGINX Connections per Second with R6i Instances Enabled by Intel Xeon Scalable Processors and Crypto Acceleration vs. R6g Instances without Crypto Acceleration.

  • Up to 8.42x the NGINX Connections per Second with C6i Instances Enabled by Intel Xeon Scalable Processors and Crypto Acceleration vs. C6g Instances without Crypto Acceleration.

author-image

Par

AWS R6i and C6i Instances with Crypto Acceleration Offered a Significant Performance Increase Compared to Instances Without Crypto Acceleration Enabled by Graviton2 Processors

Securing data with encryption keeps information safe as your customers and employees interact with your website, but encryption often comes at the price of slower performance. For companies that run their website with the NGINX web server and power it with the cloud, choosing instances that can handle user demand and deliver strong performance—especially while keeping data secure—is essential.

3rd Gen Intel® Xeon® Scalable processors include features that boost NGINX performance: Intel Quick Assist Technology (Intel QAT) with Crypto Acceleration. Intel QAT and Intel QAT Engine (OpenSSL Engine) accelerate hardware and software based on vectorized instructions to speed cryptographic operations and allow more users to connect at a time.

In our tests on AWS memory-optimized and compute-optimized instances, we found that R6i and C6i instances with Crypto Acceleration and enabled by 3rd Gen Intel® Xeon® Scalable processors delivered significantly higher performance than R6g and C6g instances with AWS Graviton2 processors.

R6i Instances with Crypto Acceleration vs. R6g Instances

Different businesses require different VM sizes for their needs. We tested AWS memory-optimized instances with 4 vCPUs, 8 vCPUs, 16 vCPUs, 32 vCPUs, and 64 vCPUs. Compared to the R6g instances with AWS Graviton2 processors, the R6i instances with 3rd Gen Intel® Xeon® Scalable processors and Crypto Acceleration offered dramatically improved performance, with up to 8.45 times the NGINX connections per second (Figure 1).

Figure 1. Relative connections per second achieved by five sizes of R6g instances with AWS Graviton2 processors and by five sizes of R6i instances with 3rd Gen Intel® Xeon® Scalable processors.

C6i Instances with Crypto Acceleration vs. C6g Instances

We also tested compute-optimized instances at the same five sizes, with 4 vCPUs, 8 vCPUs, 16 vCPUs, 32 vCPUs, and 64 vCPUs. Once again, the instances enabled by 3rd Gen Intel® Xeon® Scalable processors and Crypto Acceleration delivered considerably higher performance than the instances with AWS Graviton2 processors. As Figure 2 shows, the C6i instances achieved up to 8.42 times the NGINX connections per second of the C6g instances.

Figure 2. Relative connections per second achieved by five sizes of C6g instances with AWS Graviton2 processors and by five sizes of C6i instances with 3rd Gen Intel® Xeon® Scalable processors.

Conclusion

The more connections per second your NGINX site makes, the more end users you can serve, and the better their experience will be. To keep your site performing smoothly while encrypting web traffic, you could substantially increase NGINX connections per second with C6i or R6i instances enabled by 3rd Gen Intel® Xeon® Scalable processors and with Crypto Acceleration. In our tests, compared to counterparts that feature AWS Graviton2 processors, the R6i instances achieved up to 8.45 times the connections per second, and the C6i instances achieved up to 8.42 the connections per second.

Learn More

To begin running your NGINX web servers on AWS C6i instances or R6i instances, visit https://aws.amazon.com/ec2/instance-types/c6i/ or https://aws.amazon.com/ec2/instance-types/r6i/.

All tests by Intel on AWS/us-west-2b from 03/2022-04/2022. All tests: Ubuntu 20.04.4 LTS 5.13.0-1019-aws, v1.24.2.intel-13-g5ae1948f, gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, ldd (Ubuntu GLIBC 2.31-0ubuntu9.7) 2.31, Client Server: c6i.32xlarge, Number of Clients:2, Run Iterations:3, Cipher: AES128-GCM-SHA256. All QAT configs: async mode Nginx w/ QATEngine. VM Instance details: c6i.xlarge: ICX x86_64 CPUs, 4 vCPUs, 8GB RAM, 4 worker processes; r6i.xlarge: ICX x86_64 CPUs, 4 vCPUs, 32GB RAM, 4 worker processes; c6g.xlarge: aarch64 Neoverse N1 CPUs, 4 vCPUs, 8GB RAM, 4 worker processes; r6g.xlarge: aarch64 Neoverse N1 CPUs, 4 vCPUs, 32GB RAM, 4 worker processes; c6i.2xlarge: ICX x86_64 CPUs, 8 vCPUs, 16GB RAM, 8 worker processes; r6i.2xlarge: ICX x86_64 CPUs, 8 vCPUs, 64GB RAM, 8 worker processes; c6g.2xlarge: aarch64 Neoverse N1 CPUs, 8 vCPUs, 16GB RAM, 8 worker processes; r6g.2xlarge: aarch64 Neoverse N1 CPUs, 8 vCPUs, 65GB RAM, 8 worker processes; c6i.4xlarge: ICX x86_64 CPUs, 16 vCPUs, 32GB RAM, 16 worker processes; r6i.4xlarge: ICX x86_64 CPUs, 16 vCPUs, 128GB RAM, 16 worker processes; c6g.4xlarge: aarch64 Neoverse N1 CPUs, 16 vCPUs, 32GB RAM, 16 worker processes; r6g.4xlarge: aarch64 Neoverse N1 CPUs, 16 vCPUs, 130GB RAM, 16 worker processes; c6i.8xlarge: ICX x86_64 CPUs, 32 vCPUs, 64GB RAM, 32 worker processes; r6i.8xlarge: ICX x86_64 CPUs, 32 vCPUs, 256GB RAM, 32 worker processes; c6g.8xlarge: aarch64 Neoverse N1 CPUs, 32 vCPUs, 64GB RAM, 32 worker processes; r6g.8xlarge: aarch64 Neoverse N1 CPUs, 32 vCPUs, 260GB RAM, 32 worker processes; c6i.16xlarge: ICX x86_64 CPUs, 64 vCPUs, 128GB RAM, 64 worker processes; r6i.16xlarge: ICX x86_64 CPUs, 64 vCPUs, 512GB RAM, 64 worker processes; c6g.16xlarge: aarch64 Neoverse N1 CPUs, 64 vCPUs, 129GB RAM, 64 worker processes; r6g.16xlarge: aarch64 Neoverse N1 CPUs, 32 vCPUs, 521GB RAM, 64 worker processes.