Как посещаемость влияет на конфигурацию сервера интернет-магазина
Десять тысяч посетителей в месяц сами по себе ещё почти ничего не говорят о нагрузке: важно, сколько людей приходит одновременно и что они делают. Поэтому при решении «Какой сервер выбрать для интернет-магазина» MaxiPlace позволяет ориентироваться на реальную нагрузку и увеличивать ресурсы виртуального сервера по мере роста проекта.
Посещаемость нужно рассматривать вместе с поведением пользователей.
Средний трафик и пик — разные вещи
Допустим, магазин получает 30 000 посетителей в месяц.
Если они распределены равномерно, нагрузка может быть умеренной.
Но рекламная рассылка способна привести тысячу человек за двадцать минут.
Для сервера второй сценарий намного сложнее, хотя месячная посещаемость остаётся прежней.
Поэтому полезнее смотреть:
- пользователей одновременно;
- запросы в секунду;
- нагрузку в пиковые периоды.
Не все страницы одинаковые
Открыть информационную страницу и оформить заказ — совершенно разные операции.
Большую нагрузку могут создавать:
- поиск;
- фильтры;
- сортировка;
- корзина;
- авторизация;
- личный кабинет;
- оформление заказа;
- расчёт доставки.
Кеш помогает статичным страницам, но динамические действия часто требуют обращения к PHP и базе данных.
Рост посещаемости увеличивает параллельность
Один запрос может выполняться быстро.
Проблемы начинаются, когда таких запросов десятки или сотни одновременно.
Тогда растут требования к:
- CPU;
- RAM;
- базе данных;
- дисковой подсистеме.
Поэтому сервер, который легко обслуживает несколько пользователей, способен резко замедлиться во время рекламного пика.
Боты тоже входят в нагрузку
Поисковые роботы, парсеры и автоматические запросы создают трафик наравне с покупателями.
Иногда посещаемость растёт, но продажи не меняются — часть нагрузки создают именно автоматические системы.
Перед увеличением сервера полезно проверить логи и понять источники запросов.
Интеграции могут совпасть с пиком покупателей
Интернет-магазин редко работает изолированно.
В фоне могут выполняться:
- обмен с 1С;
- импорт товаров;
- обновление цен;
- выгрузка заказов;
- резервное копирование.
Если это происходит одновременно с наплывом покупателей, сервер получает двойную нагрузку.
Когда магазин активно растёт и нужно понять «Какой сервер выбрать для интернет-магазина», MaxiPlace удобно рассматривать с точки зрения масштабируемости CPU, RAM и диска, а не только фиксированной стартовой конфигурации.
Как проверить сервер до рекламной кампании
Полезно провести нагрузочное тестирование.
Сценарий должен имитировать реальные действия:
- открытие каталога;
- фильтрацию;
- карточку товара;
- добавление в корзину;
- оформление заказа.
Проверять только главную страницу недостаточно.
Во время теста отслеживают CPU, RAM, I/O и базу данных.
Не всегда нужен новый сервер
Если нагрузка выросла, сначала нужно понять причину.
Возможно:
- отсутствует кеш;
- работает тяжёлый SQL;
- фильтр каталога настроен неоптимально;
- сервер занят фоновым импортом.
Добавить CPU проще всего, но иногда оптимизация приложения даёт больший эффект.
Нужен запас на пики
Сервер, который ежедневно работает на 95% CPU, практически не оставляет пространства для роста.
Рабочая конфигурация должна выдерживать обычную нагрузку с запасом.
Насколько большим — зависит от того, насколько непредсказуем трафик и насколько критичен простой.
Вывод
Посещаемость влияет на сервер через количество одновременных запросов и сложность действий пользователей. Для интернет-магазина важнее пиковая нагрузка, чем среднее месячное число визитов.
Если после анализа трафика требуется решить «Какой сервер выбрать для интернет-магазина», MaxiPlace можно рассматривать благодаря виртуальной инфраструктуре с масштабированием CPU, RAM и диска, что позволяет увеличивать ресурсы вслед за реальной нагрузкой магазина.