Я не могу говорить для команды Chromium, но я могу говорить за Advanced REST Client - как автор инструмента.
ARC работает непосредственно на розетке. Он использует API-интерфейс низкого уровня для измерения времени между различными событиями (например, от первого байта). Эти тайминги - например, - не подсчитывают время, чтобы прочитать ответ на клиенте. Значение, библиотека, которая отвечает за транспорт, передает буфер вместо текста в приложение, чтобы он работал быстрее. XHR имеет дополнительные методы для проверки типа ответа и в зависимости от него преобразует ответ на строковый, буферный или XML-документ. Я могу только догадываться, что он рассчитан на общее время исполнения.
В любом случае, ARC спустился до минимально возможных API, чтобы точно измерить тайминги. Если вы хотите больше узнать об этом, вы можете проверить эту строку в транспортной библиотеке: https://github.com/advanced-rest-client/socket-fetch/blob/stage/app.fetch.js#L487 Это пример того, как рассчитываются тайминги (здесь время соединения). Общее время - это всего лишь сумма всех этих таймингов (+ перенаправления, если таковые имеются).
Какие инструменты вы обычно используете для измерения времени отклика с сервера? Это просто любопытно. –
@rukavitsya Я не использую никаких инструментов, потому что приложение не имеет доступа к серверу :) Оно вычисляет время, прошедшее между отправкой последнего байта сообщения запроса и получением первого байта сообщения. На самом деле это не реальное время отклика сервера, поскольку оно не включает время транспортировки, но это лучшее, что вы можете получить. –
@ Paweł Psztyć Могу ли я измерить абсолютное повышение производительности конкретной конечной точки отдыха через ARC? –