[PHP-users 21985]Re: WEBサーバーがシングルで動いている現象について

Koichi KUBOYA k-kuboya @ syd.odn.ne.jp
2004年 6月 4日 (金) 05:58:01 JST


久保谷です。

> > Webサーバーがシングルでというのはちょっと意味がわかりかねますが、
> 同時に100個の接続要求があったとしても、
> 1個ずつ処理しているということです。
> 結果として、ソケット通信の待ち時間の間、他の接続要求を受け付けない現象にな
>> ています。
Webサーバーが接続要求をシーケンシャルに処理しているということですね。


> > PHPにポーリング処理などの時間のかかる仕事をさせるのは向いていないかと思
わ
>> > ますので、
> > 1.サーバー側でポーリング処理を行うプロセスを常駐させる。
> > 2.その結果をファイルに保存する。
> > 3.PHPでファイルを読み込み、結果を画面に表示する。
>
> 1.の方法は、PHPで実装が可能なのでしょうか?
>
> 現在は下記の方法で実現しています。
> ※JavaScriptなどのタイマーを使用して、
>   クライアント側からのポーリング作業に切り替え様かとも思いましたが、
>   他にも処理をしているため、出来れば避けたいのですが…
>

http://www.php.net/manual/ja/ref.sockets.php
にある「例 1. ソケットの例: 簡易TCP/IPサーバー」をご覧ください。
竹本様がおっしゃったように、PHPのコマンドライン版を利用してシェル起動させる
方法のサンプルです。

2.3.の方法はちょっと自信ないです。
久保谷



PHP-users メーリングリストの案内