Какой VPS нужен интернет-магазину: от каталога до распродажи
Интернет-магазин нагружает сервер иначе, чем блог или лендинг. Страницы товаров можно закэшировать, а вот поиск, фильтры, корзина, оформление заказа и личный кабинет каждый раз идут в базу данных. Поэтому размер VPS для магазина определяют не посетители сами по себе, а сочетание трёх вещей: движок, объём каталога и пиковые нагрузки. Фильтр этой страницы стартует с разумного минимума — 2 ядра, 4 ГБ памяти и NVMe-диск.
Ориентиры по конфигурации
- Небольшой магазин на WooCommerce, OpenCart или похожем движке, до нескольких тысяч товаров: 2 ядра, 4 ГБ, 30–50 ГБ NVMe. Сайт, база и кэш спокойно живут на одном сервере. Про настройку WordPress под магазин — на странице VPS для WordPress.
- Средний магазин с десятками тысяч товаров, фасетными фильтрами и обменом с учётной системой: 4 ядра и 8 ГБ. Выгрузки из 1С и пересчёт остатков нагружают процессор, и лучше, если их не замечают покупатели.
- Крупный проект или тяжёлый движок: от 8 ГБ, а базу данных со временем выносят на отдельный сервер. Для магазинов на «1С-Битрикс» есть свои требования, они разобраны в подборке VPS для 1С-Битрикс.
Почему NVMe и сколько памяти отдать базе
Каталог с фильтрами — это много мелких случайных чтений из базы. На NVMe они выполняются в разы быстрее, чем на SATA SSD, а HDD для магазина не подходит вовсе. Вторая половина скорости — память: чем больше индексов и данных MySQL держит в оперативке, тем реже он ходит на диск. Хорошее правило — чтобы активная часть базы целиком помещалась в буфер, а ещё 1–2 ГБ оставались под PHP и кэш страниц вроде Redis.
Пики: распродажи и рекламные запуски
Магазин может месяц работать на половине ресурсов и лечь в первый час распродажи. Перед акцией проверьте, можно ли у хостера увеличить тариф без переноса и как быстро это происходит. Нагрузочный тест на копии сайта покажет потолок заранее. Не забывайте про ботов: агрессивные парсеры цен порой дают больше запросов, чем покупатели.
Резервные копии
Снимок диска у того же хостера защищает от ошибки при обновлении, но не от потери аккаунта или аварии в дата-центре. Держите ежедневную копию базы и файлов на другой площадке, например на отдельном VPS для резервных копий, и хотя бы раз проверьте, что из неё действительно можно восстановиться.
Покупатели из России и 152-ФЗ
При оформлении заказа магазин получает имя, телефон и адрес — это персональные данные. Если покупатели — граждане России, закон требует записывать и хранить их в базах на территории страны, а сам магазин как оператор должен уведомить Роскомнадзор. Проще всего разместить сервер в российском дата-центре; подробности — в подборке VPS по 152-ФЗ. Российские хостеры к тому же чаще принимают МИР, СБП и оплату по счёту: способы для каждого тарифа показаны в колонке «Оплата», цены пересчитаны в рубли.