[pgsql-jp: 25501] エラーメッセージ「pq_recvbuf: =?us-ascii?Q?unexpected?= EOF on client connection 」についてお教えください。

mina-yuzawa @ kccs.co.jp mina-yuzawa @ kccs.co.jp
2002年 4月 2日 (火) 12:23:50 JST


初めて投稿致します。
綾辻と申します。
現在、libpqのインタフェースでpostgresにアクセスするApacheモジュールをC言語
で開発しております。
作成したモジュールに対して負荷をかけるとApacheのエラーログに「pq_recvbuf:
unexpected EOF on client connection」が出力されます。
上記のエラーメッセージでメーリングリストを検索したところ、原因として「接続
処理が正しくされていない。バックエンドが異常終了している。」が考えられると
ありました。
作成したプログラムの終了処理に問題があるのなら負荷をかけなくても上記メッ
セージが出力されるはずだと思っています。またバックエンドが異常終了している
のかどうかどのように調べたら良いわからないため原因がわかりません。さらに負
荷を高くすると、接続に失敗したエラーが出力されてApacheを再起動するまで
Postgresに接続できなくなったり、Postgresのプロセスが死んでしまったりしま
す。上記メッセージが出力されるのはPostgresの限界を意味しているのでしょう
か。それとも他に原因があるのでしょうか。Postgresを使用するのは今回が初めて
なのでどの程度の規模に耐えれるデータベースなのもわかっておりません。
ご教授よろしくお願い致します。

<環境>
下記の環境で、10万件データが登録されているテーブルから1件を取得するSELECT文
を実行するページに対してMSのWeb Application Stressで同時20アクセスの負荷を
かけています。

**バージョン**
OS:       Redhat6.2
Postgres: 7.1.3
Apache:        1.3.22

**マシンスペック**
メモリ:        512MB
容量:         1GB


**テーブルレイアウト(10万件登録)**

                    Table "ksp_bind"
      Attribute      |          Type          | Modifier
---------------------+------------------------+----------
 id                  | integer                |
 syouhin_num         | integer                |
 shouhin_name        | character varying(16)  |
 shouhin_price       | integer                |
 shouhin_explanation | character varying(128) |
 insert_time         | date                   |
 update_time         | date                   |
Index: ksp_bind_index


**postgres postgresql.conf**
max_connections     64
shared_buffer       128


**Apache httpd.confの設定値**
MaxRequestPerChild  100
MaxSpareServer      10






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