postgreSQL8.2.3を使っています。postgresql.confないにあるmax_connectionsの値についてですが、いくつまで設定できるものなのでしょうか?

なお、postgreSQLのDBには直接アクセスせずpgpoolⅡを介して行っています。(pgpoolⅡのnum_init_childrenの値はpostgresql.confのmax_connectionsと同じ値にします。)
※この質問はPostgreSQLのmax_connectionsに1000を設定したら
 アクセスできなくなってしまったため質問しました。
 あまり詳しくないため不足している情報などもあるかも知れません。
 そのときはご指摘していただけるとありがたいです。
 よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/11/07 12:08:43
  • 終了:2008/11/12 09:05:31

ベストアンサー

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402008/11/07 12:22:17

ポイント200pt

max-connections 自体に明確な制限は無い。

ただ、shared_buffer を必要な量だけ確保しておかないと設定は有効にならない。

最低限の設定は128キロバイトでなければならず、そして16キロバイト x max_connections以上でなければなりません。

で、shared_buffer を拡大していくと今度はOSの上限に引っかかる。

Linux

デフォルトの設定では、小規模なインストレーションのみに適しています。(デフォルトの最大セグメントサイズは32MBです。)しかし、この他のデフォルトはかなり豊富に割り当てられており、通常は変更する必要はありません。 sysctlインタフェースを使用して、最大セグメントサイズを変更することができます。例えば、これを128MBとし、また、明示的に最大総共有メモリサイズを2097152ページ(デフォルト)に設定するには以下のようにします。

$ sysctl -w kernel.shmmax=134217728

$ sysctl -w kernel.shmall=2097152

ということで、計3種のパラメーターを調整しなければならない。

それぞれの最適値はサーバースペックによるのでなんともいえないが、max_connection 1000 という数値はよっぽどのハイスペックサーバーで無いと

扱いきれないと思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません