VPS/VDS

Как выбрать VPS: процессор, память и диск под свою задачу

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

Для постоянно работающих сценариев дополнительно разберите требования бота и автоматизации. Расположение машины можно проверить по плану выбора локации.

Разложите приложение на процессы

Как устроен VPSСвоё окружение на общем оборудовании
Физический серверНа нём работают виртуальные машины
Ваш VPS
ПриложениеБаза данных
Своя операционная система
Другой VPSСвоё окружение
Другой VPSСвоё окружение
Виртуализация
ПроцессорПамятьХранилище

Упрощённая схема. Гарантии ресурсов и устройство хранилища зависят от платформы и тарифа. База может работать и на отдельной машине.

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

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

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

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

Если ещё неясно, зачем нужен собственный сервер, начните с выбора типа размещения. Обслуживание VPS тоже нужно включить в план: даже удачно подобранные ресурсы не заменяют обновления и резервные копии.

Что означают vCPU и гарантии процессора

vCPU является единицей процессорного ресурса виртуальной машины. Число в тарифе без условий распределения не говорит, сколько времени физического процессора будет доступно при длительной нагрузке. Уточните модель или семейство CPU, ограничения использования, правила кратковременного ускорения и наличие гарантированной доли.

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

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

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

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

Как оценить память и роль swap

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

В Linux низкий показатель полностью свободной памяти сам по себе не означает нехватку: часть RAM используется для кеша. Смотрите доступную память вместе с поведением приложения, swap и сообщениями о завершении процессов из-за нехватки памяти. Ошибка может появляться только в момент импорта или создания копии.

Условный расчёт для проверки одновременной работы

На тесте один обработчик приложения занимает около 180 МБ, одновременно работают четыре. Только на эти процессы приходится примерно 720 МБ. К ним добавляются база, ОС, панель и фоновые задания. Это нижняя оценка конкретного замера, без запаса на более тяжёлые запросы. Она не является рекомендацией готового тарифа.

Если увеличить число обработчиков до восьми, память приложения при тех же условиях приблизится к 1 440 МБ. Параллельность вырастет, но без свободной памяти сервер может начать работать хуже. Настройку числа процессов и размер машины нужно проверять вместе.

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

Запас определяйте по сценарию: максимальный импорт, резервная копия, запуск новой версии, рост базы. Уточните у провайдера, можно ли увеличить RAM отдельно, потребуется ли остановка машины и как выполняется последующее уменьшение. Возможность увеличить тариф не означает обратимость любого изменения.

Диск: объём, задержки и скорость операций

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

Проверьте, локальный диск используется или сетевое хранилище, есть ли лимиты IOPS и скорости, как устроены снимки и что происходит при неисправности узла. Не выводите отказоустойчивость только из слова «сетевой». Надёжность конкретной услуги определяется её устройством и условиями.

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

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

Наличие снимка диска ещё нужно проверить на восстановление согласованного состояния приложения. Порядок описан в статье о бэкапах.

Сеть, виртуализация и окружение

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

У сетевого порта уточните скорость, ограничения трафика и условия исходящего потока. Частная сеть между компонентами и выход в интернет могут иметь разные правила. Проверьте включение IPv4, поддержку IPv6 и ограничения исходящей почты, если сайт будет отправлять сообщения.

Виртуализация влияет на доступные ОС, работу ядра и некоторые системные возможности. Если нужны контейнеры, нестандартный модуль, особая лицензия или Windows, получите подтверждение совместимости. Формулировка «полный доступ» не снимает условий услуги и лицензирования.

Панель управления, резервные копии и администрирование могут входить в пакет или оплачиваться отдельно. Сравните одинаковый состав. Каталог VPS/VDS помогает отобрать предложения по подтверждённым параметрам, а подборка серверов в России сужает географию. Детали выбранной конфигурации проверяйте перед оплатой.

Три примера подбора ресурсов

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

Сайт с кешируемыми страницами и формами

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

Магазин с ночным импортом

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

Бот или автоматизация с несколькими заданиями

Проверьте самый тяжёлый тип задания и очередь из нескольких таких задач. Установите допустимое число параллельных выполнений. Если внешний сервис отвечает медленно, увеличение CPU может не ускорить задачу. Важнее контролировать таймауты, повторные попытки и расход памяти накопившейся очередью.

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

Как проверить сервер и возможность роста

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

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

Спросите, как увеличивается диск, можно ли его уменьшить, требуется ли перенос на другой узел и как тарифицируются изменения. Если уменьшение невозможно, запланируйте перенос на новую машину вместо обещания «потом просто вернём тариф».

После выбора переходите к безопасной первой настройке VPS. Если требуется физическая конфигурация и её обслуживание обосновано, сравните условия в инструкции по выделенным серверам.