2012-04-06 7 views
0

最大可能に私はFacebookが、それはだ使用することを長いポーリング上で見て、PHPページの最大の可能な時間制限を設定する方法ロングポーリングをset_time_limit()

set_time_limit(number); 

を思ったんだけど秒なぜこの数以上はありませんか?

ブラウザがリクエストをキャンセルするため、ベストプラクティスですか?

+0

Facebookからのリクエストは40秒後に接続がキャンセルされ、再起動されます。 – Stony

+0

右は40です、ちょうどチェックされました;)ありがとう –

答えて

1

いいえ、実行期限ですが、http接続の時間制限はありません。 HTTP 1.1は永続的な接続を使用します。つまり、タイムアウトにならないため、実際にはPHPではなくApacheになります。

長いポーリングでサーバーが停止するかどうかを調べるには、Apacheの最大クライアントを参照してください。 http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients

すべてのことは、あなたが本当にソリッドロングポーリングの設定をしたい場合、私は、ノンブロッキングI/0を使用するようにNodeJSに探してお勧めします、言われています。

+0

+1 nodejsを推奨します:) – Broncha

+0

サーバを殺す可能性があるのは、接続を維持するよりも要求の数ではありません。だから、より大きな時間がかかりますか? –

+0

あまりにも悪いのは私がすでにカスタムコードで行ったことですが、すべてはすでに設定されていますが、NodeJSのおかげで心に留めておきます;) –

1

Facebookの利用については、HipHop独自の開発ソフトウェアと考えるべきです。

phpからC++へのソースをコンパイルします。これはApacheより強力です。そして、より多くの接続を扱うことができます。

これをテストしてもう少し経験を積む場合は、tutorialです。

+0

Apacheのおかげで、Apacheの最大の欠点は、接続数:... /確かに私にはわからない理由があります;)コモンズプログラマーは私も同じで気にしません –

+0

コンパイルされたPHPはどのようにApacheより強力ですか?あなたはリンゴとオレンジを比較しています。すべてのヒップホップは、PHPロジックの実行中にCPUの負担を軽減します。長いポーリングや接続などとはまったく関係ありません。 – AlienWebguy

関連する問題