EBSの使用がボトルネックになるのはどの時点ですか?


10

EBSボリュームによってサポートされているEC2インスタンスを使用して、Amazonでホストされているサイトがあります。週末には、トラフィックが急上昇し、インスタンスを大きくすることでかなり役立ちます。CPU使用率が100%に急上昇し、サーバーが応答しなくなったことはもうありません。

しかし、ディスクの読み取りも非常に高いことに気づきます(どうしようもない、私は考えていません)。ディスクが維持できないため、どの時点で何らかの障害が発生するのでしょうか。アップ?

添付のスクリーンショットからわかるように、週末は最大80MB /分でした。AWSの経験があり、EBSがボトルネックになるために、どの時点で複数の負荷分散インスタンスに移動する必要があるか知っていますか?

EBS使用量グラフ


2
ここでアプリケーション層の詳細が必要だと思います。ディスク読み取りアクティビティとは何ですか?画像/アセットのランダムアクセス?大規模な順次読み取り(データベースのバックアップや分析など)?単一のインスタンスに接続された複数のEBSボリュームを実行してソフトウェアRAID-0を実行し、物事を改善できることに注意してください。
rmalayter 2011年

これらの読み取りのほとんどは小さいファイル(1MB未満、多くは500k未満)ですが、「小さな」ファイルではありません。これがEBSボリュームの負荷なのか、それともこのトラフィックの量が少ないのかはわかりません。
ESW、2011年

私はあなたのコメントを読んだとき、私はちょうどRAIDとEBSをフィーチャーした返事を書いていた、malayter。RAID10は、読み取りと書き込みが改善されるため、より柔軟なソリューションになる可能性があることを付け加えます。
tsykoduk '10

@tsykoduk一般に、すべてのAWSストレージタイプのパフォーマンスはやや目立たないため、RAID10によってパフォーマンスが向上するように見える場合でも、実際のアプリケーションで発生する可能性が高い種類のアクセスパターンと負荷でベンチマークを試すことをお勧めします。それでも、AWSの環境では、ストレージのパフォーマンスをより詳細に制御できる(したがって予測可能性が高い)セルフホストソリューションと比較して、パフォーマンスが大きく変動する可能性があります。一般に、RAID構成に複数のボリュームがあると、良い影響が出る可能性があります。
aculich

回答:


5

I / Oパフォーマンスに最も影響を与える最初の留意点は、使用しているインスタンスタイプです。

Instance Type   I/O Performance
-------------   ---------------
t1.micro        Low
m1.small        Moderate
m2.xlarge       Moderate
c1.medium       Moderate
m1.large        High
m1.xlarge       High
m2.2xlarge      High
m2.4xlarge      High
c1.xlarge       High
cc1.4xlarge     Very High (10 Gigabit Ethernet)
cc2.8xlarge     Very High (10 Gigabit Ethernet)
cg1.4xlarge     Very High (10 Gigabit Ethernet)

EBSボリュームと得られるパフォーマンスについては、AWS FAQが示唆しているように、アプリケーションをベンチマークして何が期待できるかを確認する必要があります。

Q:Amazon EBSボリュームからどのような種類のレイテンシとスループット率が見込まれると予想できますか?Amazon EC2インスタンスからAmazon EBSボリュームへのレイテンシは、ローカルのAmazon EC2インスタンスストレージドライブから見られるレイテンシと似ています。I / Oレートは、リクエストのサイズ、アクセスパターンのランダム性、およびアプリケーションで使用されるキャッシュ戦略に基づいて大幅に異なる可能性があります。そのため、最も正確な方法は、Amazon EBSボリュームで特定のアプリケーションをベンチマークすることです。

これが意味することは、多くのEBSレートがローカルインスタンスストレージよりも必ずしも悪いまたは良いわけではないということです。それは本当にあなたのデータアクセス動作に依存します。

詳細はAWS EBSページにあります

Amazon EBSボリュームのパフォーマンス

Amazon EBSボリュームは、データセット全体で多くのランダムアクセスを実行するアプリケーションに対して、Amazon EC2インスタンスストアよりも高いスループットを提供するように設計されています。複数のボリュームをインスタンスに接続し、ボリューム全体にストライプ化して、スループットをさらに向上させることもできます。

正確なパフォーマンスはアプリケーションに依存します(たとえば、ランダムI / OとシーケンシャルI / O、または大きい要求サイズと小さい要求サイズ)。したがって、最良の測定は、実際のアプリケーションをボリュームに対してベンチマークすることです。Amazon EBSボリュームはネットワークアクセスを必要とするため、インスタンスが大きいほど、より高速で一貫したスループットパフォーマンスが得られます。

また、I / OパフォーマンスにはディスクIOだけでなくネットワークトラフィックも含まれることに注意してください。そのため、インスタンスのネットワークトラフィックが増えると、ディスクIOが少なくなります。

提供する内容によっては、アプリケーションのタイプで可能であれば、オブジェクトのインメモリキャッシュが非常に役立つ場合があります。

また、さまざまなRAID構成におけるEBSとローカル(エフェメラル)ボリュームのパフォーマンスをベンチマークし、優れたIOパフォーマンスを得るための調整を行ったブログ投稿もいくつかあります。

EC2エフェメラルディスクとRAIDのEBSボリューム

Amazon EC2 I / Oパフォーマンス:ローカルエフェメラルディスクとRAID 0ストライプEBSボリューム

AmazonのEBSから適切なIOを取得する


2
このサイトにも良い情報があるようです:ec2instances.info
Gianfranco P.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.