VPS для одного WordPress: как подобрать ресурсы по измерениям

Редакция HOSTIO · Опубликовано 26.10.2026 · Обновлено 27.10.2026

Разработчик за рабочим столом с ноутбуком

Фото: Christina Morillo / Pexels.

В материале

Как подобрать VPS для одного WordPress по наблюдениям: сценарии, память, PHP-процессы, база, CPU, диск и проверка после изменения. Команды приведены для чтения состояния Linux, а не как выполненный тест провайдеров.

Почему нельзя выбрать VPS только по посещаемости

Одинаковое число посетителей создаёт разную нагрузку. Готовая страница из кэша, поиск по каталогу, вход редактора и импорт изображений проходят разные пути. Пиковые одновременные операции важнее среднего числа визитов за сутки. Поэтому универсальная формула «столько посетителей — столько ядер» не заменяет измерения конкретного WordPress.

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

Что считается результатом подбора

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

Соберите паспорт приложения и состав стека

Зафиксируйте версии WordPress, PHP и базы, активную тему, критичные плагины, объём медиа и назначение фоновых задач. Для установленного сайта используйте «Здоровье сайта → Информация» и доступные сведения панели. Внешние сервисы — почта, поиск, CDN, объектное хранилище — запишите отдельно: их ресурсы нельзя приписывать одной виртуальной машине.

Слой Что потребляет ресурсы Что нужно сохранить
ОС и служебные процессы Системные службы, журналы, агенты Дистрибутив и перечень необходимых служб
Веб и PHP Обработка динамических запросов Режим PHP, число процессов, таймауты
База Запросы, индексы, буферы, временные операции Версия, размер, фоновые работы
Кэш Объекты, готовые страницы, OPcache Слои, лимиты, правила исключения
Обслуживание Копии, обновления, импорт, генерация медиа Расписание и максимальный рабочий объём

Официальные требования CMS — отправная точка совместимости, а не доказательство достаточного размера VPS. Доступная версия PHP не подтверждает качество темы или производительность запроса. Не объединяйте смену PHP, обновление плагинов и увеличение ресурсов в один эксперимент, если задача — понять причину недостатка мощности.

Выберите воспроизводимые сценарии проверки

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

  1. Создайте обезличенную копию с репрезентативным содержимым и совместимым окружением.
  2. Исключите реальные уведомления, оплату и рабочие вебхуки.
  3. Опишите последовательность действий и ожидаемый результат, включая содержимое ответа.
  4. Сохраните состояние кэша, фоновые задачи и время наблюдения.
  5. Выполните согласованный пилот без превышения правил выбранного поставщика.
  6. Повторите затронутый сценарий после одного обоснованного изменения.

Протокол не обязан начинаться с большого числа искусственных запросов. Сначала убедитесь, что операции корректны и не теряют данные. Если нужно исследовать конкурентную нагрузку, заранее согласуйте среду, ограничения и прекращение теста. Чужую инфраструктуру и рабочие сервисы нельзя использовать как бесплатный нагрузочный стенд без разрешения.

Начните с наблюдения памяти, а не увеличения лимитов

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

date -Is
free -h
ps -eo pid,comm,rss --sort=-rss | head -n 15
vmstat 1 10
Чтение времени, памяти и краткой динамики системы. Команды не меняют конфигурацию сервера.

В free различайте свободную память и оценку available: занятый файловый кэш не равен аварийному исчерпанию RAM. В vmstat первый отчёт по CPU и вводу-выводу содержит усреднение с момента загрузки, последующие — интервальные наблюдения; показатели процессов и памяти имеют собственную моментальную семантику. Один снимок не описывает пик, возникающий при копировании или сохранении тяжёлой страницы. Сопоставляйте время команды с конкретной операцией и журналом ошибок.

Почему сумма RSS не даёт точного бюджета

Процессы могут разделять страницы памяти. Механическое сложение RSS способно повторно учитывать общие области. Для более точного разбора используются доступные показатели /proc, включая PSS, с учётом прав и версии ядра. Не меняйте ограничения только потому, что сумма одного столбца оказалась больше ожидаемой: сначала подтвердите модель учёта и фактические симптомы.

Оцените конкуренцию PHP и место для базы

У PHP-FPM число обслуживающих процессов ограничивает параллельность обработки PHP. Но увеличение количества процессов увеличивает потребление памяти и может усилить конкуренцию за CPU и базу. Значение memory_limit относится к выполнению PHP, а не к общему бюджету всей виртуальной машины. Сайт не должен получать всю RAM без остатка для ОС, базы и обслуживания.

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

Если используется другой способ запуска PHP, не переносите настройки FPM буквально. Названия сервисов, пути конфигураций и проверка синтаксиса зависят от установки. Изменение пула сначала проверяют на стенде, затем проводят в согласованное окно с сохранённой исходной конфигурацией и доступом к консоли. Одновременное увеличение всех лимитов не является диагностикой.

Разберите CPU: очередь, фоновые задачи и стоимость запроса

