Что влияет на производительность сайта
Серверные части приложений стали более сложными благодаря продолжающейся эволюции облачных технологий и изменений интернет-протоколов. Пользователи выходят в интернет в большем количестве, чем когда-либо прежде.
Как следствие, поддержание производительности стало более сложной задачей. Производительность, вероятно, никогда не была более важной для бизнеса.
Сложность веб-контента
В 2016 году средний размер веб-страницы составлял 2,3 МБ, что
больше, чем исходная версия классической компьютерной игры Doom, когда она только вышла. Веб-сайты стали намного тяжелее с того времени.
По мере совершенствования технологий пользователи ожидают большего персонализированного опыта, включающего различные типы медиа. Просто HTML в этом больше не поможет. В результате средний размер одной страницы сегодня превышает размер классической компьютерной игры.
Чтобы поддерживать интерес пользователей, сегодня в приложения и веб-сайты добавляется все больше и больше элементов:
— мультимедийный контент, например, видео и высококачественные изображения
— CSS: таблицы стилей, которые влияют на внешний вид страницы
— JavaScript: динамические веб-страницы и персонализированный контент являются нормой. В результате разработчики включают все больше и больше скриптов, которые необходимо обработать
— Вызовы API: увеличение числа сетевых вызовов API, доставляющих контент или дополнительные функции из нескольких сторонних источников.
Хотя эти изменения обеспечивают более богатый и персонализированный опыт, который предпочитают пользователи, они усложняют эффективную загрузку.
Повышенные ожидания потребителей и использование мобильных
Сегодняшние потребители подключены к интернету в большей мере, чем когда-либо, и это увеличивает потребность в серверной инфраструктуре, поддерживающей веб-сайты и приложения.
Пользователи подключаются к приложениям и веб-сайтам со всего мира с любых устройств. Опрос Nielsen, проведенный в 2016 году, показал, что 57% респондентов, которые совершали покупки в интернете за последние шесть месяцев, покупали товары в зарубежных магазинах.
Мобильные устройства — это новый эталон производительности в интернете. Однако разработка для мобильных устройств представляет собой новый набор задач. Производительность мобильной связи ограничена возможностью подключения к сети и ее доступностью. Несмотря на широкую доступность сетей 4G и 5G в некоторых странах, 60% мобильных подключений во всем мире происходит через сети 2G. А в некоторых регионах провайдеры ограничивают пропускную способность до определенного значения.
Адаптация веб-страниц для мобильных устройств также означает, что площадь экрана становится проблемой. Веб-страницы должны быть разработаны так, чтобы их по-прежнему можно было читать и использовать на любых мобильных устройствах.
Несмотря на эти задачи для разработчиков, мобильные пользователи имеют высокие стандарты производительности для своих приложений: исследование Dimensional Research показало, что 49% пользователей ожидают, что приложения ответят в течение 2 секунд или меньше, 55% считают приложение ответственным за проблемы с производительностью, а 80% указали, что они будут пытаться использовать проблемное приложение только три раза или меньше.
DNS
Прежде чем пользовательские устройства смогут подключиться к интернет-ресурсам, пользовательское имя интернет-ресурса — доменное имя — должно быть переведенным в машиночитаемый IP-адрес, аналогично тому, как вам нужно найти номер телефона компании, прежде чем организовать связь.
Для этого пользовательское устройство должно запросить преобразователь DNS, который сопоставит доменное имя с IP-адресом и отправит устройству правильный IP-адрес. Этот процесс занимает время, поэтому оптимизация DNS является важной частью оптимизации производительности.
В дополнение к поиску DNS для основного доменного имени могут потребоваться другие DNS-запросы для загрузки других ресурсов на каждой веб-странице. Например, если изображения размещены в другом домене, не в вашем, тогда загрузка веб-страницы будет включать запросы ко всем этим доменам для загрузки изображений.
В некоторых случаях многократный поиск DNS может привести к задержке до нескольких секунд. В то же время провайдеры DNS могут не быть оптимизированы по скорости. Если пользователь сначала остановится у медленного DNS-провайдера, находящегося далеко от него, то загрузка вашего сайта займет больше времени.
Многим провайдерам DNS требуется более 50 миллисекунд для разрешения каждого запроса, в то время как самые быстрые поставщики DNS обрабатывают запросы менее чем за 20 миллисекунд.
Состояние сервера источника
Производительность начинается с исходных серверов: основных серверов, которые обрабатывают и отвечают на входящие запросы клиентов. По мере того, как приложения и веб-сайты становятся более сложными, они увеличивают нагрузку на исходные серверы.
Низкая производительность исходного сервера приводит к снижению производительности в целом, даже если остальная часть инфраструктуры и содержание веб-ресурса оптимизированы.
Исследование Nielsen Norman Group показывает, что время ответа не должно превышать 1 секунды, чтобы не прерывать ход мыслей пользователя. Если сервер не может обработать хотя бы 1 запрос в секунду, пользователь будет считать приложение медленным.