[PHP-users 417] Re: 持続的データベース接続の動作について!
Hisao SHIBUYA
php-users@php.gr.jp
Fri, 29 Jun 2001 19:44:25 +0900
渋谷です。
> PHP4.0.6とPostgreSQL7.1を利用して
> phpとdbの接続をpg_pConnect()を利用して”持続的データベース接続”を
> したいと思っています。
> 何か注意事項は有りますか?
[PostgresSQL]
pgsql.allow_persistent = On
; allow or prevent persistent link
pgsql.max_persistent = -1
; maximum number of persistent links. -1 means no limit
pgsql.max_links = -1
; maximum number of links (persistent+non persistent). -1 means no limit
あたりの設定ですね。
デフォルトでは制限がかかっていません。最大接続数を制限したい場合は、
このあたりを変更してください。
制限しないと PostgreSQL への接続が増えたときに PostgreSQL が実際にその接続数
捌けない場合にページが表示されないといったことになります。
PostgreSQL の最大接続数を -N で設定して、その接続数ちゃんと繋がるか
pgbench 等で確認しておくのがいいと思います。
要は PHP からのリクエスト数分ちゃんと PostgreSQL が接続できるか確認して
おけば大丈夫です。
# これは普通の pg_connect でも同じことですが pg_connect はスクリプト終了時に
# かなりのサイトでないと最大数までいかないでしょう
> また、ユーザがpg_pConnect()してあとにpg_close()しない場合はどうなるのですか?
スクリプトが終了するときに勝手に pg_close() されていたと思います。
shibuya@alpha.or.jp