Re: Почему статические файлы (20Кб) в локальной сети(1Gbit/s) отдаются 1,5 секунды?
Evgeniy Berdnikov
bgx на protva.ru
Чт Июл 5 18:37:12 UTC 2018
On Thu, Jul 05, 2018 at 10:45:35AM -0400, YuriN wrote:
> Статика, скажем, размером 20kb отдаётся порядка 1-1.5 секунды. При чём TTFB
> относительно быстрый - 200-300 ms, а доставка от nginx до браузера уже 1-1.5
> секунды. По логам видно, что эта статика берётся из кэша всё-таки
> ($upstream_response_time = 0).
> Условия проверки: обращение к титульной странице нашего сайта - это 80
> запросов, 2.7Mb трафика суммарно, по https, http2.
> Конфиг вроде бы стандартный, без особого тюнинга (приложен)
> Если скачивать один только статический файл (1 запрос) - то он скачивается
> без этих задержек - 27 ms.
Показатель TTFB (time to first byte) при отсутствии каких-либо тормозов
на сервере должен быть около двух задержек (rtt) от сервера к клиенту.
Но если в этот показатель включается время ssl-ного хендшейка, то он может
быть существенно выше, т.к. включает тяжёлую криптографию и зависит от
скорости шифрования на клиенте и на сервере. Как измеряется этот TTFB
и каково реальное значение rtt?
Вы пишете, что TTFB порядка 200-300 ms, а ниже, что заказчка целого файла
занимает целых 27 ms. Здесь явно противоречие, причём на порядок.
Какова получается скорость загрузки по http без ssl?
В дампе, при подозрении на потери в канале, прежде всего следует искать
пакеты с селективными подтверждениями (sack), это удобный индикатор потерь.
Разумеется, нужно убедиться, при tcp-шном хендшейке что обе стороны
договорились эту опцию использовать.
--
Eugene Berdnikov
Подробная информация о списке рассылки nginx-ru