RDS MySQL メモリが異常に高い

RDS MySQL メモリが異常に高い

これを理解するにはあなたの助けが必要です。私は 100 GB のストレージを備えた RDS MySQL インスタンス (SSD 上の db.m3.large) を実行しています。

私の記憶が 50% しかないことに少しびっくりしています。

チャート http://f.cl.ly/items/2130242A0K040E392h0L/10.png

現時点ではサーバーの使用率はまったく高くないので、何か間違っているに違いありません。過去 2 週間のグラフは次のとおりです。

2 週間の使用状況チャート http://f.cl.ly/items/2y411W0z0I1V1T0T3O3T/11.png

ご覧のとおり、CPU はほとんど 0% で、DB 接続は低く、書き込み/読み取り操作も低いです。

私はすべての InnoDB テーブルを実行しています。思い浮かぶのは (メモリをこれほど増加させた可能性がある) 分析機能だけです。分析計算の毎日の要約を保存するテーブル (シャード化) が 1 つあります。そのテーブルには 4 つのmediumtextフィールドがあるため、そのテーブルに Barracuda ファイル形式を使用するように InnoDB を変更しました (こうすることで、 を使用できますrow_format=compressed)。これは、そのインスタンスのデフォルトではない唯一の DB パラメータです (その他はすべて既定です)。

そのテーブルにはそれほど多くの行はなく、最大の行は今のところ最大 35kb 程度です。最大のクライアントには 56 行あります (クライアントもそれほど多くありません)。そのため、これが原因である可能性があるとは驚きです...

メモリがなぜこんなに高くなったのか(つまり、何を間違えたのか)について、何かヒントを教えていただけますか? MySQL が分析クエリ/結果をキャッシュしているからでしょうか? それとも、別の理由でしょうか?

答え1

何が起こっているかのヒントは、「Freeable Memory」グラフにあります。データベースがプロセス メモリ内に大量のテーブル データとインデックス データを保持していた場合、その数値は実際よりもずっと小さくなります。現状では、Freeable は Total とほぼ同じ大きさです。

設計どおりに動作しています。何も表示されません。PANIC = FALSE に設定してください。

関連情報