Optimising price performance at Dream11 with GP3
- Published on
Introduction
Amazon Web Services (AWS) announced their next generation general-purpose Solid State Drives (SSD) volumes in December 2020, aka GP3. In the previous version GP2, high throughput and Input/Output Operations Per Second (IOPS) were required for better performance, and a large storage or IOPS volume was needed to be provisioned. This usually led to the wastage of storage resources at much higher costs.
In GP3, there is no need to scale the additional block storage capacity for managing IOPS. The SSD is independent from storage capacity. Moreover, a higher IOPS and throughput can be added for better performance. When we migrated to GP3 from GP2 at Dream11, we observed an increase in latency performance by upto 18%. We also noticed better price-performance optimisation. Although, this may vary depending on the storage and IOPS needs with different applications, datastore and virtual desktop use cases.
To understand how Dream11 benefitted from this migration, let us first understand the key differences between GP2 and GP3.
A volume-type comparison of GP2 and GP3:
Improvement in performance :
Once the migration process had concluded, we observed substantial improvement in latency and the performance of the Central Processing Unit (CPU) while using GP3.
While testing a key aspect of the Dream11 application while transitioning from GP2 to GP3, we found that at 40 million Requests Per Minute (RPM), the performance of GP3 was better than GP2, even for smaller volumes like 100 GB. The below tables and graphs present a brief overview of the results.
Service A tested at 40 million RPM with GP2 and GP3:
Service A latency at 40 million RPM with GP2
Service A latency at 40 million RPM with GP3
Impact of GP3 on Dream11
As depicted above, with GP3, we were able to achieve up to 92% cost reduction in our Elastic Block Store (EBS) and saw a significant improvement in the overall performance in various use cases. Here are some examples.
Better price-performance optimisation:
Let’s assume that we provisioned a large disk on our custom datastore, just to get better IOPS using GP2. For example, we want a mysql datastore with 100 GB but on 3000 IOPS. Then,
- With GP2, we need to provision 1000 GB
- With GP3, we need to provision 100 GB with about 92% lower costs
The below table indicates the benefits of GP3 over GP2, for various IOPS requirements.
Increased impact on direct storage:
Let’s assume that we have similar storage requirements for both GP2 and GP3 use cases. GP3 is 20% cheaper for smaller volumes whereas the IOPS requirement is below 3000. At Dream11, we get this benefit across 100 applications with tens of thousands of servers running on GP2. For a few applications like Kafka where we need a large disk as well as high IOPS, GP3 still costs about 8% lower.
Comparative costs between GP2 and GP3 in us-east-1:
At Dream11, we created a separate squad for ‘Price Performance Engineering’ within our SRE team. With the migration to GP3 and a dedicated team tracking price performance optimisation, so far, results have been awesome!
Stay tuned for our other output enhancement initiatives such as Cost Wastage Portal, Adoption of Graviton, Adoption of Granulate and more!
Keen to work and innovate for the world’s largest fantasy sports platform with over 120 million users? Join us at Dream11 by applying here!