Webサイトを取得しようとすると、奇妙な遅延のパターンに気づきました。この振る舞いは非常に特徴的で、再現しやすいので、以下の詳細のほとんどにかなり自信があります。私は誰かがそれを認めるか、それを解決できることを望んでいます。
遅延時間は、コンピュータを再起動してからの時間が長いほど、制限なく知ることができるように見えます。これは他の点より注意深くテストされていませんが、再起動すると問題が修正され、再起動後の最初の数時間以内にめったに表示されないことを確信しています(それよりずっと長く管理できそうです)。
遅延は、Firefox、Safari、またはChromeのいずれかで発生します。
カールは正常に機能します。ただし、Chrome、Safari、Firefoxのいずれかがページをロードしている間は、curlで大幅な遅延が発生します。ブラウザーを閉じると、実行中のすべてのcurlジョブがすぐに正常に終了します(たとえば、さまざまなWebサイトを取得するcurlフェッチの5つのインスタンスを起動できます。これらはすべて、進行状況バーを表示して停止します。Chromeを閉じると、すぐに終了するジョブ)。
curlの遅延は、存在する場合でも、Webサイトの遅延よりも大幅に小さくなります。デバッグのためにしばらく再起動しなかったため、現在は15秒程度です。Webサイトはこれよりもはるかに長くかかり、おそらく「www.---.comを待っている」間に15秒かかります。
(pingによって報告される)待ち時間は、問題の発生時に増加しません。
カールは経験による遅延ですが、異なるカールジョブは同時に終了します。つまり、それらはすべて長時間ハングし、その後すべて同時にハングしなくなります(したがって、ハングしている15秒以上のスケールでほぼ同時に終了します)。これはブラウザーで発生することもありますが、確実ではありません(ブラウザーが実際にページのロードを完了する前にハングするいくつかの機会があるためと考えられます)。curlジョブが終了した後、すぐに再起動すると、まったく同じ方法でハングアップするため、問題が解決したわけではありません(少なくとも非常に長い間は)。
遅延はWebページによってかなり異なります。まだ詳細な調査は行っていません(次のステップだと思います)。
ハングすると、curl -vは進行状況バーでハングし、データは送信されません。
Chromeでページをロードしている間、ほとんどの時間はCDNとサードパーティサービスの「待機」に費やされます。
多くの場合、Chromeでは空白の画面が表示され、[停止]を押すとページがレンダリングされます(ほとんどのアセットが読み込まれているわけではありません)。これは最後の点に関連していると思います。問題に密接に関連しているのではなく、この長い遅延があるときに現れるクロムの動作にすぎません。
パフォーマンス特性が異なる多くの異なるワイヤレスネットワーク(50 mbps回線など)に接続すると、遅延が発生します。私は有線ネットワークを試したことがありませんが、それは問題ではないと思います。
同様に、別のDNSでも違いはありません(pingが常に正常であることを考えると、これは驚くべきことではありません)。
システムへの非常に異なるレベルのストレスの下で同じ動作を観察します。たとえば、現在、3/8 GBのメモリを解放しています。