Що означає час на часовій шкалі Google Chrome на панелі мережі?


83

Часто під час пошуку несправностей за допомогою мережевої панелі Google Chrome я бачу різні часи і часто задаюся питанням, що вони означають.

Хтось може підтвердити, що я правильно їх розумію:

  1. Блокування: час, заблокований багаторазовим запитом браузера на один і той самий ліміт домену (???)
  2. Очікування: очікування з'єднання з сервером (???)
  3. Відправка: час, витрачений на передачу файлу з сервера в браузер (???)
  4. Отримання: Час, витрачений браузером на аналіз та декодування файлу (???)
  5. Пошук DNS: час, витрачений на вирішення імені хосту.
  6. Підключення: час, витрачений на встановлення підключення до сокета.

А як би хтось виправив довгі часи блокування?

А як би хтось виправив довгий час очікування?


Відповіді:


92

Надсилання - це час, витрачений на завантаження даних / запиту на сервер. Це відбувається між блокуванням та очікуванням. Наприклад, якщо я опублікую назад сторінку ASPX, це буде вказувати кількість часу, необхідного для завантаження запиту (включаючи значення форм і стан сеансу) назад на сервер ASP.

Очікування - це час після відправлення запиту, але до отримання відповіді від сервера. В основному це час, витрачений на очікування відповіді від сервера.

Отримання - це час, витрачений на завантаження відповіді з сервера.

Блокування - це проміжок часу між потоком інтерфейсу користувача, який починає запит, і запитом HTTP GET, що потрапляє на провід.

Порядок їх виникнення такий:

  1. Блокування *
  2. Пошук DNS
  3. Підключення
  4. Відправлення
  5. Чекаю
  6. Прийом

* Блокування та пошук DNS можуть бути помінені місцями.

На вкладці мережі не вказано витрачений час на обробку.

Якщо у вас тривалий час блокування, тоді машина, на якій запущений браузер, працює повільно. Ви можете це виправити, оновивши машину (більше оперативної пам'яті, швидший процесор тощо) або зменшивши її робоче навантаження (вимкніть непотрібні послуги, закривши програми тощо).

Тривалий час очікування вказує на те, що ваш сервер довго відповідає на запити. Це або означає:

  • Обробка запиту займає багато часу (наприклад, якщо ви витягуєте з бази даних велику кількість даних, потрібно відсортувати велику кількість даних або знайти файл на жорсткому диску, який потрібно закрутити).
  • Ваш сервер отримує занадто багато запитів, щоб обробити всі запити за розумний проміжок часу (обробка запиту може зайняти 0,02 секунди, але коли у вас 1000 запитів, буде помітна затримка).

Ці дві проблеми (тривале очікування + довге блокування) пов'язані. Якщо ви можете зменшити навантаження на сервері, кешуючи, додаючи новий сервер та зменшуючи роботу, необхідну для активних сторінок, тоді ви побачите покращення в обох областях.


В останньому абзаці ви не мали на увазі тривале очікування + тривале отримання?
Валентин

@Valentin Receiving - це більше ваше Інтернет-з’єднання та сервер. Тривале блокування означало б проблему з вашим ПК.
Trisped

24

Ви можете прочитати детальне офіційне пояснення від команди Google тут. Це дуже корисний ресурс, і ваша інформація надходить у розділ " Перегляд шкали часу ".

Хронометраж мережі ресурсів показує ту саму інформацію, що і на панелі ресурсів у поданні шкали часу. Відповідаючи на запитання:

  • Пошук DNS : час, витрачений на виконання пошуку DNS. (вам потрібно з’ясувати IP-адресу site.com, і це вимагає часу)
  • Блокування : час, протягом якого запит, витрачений на очікування встановленого з’єднання, стане доступним для повторного використання. Як було сказано в іншій відповіді, це не залежить від вашого сервера - це проблема клієнта.
  • Підключення : час, необхідний для встановлення з'єднання, включаючи рукостискання / повторні спроби TCP, пошук DNS та час підключення до проксі-сервера або узгодження рівня захищеного сокета (SSL). Залежить від перевантаження мережі.
  • Надсилання - час, витрачений на відправлення запиту. Залежить від розміру надісланих даних (який в основному невеликий, оскільки ваш запит майже завжди становить кілька байт, крім випадків, коли ви надсилаєте велике зображення або величезну кількість тексту), перевантаженість мережею, близькість клієнта до сервера
  • Очікування - час, витрачений на очікування початкової відповіді. Це здебільшого час, коли ваш сервер обробляє та реагує на вашу відповідь. Це як швидко, якщо ваш сервер обчислює речі, отримує записи з бази даних тощо.
  • Отримання - час, витрачений на отримання даних відповіді. Щось схоже на відправлення, але тепер ви отримуєте свої дані із сервера (розмір відповіді переважно більший за запит). Тож це також залежить від розміру, якості з’єднання тощо.

FYI: Я знайшов досить хороший аналізатор файлів har
Майк Пеннінгтон,

1

Блокування : час, протягом якого запит, витрачений на очікування встановленого з’єднання, стане доступним для повторного використання. Як було сказано в іншій відповіді, це не залежить від вашого сервера - це проблема клієнта .

Я не згоден із наведеним вище твердженням. Все інше однакове [навантаження на мою машину] - мій браузер показує дуже менше часу "блокування" для одного веб-сайту та тривалого часу блокування для іншого веб-сайту.

Отже, якщо очікування на один із шести потоків + узгодження проксі ** є високим, це здебільшого через каскадний ефект повільності сервера АБО поганого дизайну сторінки [занадто багато передається по дроту, занадто багато разів].

** - що б не означало "Переговори про проксі"!, ніхто це не дуже добре пояснює, особливо там, де насправді не задіяний жоден локальний / CDN-проксі

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.