2010年4月30日

[pgsql-jp: 40257] Re:同時接続数を増やすとサービス停止


"ishijima" <ishijima@xxxxx> wrote:

> PostgreSQLの同時接続数を300に増やす必要があり、postgresql.conf
> の内容をすこし変更して試したのですがうまくいきませんでした。
> よくよく調べたところ、Windowsのレジストリを変更することで問題を
> 回避できるように見えるのですが、本当にこの方法が正しいのか迷って
> います。


> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
> Session Manager\SubSystems\Windows の、
> SharedSection=1024,3072,512 の部分を
> SharedSection=1024,3072,1024 に
> 書き換えて、Windowsを再起動。
> 再起動後、プログラム(A)を実行すると300個の接続が成功します。

PowerGres の FAQ に同様の方法がありましたので、対処方法としては
正しいかと思います。ただ、PostgreSQL 本体のマニュアルにも、
この記述はあるべきですので、追記して欲しいですね。
http://powergres.sraoss.co.jp/s/ja/faq.php

PostgreSQL は接続ごとにプロセスを生成するので、比較的多くの
デスクトップヒープを消費するらしいです。過去のどこかのバージョンで
消費を押さえるよう改造が入っていた気がしますが、まだ100接続を
超えるとデフォルトでは足りなくなるのでしょう。
# Windows だと、そもそもマルチプロセスよりもマルチスレッド・モデルが
# 好ましいのですが、今さらどうこはできませんね……。

ところで、Windows で接続数を増やすと、UNIX と比べてどうしてもメモリ消費が多く
なってしまうので、可能ならば接続数を減らして代わりにコネクション・プールなどで
仮想的な接続数のみを増やすほうが、パフォーマンス上は好ましいと思われます。

------------------------------------------------------------
NTT オープンソース ソフトウェア センタ
板垣貴裕 <itagaki.takahiro@xxxxx>

投稿者 xml-rpc : 2010年4月30日 09:36
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/95492
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。