Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья5 мин чтенияПросмотры1

Как рассчитать ресурсы VPS для интернет-магазина перед распродажей

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

Комментарии 0

Серверное оборудование рядом с коробками заказов и индикаторами нагрузки без надписей
В этой статье

Увеличить VPS в два раза перед распродажей — понятное, но слабое решение. У магазина может хватать процессора и не хватать соединений с базой; память может уходить в кэш, а очередь заказов — ждать внешний API доставки. Тариф становится дороже, а узкое место остаётся.

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

Переведите прогноз продаж в технические сценарии

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

Сценарий

Что нагружает

Что измерять

Категория и фильтр

PHP, база, поиск, кэш

Время ответа, запросы к базе, доля попаданий в кэш

Карточка товара

Шаблон, цены, остатки, изображения

Время сервера и вес ответа

Корзина

Сессия, пересчёт цены и скидок

Ошибки, блокировки, стабильность суммы

Оформление заказа

База, платёж, доставка, CRM

Время шага, тайм-ауты, число повторов

Импорт каталога

CPU, диск, база, фоновые задания

Длительность и влияние на покупателей

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

Снимите базовую линию до теста

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

  • CPU важен вместе с очередью выполнения и временем одного запроса; процент без контекста не показывает насыщение.

  • Память оценивают по доступному объёму и давлению, а не по полю «свободно»: Linux использует RAM для кэша.

  • Диск проверяют по задержке и очереди, особенно во время импорта, резервного копирования и записи журнала.

  • Базу оценивают по медленным запросам, блокировкам, пулу соединений и доле чтения с диска.

  • Внешние сервисы измеряют отдельно: быстрый сайт не исправит медленный расчёт доставки или зависший платёжный callback.

Тестируйте копию, похожую на боевую систему

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

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

Как читать результат без магических порогов

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

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

Разделите вертикальный рост и архитектурные изменения

Ситуация

Вероятное действие

Ограничение

Короткий прогнозируемый пик

Временно увеличить VPS и прогреть кэш

Нужны измерения и возможность вернуть тариф

Один тяжёлый шаблон

Оптимизировать запросы и компонент

Новый тариф маскирует причину

Много статических файлов

Вынести раздачу в CDN или объектное хранилище

Динамика и база останутся на сервере

Фоновые задачи мешают покупателям

Разнести очереди и расписание

Нельзя допустить отставание заказов

Предел одного узла

Разделить веб, базу, поиск или добавить несколько веб-узлов

Появятся требования к сессиям и общему хранилищу

Подготовьте план на день кампании

  1. Заморозьте необязательные обновления и массовые изменения каталога.

  2. Проверьте резервную копию и восстановление, но не запускайте тяжёлое копирование в пик.

  3. Прогрейте кэши контролируемыми запросами и убедитесь, что прогрев не создаёт побочных действий.

  4. Настройте наблюдение за временем ответа, ошибками, очередями, базой и внешними API.

  5. Назначьте уровни реакции: что можно масштабировать автоматически, что требует решения специалиста и когда останавливается реклама.

  6. После пика сохраните графики и фактические числа, чтобы следующий расчёт опирался на реальные данные.

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

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.