友人と私は、jQuery と PHP コアを備えた Web ベースの AJAX チャット ソフトウェアを構築しています。これまで、2 秒ごとにサーバーを呼び出して更新を探すという標準的な手順を使用してきました。ただし、この方法は高速ではなく、データが返されなくてもサーバーとの間で大量のリクエストがやり取りされるという点で「費用対効果が高い」という理由から、この方法は嫌いになりました。
私たちのプロジェクト サポーターの 1 人は、COMET として知られる手法、より具体的にはロング ポーリングを検討することを勧めました。しかし、さまざまな記事やブログ投稿でそれについて読んだ後、Apache サーバーで使用する場合はそれほど実用的ではないことがわかりました。ほとんどの人は「それは良い考えではない」と言うだけのようですが、Apache が一度に処理できるリクエスト数の詳細についてはあまり触れていません。
PureChat の全体的な目的は、見栄えが良く、高速で、ほとんどのサーバーで動作するチャットを人々に提供することです。そのため、ユーザーの約 96% が Apache を使用し、長いポーリングにより適していると思われる Lighttpd や Nginx を使用しないと想定しています。
ポイントに到達する:
setInterval を使い続けて、新しいデータを繰り返し要求する方が良いと思いますか? それとも、ほとんどのユーザーが Apache を使用するという事実にもかかわらず、ロング ポーリングを使用する方がよいのでしょうか? また、Apache サーバーがロールオーバーして停止するまでにチャットを使用できるおおよその人数について、より具体的な要約を取得することは可能ですか?