Высокая загрузка CPU может быть следствием дорогого запроса, серии фоновых задач или слишком большого числа параллельных процессов. Найдите время возникновения, затронутый сценарий и процесс. Для виртуальной машины дополнительно полезно наблюдать доступные показатели ожидания и steal, но отдельное значение не доказывает причину проблемы или качество всего провайдера.

Наблюдение Следующая проверка Преждевременный вывод
Пик при импорте Размер порции, обработка медиа, расписание Любое открытие сайта требует больше ядер
Очередь PHP и свободная RAM Стоимость запросов, лимит процессов, CPU и база Нужно только поднять memory_limit
Задержка одного поиска План запроса, фильтр, объём данных Весь сервер слишком слабый
Проблема в определённые часы Копии, cron, внешние обмены и метрики Всегда виноват сосед по виртуализации

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

Проверьте диск, число файлов и обслуживание

Рабочий объём WordPress — не только каталог uploads. Место занимают база, журналы, временные файлы, архивы и промежуточные результаты обработки. При обновлении или восстановлении может потребоваться пространство сверх обычного состояния. Число файлов также важно: множество небольших объектов способно упереться в отдельный лимит до заполнения диска по байтам.

df -h
df -i
du -xhd 1 /путь/к/сайту
Чтение места и inode. В последней команде замените путь на разрешённый корень проекта; формат опций зависит от установленной du.

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

Планировщик и копии входят в проверяемую нагрузку

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

В приёмку включают отдельное восстановление резервной копии. Рабочая конфигурация должна оставлять место и возможность выполнить его по согласованному плану. Копия на том же диске помогает не при всех отказах. Состав внешнего хранения, доступы и срок восстановления определяются отдельно; цена одной VM не описывает полный механизм сохранности.

Когда увеличивать конфигурацию, а когда исправлять приложение

Сначала устраните подтверждённые ошибки, неправильные расписания и очевидно лишнюю работу. Затем оцените остаточную нагрузку на сопоставимом сценарии. Если памяти действительно недостаточно в корректной рабочей операции, увеличение RAM может быть обосновано. Если узкое место связано с CPU, дисковым ожиданием или базой, один дополнительный гигабайт не является универсальным решением.

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

Меняйте один фактор и сохраняйте возможность возврата

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

Учебный расчёт лимита PHP: как не превратить формулу в рекомендацию

Ниже приведена только арифметическая модель. Это не замер HOSTIO, не характеристика провайдера и не готовая настройка для вашего сервера. Допустим, в учебном бюджете всего 4096 МиБ. На ОС и службы отведено 600 МиБ, на базу 800, на отдельный кэш 200, на обслуживание и запас 600. Для переменной части PHP остаётся 1896 МиБ. Если условная оценка памяти одного одновременно работающего процесса в этой модели составляет 160 МиБ, деление с округлением вниз даёт 11 процессов.

Часть учебной модели Условный бюджет
ОС и службы 600 МиБ
База 800 МиБ
Кэш 200 МиБ
Обслуживание и запас 600 МиБ
Остаток для PHP 4096 − 2200 = 1896 МиБ
Арифметический предел в модели floor(1896 / 160) = 11

Полученное число не означает, что нужно установить pm.max_children=11. Допущения ещё не подтверждены наблюдениями, а CPU и база могут насыщаться раньше. Другая операция PHP способна потреблять больше памяти, общий кэш может учитываться иначе, а фоновые задачи — совпасть с пиком. Если брать RSS как независимый размер каждого процесса, можно повторно посчитать общие страницы. Поэтому сначала выбирают корректный способ измерения и проверяют тяжёлый сценарий, затем используют расчёт как ограничение для пилота.

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

Как оформить протокол пригодности VPS

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

Раздел Достаточная запись Недостаточная запись
Операция Поиск с определённым фильтром на обозначенном наборе данных Сайт быстрый
Память Время, сценарий, available, процессы и симптомы RAM занята
Обслуживание Когда запускалась копия и как восстановлена Архив создан
Изменение Что поменяли и какой сценарий повторили Купили тариф мощнее
Границы Что не проверяли и почему Гарантированно выдержит любой трафик

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

FAQ по ресурсам одного WordPress

Какой объём RAM гарантированно достаточен?

Универсального значения нет. Нужен бюджет всего стека и наблюдение за конкретными операциями, включая обслуживание. Требования CMS подтверждают совместимость, а не достаточность выбранного размера.

Нужно ли отключать кэш ради честной проверки?

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

Можно ли считать swap дополнительной RAM?

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

Когда VPS лучше shared?

Когда подтверждена необходимость отдельного окружения, специальных процессов или другого уровня управления и есть ответственный за эксплуатацию. Само слово VPS не даёт автоматического преимущества для каждого WordPress.

Источники и дата

Редакционная переработка: 26.10.2026. Источники относятся к своим версиям продуктов; параметры конкретного проекта необходимо подтвердить отдельно.

↑