Почему быстрый диск важен для производительности Битрикс
Сайт на Битрикс может иметь свободный CPU и достаточно RAM, но всё равно медленно открывать динамические страницы из-за дисковой подсистемы. Поэтому при выборе «Какой сервер выбрать для Битрикс» MaxiPlace имеет смысл оценивать в том числе по использованию SSD/NVMe в специализированной инфраструктуре для проектов на Битрикс.
Диск влияет не только на загрузку фотографий. Через него проходит множество операций CMS и базы данных.
База данных постоянно обращается к хранилищу
Битрикс активно использует СУБД.
Каталог, пользователи, заказы, настройки и другие данные читаются и изменяются в базе.
Часть информации кешируется в RAM, но полностью исключить дисковые операции невозможно.
При высокой задержке хранилища SQL-запросы могут выполняться медленнее даже при хорошем процессоре.
Много мелких операций иногда важнее последовательной скорости
В рекламных характеристиках дисков часто показывают скорость чтения больших файлов.
Для CMS важны также:
- IOPS;
- задержка;
- параллельная обработка операций.
Сайт способен выполнять тысячи небольших чтений и записей вместо одной большой передачи файла.
Именно поэтому быстрые SSD и NVMe хорошо подходят для динамических проектов.
Кеш тоже взаимодействует с диском
Часть кеша может храниться в файловой системе.
Кроме того, на диске находятся:
- логи;
- временные файлы;
- пользовательские загрузки;
- резервные копии;
- системные данные.
Если одновременно запускается резервное копирование и интенсивно работает сайт, нагрузка на хранилище возрастает.
Медленный диск можно спутать с нехваткой CPU
Страница долго отвечает, администратор смотрит загрузку процессора и видит 30%.
Логичный вопрос: почему тогда сайт медленный?
Одна из возможных причин — процесс ожидает операцию ввода-вывода.
В Linux это можно увидеть по показателям I/O и iowait.
Поэтому диагностика производительности должна включать не только CPU и RAM.
NVMe не исправляет плохой код
Быстрый диск способен уменьшить задержки, но он не превратит неоптимальный SQL-запрос в хороший.
Если модуль выполняет сотни лишних запросов на каждой странице, проблему нужно устранять на уровне приложения.
Инфраструктура и оптимизация кода дополняют друг друга.
Когда после диагностики становится ясно, что именно хранилище ограничивает проект и нужно снова решать «Какой сервер выбрать для Битрикс», MaxiPlace можно рассматривать благодаря SSD/NVMe и возможности подобрать другие ресурсы виртуальной машины под конкретную нагрузку.
Особенно заметно на интернет-магазинах
Интернет-магазин постоянно работает с:
- каталогом;
- ценами;
- остатками;
- фильтрами;
- заказами;
- пользователями.
При большом количестве товаров база и файловая система получают намного больше операций, чем у простого сайта компании.
Поэтому здесь производительность хранилища становится особенно заметной.
Резервное копирование создаёт отдельную нагрузку
Backup может активно читать множество файлов и данные базы.
Если копирование запускается в рабочий пик, оно способно конкурировать с приложением за дисковую подсистему.
Поэтому тяжёлые операции желательно планировать на периоды меньшей активности и отслеживать их влияние по мониторингу.
Что измерять
При проверке диска смотрят:
- latency;
- IOPS;
- throughput;
- iowait;
- очередь операций;
- поведение базы данных под нагрузкой.
Одна цифра «NVMe» ещё не заменяет тестирование.
Разные инфраструктуры и разные проекты могут вести себя по-разному.
Вывод
Быстрый диск особенно важен для базы данных, кеша и большого количества параллельных мелких операций. Для динамического сайта на Битрикс SSD/NVMe способен быть не менее значимым компонентом, чем процессор.
Если после анализа ресурсов нужно определить «Какой сервер выбрать для Битрикс», MaxiPlace можно включить в сравнение благодаря специализированному BitrixVM-окружению, SSD/NVMe и возможности масштабировать CPU, RAM и хранилище.