毎秒数十回の r/w クエリを処理する PostgreSQL インスタンスがあります。
- インスタンスタイプ: db.m3.2xlarge
- インスタンス プロビジョンド IOPS (SSD): 1000
- インスタンスのストレージ サイズ: 100 GB 、データベースのサイズは約 5 ~ 10 GB です。
読み取り/書き込みクエリを使用して、数百の同時クライアントにサービスを提供しています。それでも、Cloudwatch Monitoring を見ると、20 ~ 60 の範囲の IOPS が示されています。
そして、Read IOPS はほぼ 0 です。
これは、何百もの接続とクライアントが常に読み取り/書き込みクエリを実行していると正しくありませんか? Postgres の構成は標準であり、fsync をオフにしませんでした。
キャッシュは非常に効果的で、データベース サイズが 5 GB の場合、IOPS は問題になりませんか? または AWS 監視コンソールが間違っていますか?
1000 IOPS を支払うと、この db インスタンスに 300 ドル余分にかかります。購入できる最小 IOPS は 1000 です。
IOPS なしでできるかどうか疑問に思っていますか?
- または、AWS の監視が正しくありませんか?
- または、現在の 20 IOPS は、非 IOPS サーバーを使用している場合、サーバーのパフォーマンスを低下させますか?
- または、5 GB のデータベースではほとんどがキャッシュに収まり、IOPS は要因ではありませんか?