AWSとディスクのパフォーマンスは比較的新しいです。アプリケーションが適切に実行するために必要なプロビジョニングされたIOPSの量を把握しようとしています。
現在、My PHPおよびMySQLアプリケーションは、シンプルなEBSボリュームが接続されたEC2インスタンスでホストされています。EBSボリュームの監視は、他のいくつかのマトリックスで読み取りスループットと書き込みスループットを提供します。現在のIOPSを見つけるにはどうすればよいですか?読み取りスループット(〜400 Ops/s)および書き込みスループット(〜4000 Ops/s)データからのEBSボリューム?
オペレーション/秒の単位で行くと、IOPSは約4.5Kに達します。単純なEBSボリュームは100 IOPSで、場合によっては数百でうまく機能することを意図しているため、これは正しくないと思います。
アプリケーション/インスタンス内から、制御されたアプリケーションの実行中にiostat
の出力をトレースしようとします。たぶんiostat -x 1
ターミナルウィンドウで。
また、この出力を監視するための collectlユーティリティ も気に入っています。 nmonは良いツールです これも同様です。
これはcloudwatchで確認できます
EBSメトリックを確認し、VolumeWriteOps(メトリック名)を選択します
グラフからサンプルを取る
例えば.
データポイント:2011-02-10T07:54 + 0000の152398(グラフからの任意の最高数)
so it means 152398 IOPS for 10 mins intervel
これを1分間計算します
152398 IOPS / 10 minutes = 15239.8 IOPS/minute
次に、これを60 seconds
について計算します
15239.8 IOPS / 60 seconds = 253.996666667 IOPS/second
253
は、ボリュームの平均IOPS / seconds
です
私は同じことについてAWSサポートとかなり長い議論をしてきました
ラメッシュが書いたものに追加
IOPSは、VolumeReadOps + VolumeWriteOpsの合計として計算されます。
ツールを継続的に実行する余裕がある場合は、これを試してください https://www.metricly.com/iops-calculator-for-ebs-volumes