14 December,2022 by Rambler
Deciding storage type & instance type for a specific database workload can be a complicated task . One of the biggest challenges facing DBAs is the ability to utilize the AWS resources in a cost optimal method. One of the main reasons for the challenge is the vast range of storage options &instance types available across resource types.
Prior to making instance & storage choices define the parameters of what is required - What are the IOPS requirements for the application ? What are the memory requirements? Are there low latency requirements ?Is the workload CPU bound or memory bound?
Choose the DB Instance Class for the targeted workload. As a starting point read DB instance classes , which gives a great overview of the the Instance classes - covering general purpose, memory optimizes and burstable performance
For storage , broadly speaking there is SSD (general purpose SSD & Provisioned IOPS ) , & HDD . In this post we're looking at SSD
General Purpose SSD – General Purpose SSD volumes offer cost-effective storage that is ideal for a broad range of workloads running on medium-sized DB instances. General Purpose storage is best suited for development and testing environments. Wide range of use cases , low latency , cost-efficient , minimum ssd storage 20 GiB .When using SSD, you are charged for the amount of storage provisioned and not for the number of I/Os processed
Often the question arises about the rationale behind Provisioned IOPS . The main reason gives is : Dedicated IOPS rate is set at configuration time and is provisioned for the lifetime of the RDS instance.
You are strongly advised to test workloads - not just at a database server level but across the whole application
How do I know if i have I/O problem? One thing you can do is check the DiskQueueDepth
To see how many IOPS are needed to have a steady performance, use the ReadIOPS and WriteIOPS metrics and sum up the values. Choose a descent time interval or a typical day from a performance point of view and also remove outliers. Compare this value with the IOPS you have provisioned.
Once you calculate how many IOPS are needed, then you have two ways to acquire them.
The first is to purchase PIOPS, which is more reliable but a lot more costly. The second is to use a gp2 disk for your RDS instance, which provides 3 IOPS per GB of storage.
This is only a preview. Your comment has not yet been posted.
As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.
Having trouble reading this image? View an alternate.
Posted by: |