9

Amazon RDS (PostrgreSQL バージョン) でよくわからないことがあります。一部のクエリは、結果を表示するのに時間がかかります。関連するすべてのインデックスを設定しました(EXPLAINで示されているように)。だから、私のスキーマ設計によるものではないと思います。

大きなマシン (m3.xlarge) は高価すぎるため、使用しません。私のデータベースのサイズは約 300GB です。

Postgres は利用可能なすべてのメモリを使用していないようです (コンソールの「解放可能なメモリ」レポートは、常に ~10GB の空きメモリがあることを示しています...)。tune-your-postgres-rds-instanceで提案されているように、「パラメーター グループ」を調整しようとしています。特に、EFFECTIVE_CACHE_SIZE を 70% に設定しています。しかし、それは何も変わりません。

私はおそらくどこかで間違っています...何か考えはありますか?

4

1 に答える 1

12

クエリで使用できるメモリを増やすには、work_memを調整します。それはバックエンドごとのメモリであるため、それを行うことには意味があります。

effective_cache_size は、実際にはメモリをまったく処理しません。これはオプティマイザーのパラメーターです。

「解放可能なメモリ」は良いことです。これは、メモリがオペレーティング システム キャッシュ内の postgres によって (おそらく) 現在使用されていることを意味します。

shared_buffersを増やして、postgres がキャッシングのためにそれ自体のメモリをより多く使用できるようにすることができますが、有効性には限界があるため、通常は使用可能なメモリの 25% 以上を使用したくないということです。

于 2016-01-06T16:33:51.443 に答える