タイムアウト
タイムアウトと十把一絡げに呼ばれているものにもいろいろある。
クライアント(ブラウザ) ↓ ↑ ネットワーク ↓ ↑ Webサーバー(Apache) ↓ ↑ phpなどの処理
- サーバーが無言だとクライアントがあきらめる時間
- クライアントが無言だとサーバーがあきらめる時間
- phpがあきらめる時間
がよくある。
phpがあきらめる時間は、プログラム側で set_time_limit で調整できる。
(これが発生しているときはFatal errorになるのでわかりやすい)
お互いが無言状態が続くと切ってしまうのは(真っ白画面とか、ずっとくるくるしてるとか)、
時間を延ばすよりは、お互いに何か送信していれば回避できることがあるので、
php から echo “\n”; みたいなのを時々送信してやると、接続を維持できることもある。
他にも、途中のルーターに1分でタイムアウトする設定がされていたこともあった。
httpで長時間つなぎっぱなしにするのは通常避けた方がよい。
さまざまな問題に遭遇することが多い。
コメント