The M-series AWS EC2 instances are general purpose compute instances and are quite popular due to their versatile configurations that can cater to most generic application workloads. In case you are wondering what’s the 5 in M5, it’s the generation number.
Every few years AWS announces a new generation of instance types for each series as hardware costs become cheaper by the day and economies of scale apply. This 5th generation M-series is much more powerful and cheaper than its predecessor. It’s a no brainer for technology teams to upgrade their cloud deployments to the latest generation instance available and this is an ongoing pursuit with Cloud environments.
In order to assist customers in upgrading their Cassandra clusters from M4 to M5 instance type nodes, Instaclustr technical operations team has built several tried and tested node replacement strategies to provide zero-downtime, non-disruptive migrations for our customers. Read the Advanced Node Replacement blog for more details on one such strategy.
Just to compare how well M5s perform compared to M4s, we ran our standard Cassandra benchmarking tests. The results showed significant performance gains with M5s compared to M4s. The improvements ranged from 33% for a medium-sized write-only test to a massive 375% for a medium-sized read-only test. Below are the benchmarking details.
We had two 3-node clusters, one with m4.large and the other with m5.large instance type nodes. Each node had 250GB EBS backed SSDs attached. Below shows the throughput difference between M4 and M5 for the small sized I/O.
Small writes (insert operations) saw around 81% throughput increase, small reads saw around 47% throughput increase, and small reads+writes (mixed workload) saw around 70% throughput increase. (We benchmark throughput achieved for a constant median latency between tests. For details, see our Apache Cassandra certification test plan.)
We noticed that the performance gains increased with an increase in IO size. The small I/O test had 0.6kb per row of read or write size. With medium I/O tests, which had a read/write size of 12kb per row, showed several folds better performance for read and mixed workloads but only a meager improvement in writes (insert operations). The below graph shows the comparison for medium-sized I/O.
Medium writes saw only around 33% throughput increase, whereas medium reads and medium mixed workload saw around 375% and 300% throughput increase respectively.
M5 instance pricing
We have added four variants of M5 instance types added to the platform. One instance of m5.large and 3 instances of m5.xlarge with different storage capacities. All of them come with EBS backed SSD drives. Compared to M4s, there is a slight increase in price. The biggest increase of 23% is for the lowest configuration i.e. the m.large instance. But evidently, from the benchmarks, the price-to-performance ratio is much better for m5.large compared to m4.large. What’s even better for customers is that the higher configs of M5 are only marginally more expensive than their M4 equivalents which means even better price-to-performance.
Below are their specification and pricing (for US East – Ohio). Pricing for the rest of the regions is available on Instaclustr Console when you log in.
|#||Instaclustr Instance Type||AWS Instance Name||CPU Cores||Memory||Storage Capacity||Price/node/month|
US East (Ohio)
|1||Tiny||m5.large||2||8 Gib||250 GB|
|2||Small||m5.xlarge||4||16 Gib||400 GB|
|3||Balanced||m5.xlarge||4||16 Gib||800 GB|
|4||Bulk||m5.xlarge||4||16 Gib||1600 GB|
To know more about this benchmarking or if you need clarification on when to use M5 instance type for Cassandra, reach out to our Support team (if you are an existing customer), or contact our Sales team.