Чат Telegram
Группа ВКонтакте

Как выбор хостинга влияет на скорость сайта?

27.03.2020 в 14:55
235
+2

Оптимизация скорости загрузки сайта важна в плане удобства пользования и для поискового ранжирования. Время загрузки сайта не будет зависеть от хостинга, лишь в случае безлимитных аппаратных ресурсов, но в реальном мире хостинг оказывает существенное влияние на работу серверной части и передачу данных в браузер посетителя.

Сразу стоит разделить сайты на два типа: динамические и статические. Динамические сайты работают на движках (Content Management System). Во время запроса странички движок загружает свой код, затем инициализирует код подключённых плагинов, далее производятся десятки запросов к базе данных, и только потом будет готов HTML-код и файлы, которые загрузит посетитель. На это нужно время, и чем мощнее хостинг, тем будет быстрее.

Статические сайты состоят из набора уже готовых HTML-файлов, которые остаётся просто передать пользователю. Но в подавляющем большинстве, сайты в интернете динамические, поэтому вебмастера выбирают хостинг-компании с хорошей нагрузочной способностью, больше информации о хостингах можно найти на этом сайте. Должно быть понятно, что только платный хостинг может работать хорошо и предлагает тарифные планы с мощными серверами. Бесплатный хостинг подходит, разве что, для проведения школьных экспериментов или лабораторных работ.

Shared, VPS или выделенный сервер

Shared (общий) – это самый простой вид хостинга, рассчитан на низкое потребление ресурсов. На общем хостинге небольшой лимит процессорного времени. Такой хостинг не подходит для высоконагруженных проектов, но здесь отлично будут работать даже крупные статические сайты. В этом случае, больше внимание уделяется скорости подключению к сайту и быстрой отдаче файлов.

Виртуальный выделенный сервер отличается гарантированными ресурсами. VPS сервера имеют конкретные характеристики сервера: количество ядер, частота процессора, объём оперативной памяти и диска. Но реальная мощность процессора всё же определяется экспериментальным путём. Реальные выделенные сервера имеют точные физические характеристики: модель чипсета, процессора, диска и планок оперативной памяти. Это даёт возможность точной оценки его нагрузочной способности и возможности переноса проекта с одного хостинга на другой.

Для небольших сайтов, таких как персональные странички, лендинги и личные блоги подходит Shared-хостинг. Для интернет-магазинов рекомендуется VPS сервер с 2 ядрами и более. А вот для высоконагруженных проектов, таких как социальные сети или порталы с сотнями тысяч посетителей лучше обратить внимание на выделенный сервер или облачный хостинг. В облачном хостинге дополнительные ресурсы подключаются по мере необходимости до бесконечности.

Влияние программного обеспечения

На скорость загрузки ресурса влияет не только мощность оборудования, но и используемая операционная система и другое программное обеспечение. В случае общего хостинга, выбор ПО ограничен, либо вовсе зафиксирован. Это удобно для небольших сайтов, т.к. не требуется настройка сервера, все заявленные функции будут работать «из коробки». Но теряется возможность тонкой настройки для оптимизации скорости загрузки. Какой бы вид хостинга вы ни выбрали, на быстроту исполнения серверных скриптов влияет версия интерпретатора. Для скриптов используются несколько популярных интерпретаторов, самые популярные это PHP и Python.

Важно, чтобы ПО сервера поддерживало последнюю версию PHP 7.3-7.4. Например, включение PHP 7.3 вместо PHP 5.4 увеличивает скорость исполнения на 40-50%. Это уменьшает время до получения первого байта браузером посетителя, т.е. время от запроса страницы до начала её загрузки. Именно Time First Byte учитывается поисковой системой Google в формуле ранжирования сайтов. Чем лучше ранжирование, тем выше сайт в поисковой выдаче и больше посетителей.

Сервера хостинга работают на операционных системах Linux и Microsoft Windows. ОС Linux более быстрая, безопасная и, к тому же, бесплатная система. Если не указана операционная система, то по умолчанию это Linux. Windows используется в основном для запуска приложений на удалённом сервере в круглосуточном режиме работы, а также для специфичных проектов, когда требуется исполнение скриптов в среде Windows.

