LINUX.ORG.RU
ФорумAdmin

скорость загрузки сайта, waterfall, статика

 ,


0

1

https://www.dropbox.com/s/3szbw9lesfrnkyg/Screenshot 2019-04-07 18.04.24.png?...

Смотрю как загружается сайт, вижу такую ситуацию. Картинки! загружаются 1.7 секунды. При этом если картинку напрямую открыть в браузере то все быстро (с выключенным кешом). curl так же.

Кто-то может объяснить почему так ?

★★

Такое может быть, например, если сайт поддерживает HTTP/2. Тогда тормоза возникают из-за мультиплексирования соединения - картинки передаются последовательно чередующимися порциями.

vinvlad ★★
()
Ответ на: комментарий от vinvlad

Был включен http2 но после его отключения ситуация не изменилась.

https://www.dropbox.com/s/2f80gktw8c7subj/Screenshot 2019-04-07 21.23.34.png?...

https://www.dropbox.com/s/4wm9q055g5mvp1x/Screenshot 2019-04-07 21.33.34.png?...

Там эти картинки часть слайдера и превью, при этом сами картинки большие. Но время как я вижу тратится именно на download. Или может это все таки js ресайзит эти картинки и время в download заложен и ресайз?

tugrik ★★
() автор топика
Ответ на: комментарий от tugrik

Судя по последнему Timing-экрану конкретной картинки 91ms уходит на отправку HTTP-запроса и ожидание первого байта ответа (TTFB) и потом 648ms собственно на прием картинки. Но перед этим 299ms+420ms веб-обозреватель занят чем-то другим - возможно, приемом других картинок или JS+CSS. У него же есть ограничение на число одновременно устанавливаемых соединений - другие запросы в очереди стоят. Если у вас слайдер с большим количеством картинок, да еще перед этим какие-нибудь объемные js-файлы качаются (а то и несколько), то запросто может быть.
В общем, половинка от общих полутора секунд - это тормоза frontend-части.

vinvlad ★★
()
Ответ на: комментарий от tugrik

... если вы HTTP/2 используете, то имеет смысл в настройках веб-сервера устанавливать какой-то разумный лимит на число запросов, одновременно мультиплексируемых по соединению - так, чтобы в первой партии проскочили картинки, которые должны быстро отобразиться на видимой части экрана. Иначе, когда включаешь HTTP/2, то на стороне посетителя сайта чисто визуальный эффект может быть отрицательным.

vinvlad ★★
()
Ответ на: комментарий от tugrik

... ну и чтоб совсем уж закрыть тему с задержками - нужно еще учитывать время установления HTTPS соединения.

Если, к примеру, у вас ping до сайта 90ms, то на установление HTTPS-соединения уходит где-то 180-270ms. Чтобы было по минимуму, нужно в настройках веб-севера включить кэширование SSL (TLS) сессий.

vinvlad ★★
()
Ответ на: комментарий от vinvlad

Спасибо узнал много нового. В итоге расковырял - да там слайдер грузился только после того как загрузится весь DOM, и картинки из-за этого была большая задержка.

tugrik ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.