web-dev-qa-db-ja.com

Amazon RDSのメモリ不足、MySQL接続なし

私はt2.medium ec2インスタンスへのAmazon RDS接続の無料インスタンスを実行しています。 wordpress 20のアクティブなプラグインと約800ページのウェブサイトを実行しています。メモリ(空きメモリ)が52MBまで少ないことがわかります。アクティブなデータベース接続は1つしかなく、 google analyticsリアルタイムレポートには、1人の訪問者のみが表示されます。

mysql show process list returns

+ ----- + ------- + ------------- + ------- + --------- + --- --- + ------- + ------------------ + 
 | Id |ユーザー|ホスト| db |コマンド|時間|州|情報| 
 + ----- + ------- + ------------- + ------- + ------ --- + ------ + ------- + ------------------ + 
 | **** | ***** | l ****:46109 | mysql |睡眠| 4 | | NULL | 
 | **** | **** | ****:33918 | NULL |クエリ| 0 | init | show processlist | 
 + ----- + ------- + ------------- + ------- + ----- ---- + ------ + ------- + ------------------ + 
 2行のセット(0.00秒)

何が私のメモリを消費していますか?

1
Andrei

メモリは、MySQLのinnodbバッファプール、テーブルキャッシュ、定義キャッシュなど、さまざまなものによって消費されます。

RDSはinnodb_buffer_pool_size{DBInstanceClassMemory*3/4}にデフォルト設定します。これは良い出発点ですが、システムの他の部分で使用できるRAMの1/4しか残しません。 。

小さなRDSインスタンスに実際に影響するのは、performance_schemaです。これは、サーバーが起動するとすぐに500Mb RAMを消費し、解放しない場合があります)。

performance_schemaを定期的に使用していない場合は、使用している場合でも、RDSパラメータグループ内の適切なパラメータを設定することでオフにします。

この場合は、RDSインスタンスを再起動する必要があります。

結局のところ、t2.mediumインスタンスには、4 GBのRAMしか使用できません( http://www.ec2instances.info/rds/)を参照 )、および52Mbはおそらくシステムが問題なく動作し続けるのに十分な空き容量です。ほとんどのデータコンテンツはバッファプールにあるため、MySQLはほとんどのクエリでメモリから直接応答し、かなり応答性が高く感じられます。そのような小さなシステムでもです。

2
Dave Rix