На скорость отдачи статики влияет тип и версия веб-сервера. На операционную систему Linux устанавливают Apache, nginx или другой, менее популярный софт. На Shared хостингах, как правило, это всегда Apache и поменять его на другой HTTP-сервер не предусмотрено. Apache хорош своей простотой в настройке, отлично подходит для ненагруженных проектов. Для быстрой раздачи статики сисадмины предпочитают HTTP—сервер nginx. Это ПО с многопоточной обработкой практически неограниченного количества запросов. Применяется на VPS и выделенных серверах.

Сегодня обязательно, чтобы на хостинге работало GZIP сжатие страниц. При этом странички на лету сжимаются архиватором GZIP, а браузер пользователя разархивирует содержимое. Такой подход позволяет уменьшить объём передаваемых данных на 30-90% и уменьшить время загрузки. GZIP сжатие доступно на общем и виртуальном хостингах.

Геолокация сервера

Прямое влияние на скорость загрузки исходного кода страницы, яваскриптов, стилей и картинок оказывает расстояние от сервера до посетителя. Чем длиннее путь, тем больше промежуточных серверов и задержек. В идеале, это когда посетитель и сервер находятся в одном городе или хотя бы в одной стране. Если сайт рассчитан на пользователей из России, то хостинг лучше выбирать с серверами в России. Также пользуются популярностью сервера в Нидерландах и Германии, т.к. там расположены дата-центры мощнейших серверов с высокоскоростными каналами связи. Скорость загрузки сайта из всех точек мира можно проверить с помощью бесплатного сервиса Pingadmin.

Для быстрой загрузки по всему миру используется CDN (Content Delivery Network). Сайт копируется на десятки серверов, затем при запросе страницы определяется ГЕО-локация пользователя и сайт отдаётся с ближайшего сервера. Правда, подходит такая схема только для статических сайтов, т.к. сервера CDN не генерируют динамический контент. Сайты на CMS могут использовать CDN для загрузки скриптов Javascript, стилей CSS, картинок, видео и других типов файлов.

Кстати, блоги могут воспользоваться сетью CDN для страниц, став статическим сайтом. Контент на блогах хоть и генерируется CMS, но каждый раз получается одинаковый исходный код страницы. Это связано с тем, что страница блога состоит из текста статьи, шапки, боковой колонки и подвала, а они - статичны. Даже не используя CDN, можно существенно улучшить скорость загрузки и уменьшить потребление ресурсов сервера, настроив кэширование. При кэшировании создаются готовые HTML-версии страниц, которые отдаются посетителям без исполнения серверного кода.

Отличия быстрого и медленного хостера

На практике вебмастера сталкиваются с разной скоростью работы сайтов на хостингах с одинаковыми характеристиками. Так получается из-за эффекта «overselling», т.е. когда компания продаёт больше услуг, чем имеет на самом деле. Руководство прогнозирует, что все клиенты не создадут максимальную нагрузку одновременно и никто ничего не заметит. Так работают практически все хостинги, но когда оверселлинг переходит некоторый разумный предел, то сайты начинают тормозить даже при среднем наплыве посетителей.

Особенно это становится заметным в пиковые периоды серфинга – вечером после работы. Также ночью выполняется резервное копирование сайтов всех клиентов. В системах статистики можно увидеть, что в период с 01:00 до 05:00 резко увеличивается время загрузки страниц.

loader
27.03.2020 в 14:55
235
+2
Об авторе проекта
Артём Ивашкевич
Артём Ивашкевич
Увлекаюсь программированием более 10 лет. В свободное время обучаю программированию на PHP других людей, потому что мне это нравится. Если вы интересуетесь темой IT и хотели бы стать разработчиком, рекомендую прочитать статью о том, как я стал программистом.
Комментарии (0)
Новый комментарий

Логические задачи с собеседований