Warakorn - Fotolia
Numerous issues can affect AWS storage performance, even when enterprises carefully plan around their workload demands. Taking these four specific steps can help reduce the chance of poor application performance in the public cloud.
1. Initialize restored AWS storage volumes, such as an Amazon Elastic Block Store (EBS), from a snapshot. This involves accessing the blocks from the snapshot and writing them to the storage volume before accessing the restored block.
The initialization process causes considerable latency in access time for each restored block -- but only on the first access after restoration, which is sometimes called a "first touch" penalty. Latency-sensitive cloud applications will read all of the blocks in a volume before using the volume in production in an attempt to initialize the restored volume.
2. Because they require a great deal of I/O to complete a copy in a short period of time, snapshots and replica activities slow AWS storage performance. Frequent backups -- especially when data changes extensively between snapshots or replicas -- might result in periods of noticeable performance degradation. This is usually most pronounced with HDD instances, such as st1 and sc1 Amazon EBS volumes. Selecting SSD volume instances like gp2 or provisioning IOPS on an io1 instance might alleviate the issue.
3. Look at the storage volume's queue length, and watch for a modest queue depth. This allows storage controllers to organize and optimize storage device access. If there is no queue depth, queuing techniques won't work and AWS storage performance may actually be lower than if there were some I/O requests in the queue. A queue depth of at least four is recommended when using 1 MB of sequential I/O. A read-heavy AWS workload could benefit from increasing the HDD read-ahead setting to 1 MB to cache more disk content.
4. Storage instances support RAID 0 (striping) for spreading data across multiple instances and increasing the effective storage throughput. Joining multiple low-cost HDD instances can be a cost-effective alternative to using SDD volumes and can improve AWS storage performance. This method can accommodate an AWS workload with high storage demands.
Cloud storage and application performance are not guaranteed and can fluctuate from a myriad of common oversights. Invest the time and effort to evaluate application performance, gather metrics over time, identify performance bottlenecks in the application or the cloud configuration and make the necessary changes to mitigate the impairment.
Provisioned IOPS help boost database performance
Select the right Elastic Block Store volumes
Evaluate AWS storage options
Dig Deeper on AWS database management
Related Q&A from Stephen J. Bigelow
Windows Server 2019 cluster sets bring some Azure-like capabilities into the data center, but new features also bring new challenges for ... Continue Reading
Microsoft added a number of new software-defined features in Windows Server 2019, but deploying a fully virtualized data center remains a challenge ... Continue Reading
The promise of a software-defined infrastructure and its ability to pool resources require the right administrative tool to keep the virtualized ... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.