PHPページの可能な最大時間制限を設定する方法を知りたいのですが、
set_time_limit(number);
Facebookが使用する長いポーリングを調べたところ、40秒であるのはなぜこの数であり、それ以上ではないのでしょうか。
ブラウザがリクエストなどをキャンセルするため、ベストプラクティスですか?
PHPページの可能な最大時間制限を設定する方法を知りたいのですが、
set_time_limit(number);
Facebookが使用する長いポーリングを調べたところ、40秒であるのはなぜこの数であり、それ以上ではないのでしょうか。
ブラウザがリクエストなどをキャンセルするため、ベストプラクティスですか?
いいえ、これは実行時間の制限であり、http接続の時間制限ではありません。HTTP 1.1は持続的接続を使用します。つまり、タイムアウトしないため、実際にはPHPではなくApacheに制限があります。
Apacheの最大クライアントを調べて、長時間のポーリングによってサーバーが強制終了されるかどうかを確認します。 http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients
そうは言っても、しっかりとした長いポーリング設定が本当に必要な場合は、NodeJSを調べてノンブロッキングI/0を使用することをお勧めします。
FacebookがHipHopを独自に開発したソフトウェアとして使用していることを考える必要があります。
彼らはソースをphpからc++にコンパイルします。これはApacheよりも強力です。そして、より多くの接続とより多くを処理できます。
それをテストしてさらに経験を積みたい場合は、ここにチュートリアルがあります。