web-dev-qa-db-ja.com

HARファイルで「_blocked_queueing」とはどういう意味ですか

ロード時間データをサイトからHTTP ARchive形式(HAR)ファイルに抽出していますが、「_ blocked_queueing」の意味がわかりません。

_blocked_queueing in a har file

1
Jodmoreira

これはあなたの助けになるかもしれません:

待ち行列

キューに入れられている要求は、次のことを示しています。

リクエストは、重要なリソース(スクリプト/スタイルなど)よりも低い優先度であると見なされるため、レンダリングエンジンによって延期されました。これは画像でよく起こります。

解放しようとしている利用できないTCPソケットを待つために、要求は保留されました。

ブラウザはHTTP 1のオリジンごとに6つのTCP接続しか許可しないため、リクエストは保留されました。

ディスクキャッシュエントリの作成に費やした時間(通常、非常に高速)。ストール/ブロッキング

リクエストが送信される前に待機した時間。キューイングで説明した理由のいずれかを待つことができます。さらに、この時間には、プロキシネゴシエーションに費やされた時間が含まれます。


キューに入れられたシリーズまたはストールされたシリーズよく見られる問題は、キューに入れられたまたはストールした一連のアイテムです。これは、単一のドメインから取得しているリソースが多すぎることを示しています。 HTTP 1.0/1.1接続では、Chromeはホストごとに最大6つのTCP接続を強制します。一度に12個のアイテムをリクエストすると、最初の6個が開始され、残りの半分がキューに入れられます。元の半分のいずれかが終了すると、キュー内の最初のアイテムが要求プロセスを開始します。

停止した一連のリクエスト

従来のHTTP 1トラフィックのこの問題を修正するには、ドメインシャーディングを実装する必要があります。それは、リソースを提供するためにアプリケーション上に複数のサブドメインを作成しています。次に、提供されるリソースをサブドメイン間で均等に分割します。

HTTP 1接続の修正は、HTTP 2接続には適用されません。実際、それは彼らを傷つけます。 HTTP 2を展開している場合は、HTTP 2の操作方法に対して機能するため、リソースをドメインシャーディングしないでください。 HTTP 2では、多重接続として機能するサーバーへの単一のTCP接続があります。これにより、HTTP 1の6つの接続制限がなくなり、複数のリソースを単一の接続で同時に転送できます。

ソース: https://developers.google.com/web/tools/chrome-devtools/network-performance/understanding-resource-timing#queued_or_stalled_series

1
Michael d