AWSのEBSはI/Oが多いとディスクのパフォーマンス、処理速度が遅くなる

Amazon
スポンサーリンク

AWSで一定の処理を行うとディスクのパフォーマンス、処理速度が遅くなることがあります。

原因を調べてみました。

スポンサーリンク

ランダム I/O 操作が発生すると、I/O クレジットがすぐに枯渇

AWSの公式のFAQで以下の文言を見つけました。

 

https://aws.amazon.com/jp/ebs/faqs/

Q: HDD タイプのボリュームのパフォーマンスの一定性に影響を与える要因には、どのようなものがありますか?

きわめて多くの小さいランダム I/O 操作が発生すると、I/O クレジットがすぐに枯渇し、ベースラインレートまでパフォーマンスが低下します。また、スループットレートは選択されたインスタンスに応じて低下する可能性があります。

 

なんと、小刻みのI/Oが多いとパフォーマンスに影響するんだ。

 

 

以下にも詳細が書かれていた。

Amazon EBS ボリュームの種類

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-volume-types.html

クレジットをすべて使うと、ボリュームのパフォーマンスがベースラインレベルに頻繁に制限されるとのこと。

 

つまり、パフォーマンスに影響するらしい。

AWSパフォーマンス低下の対策

以下の通り記載がありました。

ボリュームのパフォーマンスがベースラインレベルに頻繁に制限されること (空の I/O クレジットバランスが原因) が確認される場合は、より大きな (ベースラインパフォーマンスレベルが高い) gp2 ボリュームの使用を考慮するか、16,000 IOPS を超える持続的な IOPS パフォーマンスが必要となるワークロードに適した io1 または io2 ボリュームに切り替えることを考慮してください。

 

要はEBSのボリュームサイズを大きくしろってことですね。

 

 

コメント