web-dev-qa-db-ja.com

Amazon RDS:プロビジョニングしたよりも多くのIOPSを取得するのはなぜですか?

Multi-AZ r4.2xlarge Mysql RDSインスタンスを実行し、2000 IOPSをプロビジョニングします(月額400ドルの追加料金がかかります)。 CloudWatchチャートを確認すると、Write IOPSが支払った2000を超える大きな期間が表示されます。

enter image description here

(平日の英国の労働時間中、IOPSは2000を超えています)

これに加えてRead IOPSも発生しており、これも ドキュメント に従ってプロビジョニングされた制限にカウントされます。

合計IOPSは、読み取りIOPSと書き込みIOPSの合計です。 IOPSの一般的な値は、1秒あたり0から数万の範囲です。

プロビジョニングしたよりも多くのIOPSを取得する理由についての説明はありますか?

私が考えたこと:

  • たぶんAWSは、プロビジョニングされたIOPSを持つRDSインスタンスに対してもIOPSバーストを許可しますか?プロビジョニングされていないIOPSRDSインスタンスの場合のように、インスタンスのCloudwatchにBurstBalanceメトリックが表示されないためではないと思います。
  • RDSのディスクの大きさに応じて、AWSはIOPSクレジットを追加するのではないでしょうか。汎用SSDを使用している場合、1500IOPSのベースラインパフォーマンスを提供する500Gディスクがあります。しかし、これはドキュメントに記載されていません。
  • たぶん、AWSはハード制限ではなく24時間以上の平均に基づいてIOPSを制限していますか?
2
Tom

Provisioned IOPS保証であり、少なくとも多くのIOPSを取得しますが、AWSmayはインスタンスを許可しますホストに予備の容量がある場合は、さらに使用します。運が悪ければ、同じインスタンスに「騒々しい隣人」がいて、プロビジョニングされた量を超えて使用できなくなる可能性があります。


データのソース:AWSサポートチケットを発行したところ、次のように言われました。

AWSリソースの可用性に応じて、プロビジョニングされたIOPSを超えて移動できます。最終的に、リソースの可用性がさらに制限されると、WriteIOPの量は、プロビジョニングされたボリュームの保証された制限であるため、プロビジョニングされた量に均等になります。

(彼らはまた、基盤となるオペレーティングシステムのメトリックを表示するために 拡張モニタリング を有効にすることを提案しました。私はそれをしなかったので、それがどのように役立つかわかりません...)

1
Tom