ユーザーが新しいメッセージを持っているかどうかを確認するためにサーバーで長いポーリングを行うスクリプトがあるとします。サーバー側は次のようになります
while counter < 5
if something_changed
push_changes_to_client
break
else
counter++
sleep 5
データベースを5回チェックし、変更がない場合は毎回、次のチェックまで5秒間待機します。これにより、最大実行時間は約25秒になります。
クライアントがあるページから別のページに非常に速く移動するとどうなりますか?クライアントが別のページに移動した後もサーバースクリプトが実行され続け、そこで別の変更要求が送信されると思います。
これは、多くの人がサイト内をすばやく移動している場合(各ページでの最大実行回数が25秒未満)、サーバーは存在しないページに応答しようとしているすべてのスクリプトを実行し続ける必要があることを意味しますか?もう?これにより、サーバーはすべてのスレッドプールを非常に高速に使用しませんか?