AWS Database Blog

Run Amazon RDS for SQL Server 2x faster with X2iedn Instances

Amazon Relational Database Service (Amazon RDS) for SQL Server now supports X2iedn powered by third-generation Intel Xeon Scalable processors built on the AWS Nitro System and featuring the third-generation Intel Xeon Scalable (Ice Lake) processors. SQL Server workloads are highly dependent on memory. As a result, memory-optimized Amazon Elastic Compute Cloud (Amazon EC2) instances are most commonly used by customers.

The x2iedn instance type offer up to 4096 GiB RAM and 128 vCPUs to meet the most challenging needs of our customers. With x2iedn, your workload can achieve up to 50% higher compute price performance than comparable X1 instances.

Amazon RDS for SQL Server provides x2iedn instance types in seven sizes with 4, 8, 16, 32, 64, 96, and 128 vCPUs. In this post, we discuss the key benefits of using x2iedn and compare the performance improvements observed between x2iedn and x1e instance types. For more information, refer to Introducing Amazon EC2 X2idn and X2iedn instances.

Features

The new instance type offers the following features:

  • Up to 3.5 GHz third-generation Intel Xeon Scalable processors (Ice Lake 8375C)
  • 32:1 ratio of memory to vCPU on all sizes
  • Up to 50% better price performance than X1 instances
  • Up to 100 Gbps of networking speed
  • Up to 80 Gbps of bandwidth to Amazon Elastic Block Store (Amazon EBS)
  • Powered by the Nitro System, a combination of dedicated hardware and lightweight hypervisor

The following table summarizes the specifications of each instance type.

Instance Name vCPUs Memory
(GiB)
Storage Memory
(GB)
Network Bandwidth (Gbps) EBS Bandwidth (Gbps)
x2iedn.xlarge 4 128 1 x 118 NVMe SSD Up to 25 Up to 20
x2iedn.2xlarge 8 256 1 x 237 NVMe SSD Up to 25 Up to 20
x2iedn.4xlarge 16 512 1 x 475 NVMe SSD Up to 25 Up to 20
x2iedn.8xlarge 32 1,024 1 x 950 NVMe SSD 25 20
x2iedn.16xlarge 64 2,048 1 x 1900 NVMe SSD 50 40
x2iedn.24xlarge 96 3,072 2 x 1425 NVMe SSD 75 60
x2iedn.32xlarge 128 4,096 2 x 1900 NVMe SSD 100 80

Benefits

The x2iedn RDS DB instance type offers the following benefits:

  • Built on the Nitro System – The Nitro System provides modern hardware and software components for EC2 instances, resulting in better overall performance. Additionally, RDS DB instances built on the Nitro System take advantage of dedicated Nitro Cards that enable high-speed networking, high-speed EBS bandwidth, and I/O acceleration. All these improvements result in up to 50% higher SQL Server database performance than comparable X1 instances.
  • Higher memory per vCPU ratio – The X2 instance family provides the highest memory to vCPU ratio compared to all supported RDS DB instance types. This is ideal for SQL Server workloads that are sensitive to per-core licensing, such as SQL Server Enterprise edition and SQL Standard Edition. Your workload can benefit greatly from the higher memory per vCPU (32GiB:1vCPU) offered by X2iedn and reduce the number of vCPU provisioned. To learn more about supported RDS instance types, refer to Amazon RDS Instance Types.
  • Higher network and EBS throughput – With X2iedn, you can achieve up to 100 Gbps network bandwidth and 80 Gbps of EBS bandwidth. In comparison with x1e which is 25 Gbps of maximum network bandwidth and 14 Gbps of EBS bandwidth. To meet your throughput requirements, you no longer have to provision a larger instance size. This helps you run throughput-intensive tasks such as extract, transform, and load (ETL) operations or native SQL Server backup without impacting performance.
  • Local NVMe (instance store) – You can launch X2iedn with tempdb configured to use local instance storage. By placing tempdb data files and log files locally, you can achieve lower read and write latencies when compared to the standard Amazon EBS-based offerings. The X2iedn RDS DB instance provides up to 3,600 GB of Non-Volatile Memory Express (NVMe) SSD-based instance storage, optimized for low latency, very high random I/O performance, and high sequential read throughput. When provisioning any instance in X2iedn instance type, Amazon RDS for SQL Server automatically places tempdb files on the locally attached NVMe disks, achieving lower storage latencies and improving performance for certain workloads by up to 30%. Refer to the AWS Documentation to learn about Considerations for Multi-AZ deployments and File location and size considerations.

Performance comparison between x1e and x2iedn instances

We ran HammerDB, a performance benchmarking tool, to compare and validate the performance improvements. For more details on how to use HammerDB to benchmark your tests, refer to Benchmark Amazon RDS SQL Server performance using HammerDB.

We created a TPCC database for 10,000 data warehouses, which translates into 1 TB in size, using SQL Server 2019 Enterprise Edition. Provisioned storage was around 2 TB with io1 volume type and 32k PIOPS. We used the autopilot feature sampling three times, and each run had a number of virtual users (VUs) configured (64, 128, 256, 324, 512, 724).

The following table summarizes the characteristics of each instance.

Instance Size vCPUs RAM (GiB) Local NVMe SSD Storage (GB) Network Bandwidth (Gbps) EBS-Optimized Bandwidth (Gbps)
db.x1e.4xlarge 16 488 1 x 475 Up to 10 1.75
db.x2iedn.4xlarge 16 512 1 x 475 Up to 25 Up to 20

The following image illustrates our performance results.

Based on the performance results, we are able to achieve 85% better performance compared to the x1e instance type with a similar configuration.

Conclusion

If you’re running your Amazon RDS for SQL Server database on X1e instances, consider changing your instance type to X2iedn to get better performance. We recommend that you test the instance class modification in a lower environment before modifying a production instance. Changing your instance type requires downtime. A planned maintenance window can be scheduled to implement the change.


About the authors

Sudhir Amin is a Database Specialist Solutions Architect at Amazon Web Services. In his role based out of New York, he provides architectural guidance and technical assistance to enterprise customers across different industry verticals, accelerating their cloud adoption. He is a big fan of snooker, combat sports such as boxing and UFC, and loves traveling to countries with rich wildlife reserves where he gets to see world’s most majestic animals up close.

Vikas Babu Gali is a Sr. Specialist Solutions Architect, focusing on Microsoft Workloads at Amazon Web Services. As a native of India, Vikas enjoys playing Cricket and spending time with his family and friends outdoors.

Julio Oliveira Leme is a Database Engineer at Amazon Web Services. He joined AWS in 2018 and works on RDS SQL Server team projects to release new features and engine versions. Julio is a kind person who enjoys to read and to spend time with friends and family.