[pgsql-jp: 38405] パラメータ「shared_buffers」について

Daisuke Arai d-arai @ tni.co.jp
2007年 5月 10日 (木) 19:38:15 JST


メーリングリストの皆様、こんばんわ。

永安様・斉藤様からのご回答、誠に感謝いたします。ありがとうございました。

いろいろな文献を参考にさせていただきましたが、どうも不可解な箇所が
ありまして、「shared_buffers」というパラメータにどのくらいの値を指定すれば
いいのかという点です。
さまざまな文献の中で、その内容の説明を何点か挙げてみますと、
・できれば8000〜10000程度まで引き上げたほうがいい。それ以上のを指定すると
バッファ管理のオーバーヘッドにより逆に性能が低下してしまう。
・共有バッファは以下の計算で求められる。
 ((空きメモリの合計) と (データベースサイズ + 512K) の少ない方)) / 8192
・簡単な目安として、サーバマシンの搭載メモリ量の1/4〜1/2がお勧め。
通常は1/4程度でいいと思うが、潤沢なメモリ量を搭載している高性能サーバ
マシンの場合には1/2というのも有力。
というように、あちらこちらでそれぞれの自論が述べられています。
どの説が一番正しいのでしょうか。
また、私が管理しているサーバでは、どの程度の値が適当でしょうか。
主なスペックは、
OS:RedHat Linux 9
メインメモリ:2GB
共有メモリセグメントの最大サイズ(SHMMAX):1GB
PostgreSQLのバージョン:7.3.4
「shared_buffers」のデフォルト値は、「64」となっております。

大変申し訳ありませんが、どなたかご教授いただけませんでしょうか。
どうぞ宜しくお願い申し上げます。

荒井 大輔  E-mail [ d-arai @ tni.co.jp ]




pgsql-jp メーリングリストの案内