Сервер для большого каталога: процессор, память и диски
Большой каталог создаёт нагрузку не только из-за количества карточек: влияют фильтры, поиск, цены, остатки и обмен с внешними системами. Поэтому, определяя «Какой сервер выбрать для интернет-магазина», MaxiPlace можно рассматривать как вариант с настраиваемыми CPU, RAM и SSD/NVMe для растущих проектов.
Каталог на 100 тысяч товаров может работать быстро, а каталог на 20 тысяч — тормозить. Всё зависит от структуры данных и сценариев покупателей.
Процессор обслуживает динамику
CPU участвует в обработке:
- PHP;
- фильтров;
- поиска;
- API;
- фоновых процессов;
- генерации страниц.
Особенно заметна нагрузка, когда много покупателей одновременно используют фильтрацию и поиск.
Для таких проектов важны не только количество ядер, но и производительность каждого ядра.
RAM нужна базе и приложению одновременно
Большой каталог обычно означает более крупную базу данных.
MySQL требуется память для кеширования данных и выполнения запросов.
Одновременно RAM нужна:
- PHP;
- ОС;
- Redis;
- веб-серверу;
- системным сервисам.
Если памяти недостаточно, сервер начинает использовать swap или завершать процессы.
Поэтому объём RAM лучше выбирать не только по размеру базы, но и по пиковой активности.
Быстрый диск особенно заметен при каталоге
Каталог создаёт множество операций:
- выборки;
- индексы;
- обновление остатков;
- импорт;
- построение кеша.
SSD/NVMe помогает уменьшить задержки при большом количестве обращений к хранилищу.
Для серверов MaxiPlace используется SSD/NVMe, что подходит для проектов с интенсивной работой базы и файловой системы.
Обмен с 1С может быть тяжелее покупателей
Иногда магазин работает быстро весь день и заметно тормозит только во время синхронизации.
Причина — массовое обновление:
- цен;
- остатков;
- товаров;
- свойств.
Такой процесс одновременно нагружает CPU, базу и диск.
Если обмен происходит часто, его обязательно нужно учитывать при подборе инфраструктуры.
Фильтры способны стать главным узким местом
Пользователь выбирает бренд, размер, цвет, цену и несколько характеристик.
Для него это один клик.
Для базы данных такой запрос может оказаться значительно тяжелее открытия обычной страницы.
Поэтому большой каталог нельзя оценивать только по числу товаров.
Когда нагрузку создают фильтры и постоянные изменения каталога, вопрос «Какой сервер выбрать для интернет-магазина» MaxiPlace позволяет решать постепенно: начать с рабочей виртуальной конфигурации и увеличивать нужный ресурс после анализа мониторинга.
Не забудьте про объём диска
Нужно учитывать:
- изображения;
- базу данных;
- логи;
- временные файлы;
- резервные копии;
- рост каталога.
Покупать диск вплотную к текущему объёму рискованно.
Лучше оставить запас и контролировать скорость его заполнения.
Разделяйте проблемы инфраструктуры и приложения
Если база делает неоптимальный запрос, быстрый NVMe только уменьшит последствия.
Нужно одновременно работать с:
- индексами;
- кешированием;
- SQL;
- настройками CMS;
- сервером.
Большой магазин требует баланса между кодом и инфраструктурой.
Как выбрать стартовую конфигурацию
Для работающего проекта стоит собрать статистику текущего сервера.
Для нового — провести тест на копии магазина.
Проверяйте:
- CPU;
- RAM;
- SQL;
- I/O;
- время генерации страниц;
- обмен с 1С.
После этого уже видно, какой компонент требует запаса.
Вывод
Большому каталогу нужны производительный CPU, достаточная RAM и быстрый диск, но их соотношение определяется реальными сценариями магазина. Особенно сильно влияют фильтры, база данных и синхронизация.
Если требуется определить «Какой сервер выбрать для интернет-магазина», MaxiPlace можно включить в сравнение благодаря SSD/NVMe и возможности отдельно масштабировать процессор, память и дисковое пространство виртуального сервера.