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