データベースの I/O パフォーマンスを改善する必要があります。以下で説明する「2xlarge」HW を使用しており、「4xlarge」HW ( http://aws.amazon.com/ec2/instance-types/ ) へのアップグレードを検討しています。助けてくれてありがとう!
詳細:
CPU 使用率は問題なく (通常は 30% 未満)、稼働時間の平均負荷は 0.5 から 2.0 の範囲です (ただし、それを CPU の数で割るべきだと思います)。ただし、I/O は悪いです。iostat は良好なサービス時間を示していますが、キューで費やされた時間 (これはディスクへのアクセスを待機していることを意味すると思います) が長すぎます。書き込みごとではなく、1 秒ごとにディスクにフラッシュするように MySQL を構成しました。これは役に立ちますが、十分ではありません。プロファイリングでは、ほとんどの負荷 (読み取り && 書き込み操作の両方) の原因となっている少数のテーブルがあることが示されています。クエリは既にインデックス化および最適化されていますが、分割されていません。平均的な MySQL の状態は次のとおりです。送信データ @ 45%、統計 @ 20%、更新中 @ 15%、並べ替え結果 @ 8%。
質問:
- ハードウェアをアップグレードすると、どの程度のパフォーマンスが得られますか?
- 同じ質問ですが、負荷の高いテーブルを分割するとどうなりますか?
マシン:
m2.2x大
- 64ビット
- 4 vCPU
- 13ECU
- 34.2 GB メモリ
- EBS 最適化
- ネットワークパフォーマンス: 「中」
m2.4x大
- 64ビット
- 6 vCPU
- 26ECU
- 68.4 GB メモリ
- EBS 最適化
- ネットワーク性能:「高」