送信とは、データ/リクエストをサーバーにアップロードするために費やされる時間です。ブロッキングと待機の間に発生します。たとえば、ASPXページをポストバックすると、リクエスト(フォームの値とセッション状態を含む)をASPサーバーにアップロードするのにかかった時間が示されます。
待機とは、要求が送信されてから、サーバーからの応答が受信されるまでの時間です。基本的に、これはサーバーからの応答を待つために費やされる時間です。
受信は、サーバーから応答をダウンロードするために費やされた時間です。
ブロッキングとは、UIスレッドがリクエストを開始してからHTTPGETリクエストがネットワークに到達するまでの時間です。
これらが発生する順序は次のとおりです。
- ブロッキング*
- DNSルックアップ
- 接続する
- 送信
- 待っている
- 受信
*ブロッキングとDNSルックアップが入れ替わる場合があります。
[ネットワーク]タブには、処理に費やされた時間が表示されません。
ブロッキング時間が長い場合は、ブラウザを実行しているマシンの実行速度が遅くなります。これは、マシンをアップグレードする(RAMを増やす、プロセッサを高速化するなど)か、ワークロードを減らす(不要なサービスをオフにする、プログラムを閉じるなど)ことで修正できます。
待機時間が長い場合は、サーバーがリクエストに応答するのに長い時間がかかっていることを示しています。これは次のいずれかを意味します。
- リクエストの処理には長い時間がかかります(データベースから大量のデータをプルする場合、大量のデータを並べ替える必要がある場合、またはスピンアップする必要があるHDDでファイルを見つける必要がある場合など)。
- サーバーが受信するリクエストが多すぎて、妥当な時間内にすべてのリクエストを処理できません(リクエストの処理には0.02秒かかる場合がありますが、リクエストが1000ある場合は、顕著な遅延が発生します)。
2つの問題(長い待機+長いブロッキング)は関連しています。キャッシュ、新しいサーバーの追加、アクティブページに必要な作業の削減によってサーバーのワークロードを削減できる場合は、両方の領域で改善が見られるはずです。