[pgsql-jp: 36068] Re:検索系システムのパフォーマンスについて

梅沢 功 umezawa @ waseda.jp
2005年 9月 30日 (金) 20:08:23 JST


梅沢です。

> > postgres.confには以下のパラメータを設定しています。
> > max_connections = 512
> > shared_buffers = 4096

普通、shared_buffers が 4096 では少なすぎると思います。
桁が 2 〜 3 違っているのでは?

例えば、以下のページをご覧ください。
この他にも類似の記事は沢山みつかると思います。
http://www.stackasterisk.jp/tech/dataBase/postgresTuning01_04.jsp

このページでは考え方を述べているだけですが、多くの場合実
メモリの1/4 〜 1/2 を共有バッファに割り当てるのが適切です。
上記の設定は実メモリが 64MB〜128MB くらいのマシンなら良い
と思いますけど。
# DB サーバ以外の機能も受け持っている場合、この割合は低く
# 設定せざるをえないでしょうけどね。

> OS内の他プロセスもシェアードメモリを使っているでしょうから
> これだとセグメント数の上限に達してしまっている(そのため
> 実際には4096のバッファを確保できていない)のではないかと
> 思ったのですがいかがでしょう?

確か、その場合 postgres の起動自体が失敗したと思います。
(7.4 での記憶です)
/proc/sys/kernel/shmmax の変更も必須だったはず。





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