[pgsql-jp: 28233] 最適コネクション数の計算方法について

dorojiai dorojiai @ horae.dti.ne.jp
2002年 12月 9日 (月) 21:47:25 JST


はじめまして。田中と申します。

先ほど入会させていただきました。よろしくお願いいたします。

早速ですが、質問させていただきたく思います。
以下の構成でデータベースサーバを構築しております。

ハードウェア
CPU:Pentuim III 1.13×2
MEM:2Gb

ソフトウェア
OS:RedHat7.2
DB:PostgreSQL7.1.3

OS設定
共有メモリ:128M

Postgres設定
max_connections = 128
sort_mem = 32168
shared_buffers = 15200

このサーバでは主なサービスとしてはPostgreSQLしか稼動させません。

たとえば、プログラムミス等でコネクションが無限に作られるような状況で、
せめてOSの動作に影響がないようにする必要があると考えました。
そこで、Max_Connectionsは実メモリの範囲内で収まるように
設定しなければならないと考え、top -b | grep postgresなどとして
Sizeフィールドの平均をとると、大体1プロセスあたり7200Kバイトほどのメモ
リを
消費しているように思えました。

このことから、2048Mbのメモリから共有128Mbを引いた1920Mbがコネクションプ
ロセスに
割り当てられるとして(非常に単純ですが)、
max_connections < (1920*1024)/7200
とならなければならないと考えております。(結果は約273個です)

この調査方法は妥当か、結果は正しいものかの確信が持てず困っております。
正確な値でないなら、正しく測定できる計測方法をご教示いただければ幸いで
す。
また、上記の設定でおかしなところ等ありましたら、ご指摘をいただければなお
ありがたく存じます。

いきなりPostgreSQLに直接関係ない質問で申し訳ありませんが、よろしくお願い
いたします。






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