Как ускорить сайт на VPS: что даёт больше всего

Переехали на VPS, а сайт всё равно медленный - частая ситуация. Дело в том, что VPS сам по себе не делает сайт быстрым: он даёт ресурсы и контроль, но использовать их нужно правильно. Хорошая новость - на своём сервере вы можете настроить всё, что влияет на скорость, чего на хостинге сделать не давали.

Разберём, почему сайт тормозит, что проверить в первую очередь и какие меры дают наибольший прирост скорости. Пойдём по влиянию - от того, что ускоряет сильнее всего, к деталям.

Сначала измерить, потом ускорять

Главная ошибка - оптимизировать вслепую. Прежде чем что-то менять, нужно понять, что именно тормозит: диск, база данных, нехватка ресурсов или тяжёлый код.

Ориентиры для диагностики:

  • медленный отклик всего сайта под нагрузкой - часто нехватка процессора или памяти;
  • тормозит при работе с данными (каталог, поиск, личный кабинет) - узкое место в базе или диске;
  • долго грузятся картинки и файлы - вопрос отдачи статики и канала;
  • тормозит даже пустая страница - проблема в коде или отсутствии кеша.

Как снять метрики сервера - процессор, память, диск - разобрано в статье как выбрать конфигурацию сервера. Начинают всегда с замера, а не с покупки ресурсов наугад.

Что ускоряет сильнее всего

меры ускорения сайта по влиянию на скорость.
меры ускорения сайта по влиянию на скорость.

Кеширование - самый большой выигрыш

Кеш - это готовые ответы, которые отдаются без повторной работы. Вместо того чтобы каждый раз собирать страницу заново и лезть в базу, сервер отдаёт уже готовый результат. Это обычно даёт самый заметный прирост.

Уровни кеширования:

  • страничный кеш - готовые HTML-страницы, отдаются мгновенно;
  • кеш базы данных и объектов - частые запросы не выполняются заново;
  • кеш кода (OPcache для PHP) - код не компилируется при каждом запросе.

Для типового сайта на PHP включение OPcache и страничного кеша часто ускоряет отклик в разы. Это первое, что стоит настроить.

Диск NVMe

Если сайт всё ещё на HDD или обычном SATA SSD, это одна из главных причин тормозов. Сайт с базой данных постоянно читает и пишет на диск, и его скорость напрямую влияет на отклик. Переход на NVMe даёт заметное ускорение работы с данными без всякой оптимизации кода.

Оптимизация базы данных

База - частое узкое место. Что помогает:

  • индексы на часто запрашиваемых полях - запросы выполняются в разы быстрее;
  • поиск медленных запросов - один тяжёлый запрос может тормозить весь сайт;
  • достаточно памяти под базу - чтобы активные данные помещались в RAM, а не читались с диска.

Сжатие и отдача статики

  • Сжатие (gzip или brotli) уменьшает размер страниц перед отправкой - меньше данных, быстрее загрузка;
  • Отдача статики через веб-сервер - картинки, стили и скрипты отдаёт Nginx напрямую, быстро и без нагрузки на приложение;
  • CDN - раздача статики с серверов ближе к пользователю, полезна при географически разбросанной аудитории.

Хватает ли ресурсов

Оптимизация не поможет, если сайту физически не хватает мощности. Если после настройки кеша и базы сервер всё равно упирается в потолок по процессору или памяти под нагрузкой - пора добавить ресурсов. У VPS они меняются за минуты.

Но порядок важен: сначала оптимизация, потом ресурсы. Добавлять мощность к неоптимизированному сайту - дорого и не всегда помогает: тяжёлый неоптимизированный код съест любые ресурсы.

Порядок действий

Чтобы не распыляться, действуют по влиянию:

  • включить кеширование - обычно самый большой прирост;
  • убедиться, что диск NVMe - если ещё нет, это заметное ускорение;
  • оптимизировать базу - индексы и медленные запросы;
  • включить сжатие и отдачу статики через веб-сервер;
  • проверить ресурсы и добавить, если упираетесь в потолок.

После каждого шага замеряйте результат - так видно, что реально помогло, а что нет.

Частые ошибки

Оптимизируют вслепую. Меняют всё подряд, не измерив узкое место. Сначала диагностика, потом действия.

Добавляют ресурсы вместо оптимизации. Кидают мощность на неоптимизированный сайт. Тяжёлый код съест любые ресурсы, а кеш ускорил бы бесплатно.

Сидят на медленном диске. Сайт с базой на HDD или SATA тормозит на ровном месте. NVMe - условие быстрой работы с данными.

Не настроили кеш. Каждый запрос собирает страницу заново и лезет в базу. Кеширование - самый большой и дешёвый выигрыш.

Не проверяют результат. Меняют настройку и не замеряют. Без замера непонятно, помогло ли.

Частые вопросы

Почему сайт тормозит даже на VPS? VPS даёт ресурсы и контроль, но не ускоряет сайт сам по себе. Нужно настроить кеширование, убедиться в скорости диска, оптимизировать базу. Без этого сайт может тормозить и на мощном сервере.

Что ускоряет сайт больше всего? Обычно кеширование - готовые ответы вместо повторной сборки страниц и запросов к базе. Для сайта на PHP включение OPcache и страничного кеша часто ускоряет отклик в разы.

Поможет ли добавление ресурсов? Поможет, если сайт реально упирается в потолок по процессору или памяти. Но сначала стоит оптимизировать: тяжёлый неоптимизированный код съест любые ресурсы, а кеш ускорит бесплатно.

Насколько важен NVMe для скорости? Очень, если на сайте есть база данных. Она постоянно читает и пишет на диск, и его скорость напрямую влияет на отклик. NVMe заметно быстрее HDD и SATA SSD на этой работе.

Как понять, что тормозит? Снять метрики сервера под нагрузкой: процессор, память, диск. Плюс смотреть, где именно медленно - на работе с данными, отдаче файлов или даже пустой странице. Диагностика до действий.

Нужен ли CDN обычному сайту? Не всегда. CDN раздаёт статику с серверов ближе к пользователю, что полезно при географически разбросанной аудитории. Для сайта с локальной аудиторией на быстром сервере он не обязателен.


Нужен быстрый сервер под сайт? VPS на NVMe с гарантированными ресурсами - быстрый диск и мощность, которую видно на скорости базы данных. Ресурсы меняются за минуты, если сайт вырастет. Первые 7 дней - тестовый период с возвратом средств.

Что дальше