Warakorn - Fotolia
The AWS cloud offers several ways to provision resources, and it's crucial to select the proper type of compute or storage instance for each workload. In the case of a large-volume database, an AWS user might turn to a provisioned IOPS storage option, which maintains a consistent IOPS performance ratio. Enterprises typically pay more for that storage option to keep large, latency sensitive databases in operation.
AWS can generally maintain the ratio of instance size versus selected IOPS, but there are cases when IOPS performance can drop even when an AWS provisioned IOPS (PIOPS) instance is selected. The issue can occur most frequently with very demanding applications, such as databases. The core issue is that I/O bandwidth is a finite resource; anything that competes for available I/O bandwidth pulls I/O away from workloads and storage.
Cloud workloads with highly variable, unpredictable storage demands or those that rely on excessive, small and random I/O bursts can experience I/O limitations. Workload designs can also affect performance. A database design that causes contention with concurrency issues or storage activities, for example, can prevent the workload and its storage instances from using all available I/O bandwidth.
Administrators should use a performance-optimized instance to complement AWS PIOPS storage. Databases are an important example, M4, M3, R3 or M2 database instances can match PIOPS storage instances, such as Amazon Elastic Block Store (EBS) instances. To ensure an ample channel between the workload and storage capable of maintaining IOPS, IT teams should use EBS-optimized Elastic Compute Cloud instances, such as M4, C4 and D2. This also creates capacity for Amazon EBS I/O.
Pick an Amazon EBS volume type for your project
Pinpoint your AWS network performance issues
Seek alternative database options when AWS is not enough
Dig Deeper on AWS database management
Related Q&A from Stephen J. Bigelow
Regression tests and UAT ensure software quality and both require a sizeable investment. Learn when and how to perform each one, and some tips to get... Continue Reading
Learn the meaning of functional vs. nonfunctional requirements in software engineering, with helpful examples. Then, see how to write both and build ... Continue Reading
Just because software passes functional tests doesn't mean it works. Dig into stress, load, endurance and other performance tests, and their ... Continue Reading