Сайт на VPS тормозит: где искать причину, прежде чем платить за ядра
Сайт на VPS стал медленным, и первое предложение хостера — «возьмите тариф с большим количеством ядер». Иногда это правильно. Но в нашей практике примерно в двух случаях из трёх дело не в ресурсах, а в том, как их расходуют. Апгрейд в таких случаях помогает на месяц, потом всё возвращается.
Прежде чем платить, стоит потратить полчаса на диагностику. Ниже — как это делаем мы, без глубокой технической части.
Сначала — что именно тормозит
«Сайт медленный» — это три разных проблемы. Долго открывается первая страница — значит, сервер долго думает над ответом. Страница открылась, но картинки и элементы догружаются секундами — это фронтенд и размер файлов, к серверу отношения почти не имеет. Тормозит только админка или только при импорте — это отдельные тяжёлые операции.
Проверить просто: откройте инструменты разработчика в браузере, вкладку «Сеть», и посмотрите на первый запрос. Если время ожидания ответа больше секунды — идём разбираться с сервером. Если ответ пришёл за 200 миллисекунд, а страница грузится 6 секунд — оптимизировать нужно сайт, и новые ядра не помогут.
Четыре узких места сервера
У сервера четыре ресурса, и упереться можно в любой. Симптомы различаются.
- Процессор. Нагрузка стабильно под 100%, сайт тормозит равномерно, особенно при наплыве посетителей. Причина обычно — отсутствие кэша или тяжёлые скрипты, которые пересобирают страницу для каждого визита.
- Память. Сервер периодически «замирает», в логах — убитые процессы, база данных перезапускается. Классика — слишком много PHP-процессов на маленькой памяти или база, которой отдали больше, чем есть.
- Диск. Всё медленное, даже простые операции, нагрузка на процессор при этом низкая. Частая причина на дешёвых тарифах — медленные диски или сосед по серверу, который их забивает. Второй вариант — переполненный диск: логи и временные файлы съели всё место.
- База данных. Страницы каталога и поиска открываются секундами, остальное быстро. Виноваты медленные запросы без индексов, раздутые таблицы логов или сотни тысяч записей в таблице сессий.
Что чаще всего находим
По нашей статистике причины медленных VPS распределяются примерно так. На первом месте — отсутствие кэширования: каждая страница собирается с нуля, и 2 ядра работают на 4 посетителей. На втором — боты и парсеры: половина нагрузки на сервер создаётся не людьми, а скриптами, которые перебирают каталог. На третьем — база данных без индексов и с мусором.
Клиентский пример: интернет-магазин на 4 ядрах и 8 ГБ, нагрузка стабильно 90%. Хостер предлагал 8 ядер. Посмотрели логи: 60% запросов — от трёх ботов, которые круглосуточно перебирали фильтры каталога, создавая миллионы уникальных URL. Закрыли фильтры для ботов, включили кэш — нагрузка упала до 25%. Тариф не меняли.
Порядок действий
- Посмотрите графики нагрузки в панели хостера: что именно упирается в потолок и в какое время.
- Проверьте свободное место на диске. Забитый диск — самая глупая и самая частая причина.
- Загляните в логи веб-сервера: кто делает запросы. Если больше половины — боты, ограничьте их.
- Включите кэш страниц, если его нет. Это самый дешёвый выигрыш.
- Проверьте медленные запросы базы данных и добавьте индексы.
- Обновите PHP до актуальной версии — это бесплатные 20–40% скорости.
- И только потом, если всё сделано и сервер всё равно упирается, — апгрейд тарифа.
Когда апгрейд действительно нужен
Если после оптимизации нагрузка всё ещё высокая и она создаётся реальными посетителями — поздравляем, бизнес вырос. Тогда добавляют ресурсы, и обычно не ядра, а память и быстрый диск: для сайтов на PHP и базах именно они чаще становятся узким местом.
Диагностику медленных серверов мы в CasperLab делаем регулярно, и в большинстве случаев клиент остаётся на своём тарифе. Если ваш VPS тормозит, а единственный совет, который вы слышите, — «докупите ресурсов», покажите нам сервер: скажем честно, во что он упирается.
Арендовать VPS в CasperLab
Поможем подобрать решение под вашу задачу и рассчитаем стоимость без обязательств.
Арендовать VPS