1. Многие коллективы разработчиков пытаются измерять скорость отклика сайта и пишут, например, “эта страничка сформирована за 300 ms”.
2. Проблема в том, что 300 ms - это "у нас на сервере". Пользователю, на самом деле, все равно, сколько это "у вас на сервере”, ему надо “сколько у меня в браузере”. В среднем по больнице, 300 ms на сервере с размером странички в 60-70 Кб, могут быть 2.5 секунды на клиенте.
3. Перед тем, как это лечить, надо это измерить. Есть 2 способа:
а. Navigation timing api, поддерживается сейчас много где, но не везде поддерживается одинаково, есть места, сложные для понимания и осмысления (тут много слайдов).
б. Можно взять tcpdump, в нем есть ACK ответов от клиентов, и измерять по ним. Есть Open Source soft (софт написан мной в Яндексе, есть договоренность его выпустить), который это делает. В tcpdump большой бонус в том, что можно понять, что происходит.
4. Что происходит в соединении, что такое rtt, как это влияет на latency. Как на это влияет cdn и вынесение всяких фронтендов ближе к пользователю.
5. Почему, вообще, бывает медленно, почему у пользователя может медленно работать wi-fi даже на широком и хорошем канале, уже не говоря про мобильный интернет.
6. Как влияют на скорость антивирусы и еще некоторая неведомая DPI херня (tm), которая делает так, что в советской России (а, возможно, во всем мире) https часто быстрее, чем http (и с чем, собственно, связано то, что на него куча компаний переходят)