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.