До 10%Рекомендуйте нас и получайте процент за каждого приведённого клиента

Хостинг и инфраструктура для 1С-Битрикс: BitrixVM, требования и масштабирование

Хостинг и инфраструктура для 1С-Битрикс: BitrixVM, требования, стек nginx и php-fpm, кэш в памяти и веб-кластер

Магазин на 1С-Битрикс может быть безупречно свёрстан и грамотно закэширован, но всё равно тормозить и падать под нагрузкой — если он стоит на неподходящем хостинге. Инфраструктура — это фундамент, на котором держится всё остальное: скорость ответа сервера, устойчивость в час пик, стабильность обмена с 1С, надёжность бэкапов. Дешёвый виртуальный хостинг, слабая база данных, устаревший PHP или отсутствие кэша в памяти обнуляют любую оптимизацию кода. И наоборот: правильно собранное окружение позволяет тому же коду держать в разы больше посетителей.

Ниже — системный разбор инфраструктуры для Битрикса: системные требования и монитор производительности, что такое «Веб-окружение» (BitrixVM) и из чего оно состоит, как настроить PHP и базу, почему shared-хостинг не тянет магазин, когда брать VPS, выделенный сервер или облако, зачем нужны memcached и Redis, push-сервер, SSL, CDN и резервное копирование, и как устроен веб-кластер для высоких нагрузок. Это выжимка из наших проектов по ускорению интернет-магазинов на 1С-Битрикс — без теории ради теории.

Коротко

  • Под магазин на Битриксе берут VPS, выделенный сервер или облако, а не дешёвый shared-хостинг: платформе нужны предсказуемые ресурсы и права на настройку.
  • «Веб-окружение» (BitrixVM) — преднастроенный стек nginx + php-fpm/Apache + база + кэш + push-сервер с панелью управления; корректная конфигурация «из коробки».
  • Сверяйтесь с монитором производительности и тестом конфигурации: они показывают, что проседает — код, база или окружение.
  • Тяжёлый кэш и сессии выносят в память — memcached или Redis; статику и композит отдаёт nginx; для медиа подключают CDN.
  • Обязательны SSL/HTTP2, регулярные проверенные бэкапы и мониторинг. Под высокие нагрузки — веб-кластер: несколько нод за балансировщиком и реплика базы.

Почему инфраструктура определяет скорость и стабильность магазина

Каждая страница интернет-магазина — это работа целой цепочки: веб-сервер принимает запрос, PHP запускает ядро Битрикса, ядро идёт в базу данных за товарами, ценами и остатками, собирает HTML и отдаёт его обратно. Скорость всей цепочки определяется её самым слабым звеном. Можно идеально оптимизировать код, но если база данных живёт на медленном диске, а PHP работает без opcache, страница всё равно будет собираться долго. Инфраструктура — это качество каждого звена: процессора, памяти, диска, сети и настроек сервисов.

У магазина есть три инфраструктурных требования, которые не закрываются программированием:

Именно поэтому разговор о скорости магазина всегда начинается с двух вопросов: «на чём он стоит» и «как настроено окружение». Оптимизация кода и кэширование — второй этаж; фундамент — это хостинг и его конфигурация. В этой статье мы идём снизу вверх: от требований платформы и окружения к настройкам сервисов и масштабированию под нагрузку.

Что такое TTFB и почему он начинается на сервере

Ключевая инфраструктурная метрика — время до первого байта (TTFB): сколько времени проходит от запроса браузера до момента, когда сервер начинает отдавать ответ. TTFB складывается из времени работы PHP, запросов к базе и накладных расходов сервера. Всё, что ускоряет эти шаги — быстрый диск базы, opcache, кэш в памяти, композит на nginx, — снижает TTFB. А низкий TTFB — фундамент под метриками Core Web Vitals, которые учитывает поиск. Медленный сервер тянет вниз и скорость, и поведенческие факторы, и позиции.

Системные требования 1С-Битрикс

Прежде чем выбирать хостинг, нужно понять, чего платформа требует от окружения. У 1С-Битрикс есть официальные системные требования, и монитор производительности сверяет с ними реальную конфигурацию. Требования охватывают несколько уровней: операционную систему, веб-сервер, PHP с набором расширений, базу данных и права доступа к файлам.

КомпонентЧто требуетсяЗачем это магазину
Веб-серверnginx и/или Apache с поддержкой ЧПУОтдача статики, композита, обработка динамики
PHPПоддерживаемая ядром версия с нужными расширениямиРабота ядра, обмена с 1С, модулей
Расширения PHPmbstring, gd/imagick, mysqli/pdo, zip, opcache и др.Кодировки, обработка картинок, работа с базой
База данныхMySQL / MariaDB / Percona поддерживаемой версииХранение каталога, заказов, пользователей
Права на файлыЗапись в upload, bitrix/cache, bitrix/managed_cacheКэш, загрузка изображений, обновления

Отдельно важны кодировка и локали. Современные проекты работают в UTF-8, и база, PHP и веб-сервер должны быть согласованы по кодировке, иначе появляются «кракозябры» в каталоге и поиске. Ещё один частый камень преткновения — права на запись: если у веб-сервера нет прав в каталоги кэша и загрузок, магазин будет ругаться на невозможность сохранить кэш или картинку товара. Все эти проверки собраны в тесте конфигурации, о котором ниже.

Требования — это минимум, а не рекомендация. То, что сайт «запустился» на минимально допустимой версии PHP и слабой базе, не значит, что он будет держать нагрузку. Требования гарантируют работоспособность, а комфортную скорость даёт запас по ресурсам и правильная настройка сверх минимума. Планируйте конфигурацию под пиковую нагрузку и обмен с 1С, а не под «лишь бы открылось».

Монитор производительности и тест конфигурации (BSM)

В самом Битриксе есть встроенный инструмент для оценки инфраструктуры — монитор производительности (иногда его называют BSM, Bitrix Server Monitor). Он живёт в административной панели в разделе «Настройки → Производительность» и решает две задачи: измеряет фактическую скорость работы связки «сервер + PHP + база + код» и сверяет настройки окружения с рекомендуемыми платформой значениями.

Монитор состоит из нескольких блоков, и каждый отвечает на свой вопрос:

  1. Тест производительности сервера. Синтетические тесты процессора, PHP и базы данных дают числовой «индекс» — грубую оценку, насколько шустрое у вас железо и окружение. Это способ сравнить площадки между собой и заметить деградацию.
  2. Тест конфигурации. Проверка системных требований: версия PHP, наличие расширений, значения ключевых директив (memory_limit, opcache и другие), права на каталоги. Показывает, что не соответствует требованиям платформы.
  3. Разработка / профилирование. Измерение времени генерации страниц, числа и времени SQL-запросов, попаданий в кэш. Помогает отделить «медленный код» от «медленной инфраструктуры».
  4. Панель производительности. Сводка по времени ответа, кэшу и базе, по которой видно динамику и узкие места на конкретных страницах.

Практическая ценность монитора в том, что он даёт объективную картину вместо ощущений. Жалоба «сайт тормозит» превращается в конкретику: «PHP без opcache», «memory_limit ниже требуемого», «на странице каталога 300 SQL-запросов, кэш не срабатывает» или «база отвечает медленно». Дальше уже понятно, что чинить — окружение, настройки или код. Это первый инструмент, который мы открываем на аудите производительности любого магазина.

Монитор производительности: что он проверяет Монитор (BSM) измеряет и сверяет Конфигурация PHP, расширения, memory_limit, opcache, права Сервер CPU и PHP, индекс скорости База данных скорость запросов, диск и настройки Код и кэш время генерации, число SQL, кэш Итог: где именно узкое место — окружение, база или код
Схема: монитор производительности сверяет конфигурацию окружения и измеряет скорость сервера, базы и кода — и показывает, какое звено тормозит магазин.

«Веб-окружение» (BitrixVM): что это и зачем

«Веб-окружение» 1С-Битрикс (в народе — BitrixVM, BitrixEnv) — это готовый преднастроенный серверный стек от вендора, собранный специально под платформу. Вместо того чтобы вручную ставить и настраивать nginx, PHP, базу данных, кэш-серверы и push-сервер, вы разворачиваете единый комплект, где всё уже согласовано друг с другом и с требованиями ядра. Управляется он через текстовое меню (панель BitrixVM) прямо в консоли сервера.

Зачем это нужно, если Битрикс работает и на обычном LEMP-стеке? Причин несколько:

Многие хостинг-провайдеры предлагают образы или тарифы с уже развёрнутым «Веб-окружением для Битрикс» — это самый быстрый старт. Альтернатива — собрать стек вручную (иногда так делают, чтобы тонко управлять каждым сервисом), но тогда вся ответственность за соответствие требованиям и обновления ложится на вашу команду. Для большинства проектов стандартное окружение — оптимальный баланс скорости настройки, управляемости и поддерживаемости.

Окружение ≠ хостинг. BitrixVM — это набор ПО и настроек, а не сервер. Оно разворачивается поверх вашего VPS, выделенного сервера или облачной машины. То есть сначала вы выбираете «железо» (см. раздел про VPS и облако), а затем ставите на него окружение. Не путайте эти два решения — они принимаются отдельно.

Стек BitrixVM: nginx, Apache и php-fpm

Разберём, из чего состоит окружение и как запрос проходит через стек. Классическая связка под Битрикс — это фронтенд-веб-сервер, обработчик PHP и база данных, и у каждого своя роль.

Ключевая идея для скорости магазина: всё, что можно, должен отдавать nginx, не запуская PHP. Статика и страницы композита забираются nginx напрямую и отдаются за миллисекунды. Тяжёлое ядро включается только там, где действительно нужна динамика — оформление заказа, личный кабинет, персональные блоки. Чем больше запросов обслуживает nginx без обращения к PHP и базе, тем выше держит нагрузку сервер.

Стек BitrixVM: путь запроса Браузер запрос nginx статика + композит, HTTPS, прокси статику отдаёт сам динамика php-fpm ядро Битрикса, сборка страницы MySQL / MariaDB данные каталога memcached / Redis кэш и сессии
Схема: nginx отдаёт статику и композит сам, а динамику проксирует в php-fpm; ядро собирает страницу, обращаясь к базе и к кэшу в памяти.

База данных: MySQL, MariaDB, Percona

База данных — сердце магазина и чаще всего именно она становится узким местом под нагрузкой. Битрикс работает с MySQL и его совместимыми форками — MariaDB и Percona Server. С точки зрения ядра они взаимозаменяемы: SQL-диалект один, и код магазина не заметит разницы. Отличия — в нюансах производительности и администрирования.

СУБДОсобенностиКогда уместна
MySQLЭталонная реализация, максимальная совместимостьУниверсальный выбор по умолчанию
MariaDBФорк MySQL, часто идёт в дистрибутивах и BitrixVMСтандарт во многих окружениях под Битрикс
Percona ServerФорк с акцентом на производительность и мониторингНагруженные проекты, тонкий тюнинг

Что действительно важно для базы под магазин — не столько выбор форка, сколько три вещи. Первое — движок таблиц: рабочие таблицы должны быть на InnoDB, который поддерживает транзакции и построчную блокировку, критичную для одновременных заказов. Второе — быстрый диск: база очень чувствительна к скорости хранилища, и SSD/NVMe под данными базы даёт заметный прирост. Третье — настройка буферов: размер буферного пула InnoDB и другие параметры должны соответствовать объёму данных и доступной памяти, иначе база постоянно читает с диска вместо памяти.

Под большой каталог с обменом с 1С база испытывает двойную нагрузку: днём — чтение витрины посетителями, ночью — массовая запись при обмене. Поэтому базу проектируют с запасом по памяти и диску, а тяжёлый обмен по возможности выносят на часы низкой нагрузки. Как обмен влияет на витрину и как не «положить» базу пакетной загрузкой, мы разбираем в материалах по интеграциям.

Версия PHP и совместимость с Битрикс

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

Но у совместимости две стороны. С одной — само ядро Битрикса требует не ниже определённой версии PHP и перестаёт поддерживать совсем старые. С другой — ваш кастомный код и сторонние модули должны быть совместимы с новой версией: при мажорных обновлениях PHP убирает устаревшие конструкции, и старый код может ломаться. Поэтому обновление PHP всегда идёт через тестовый контур: сначала проверяем сайт на новой версии на stage, ловим предупреждения и ошибки, правим код, и только потом переключаем прод.

Не обновляйте PHP на проде «вслепую». Переключение версии PHP — это потенциально ломающее изменение для кастомного кода и старых модулей. Сначала прогоните сайт на новой версии на stage-контуре, проверьте оформление заказа, обмен с 1С и ключевые сценарии, соберите лог ошибок и предупреждений. Только после этого меняйте версию на боевом сервере. Безопасное обновление платформы и окружения — отдельная дисциплина, ей посвящён наш материал про разработку и архитектуру на Битрикс.

Настройки PHP под Битрикс: memory_limit и opcache

Даже правильная версия PHP не даст скорости без корректных настроек. Под Битрикс важны несколько директив, и монитор конфигурации проверяет их в первую очередь.

Важно понимать взаимосвязь memory_limit и числа PHP-процессов. Общая память сервера делится между процессами php-fpm: чем выше memory_limit и чем больше одновременных процессов, тем больше памяти нужно серверу. Поэтому конфигурацию подбирают в комплексе: лимит на процесс, число процессов и объём памяти сервера должны быть согласованы, иначе под нагрузкой сервер уйдёт в своп и «встанет».

opcache — первое, что стоит проверить. Если магазин на Битриксе «непонятно почему медленный», а монитор показывает высокое время генерации даже на простых страницах, в половине случаев виноват выключенный или недонастроенный opcache. Включите его и убедитесь, что размера памяти под opcache хватает на всё ядро — это часто удваивает скорость без единой правки кода.

Почему дешёвый shared-хостинг не тянет магазин

Виртуальный (shared) хостинг — это когда на одном физическом сервере живут десятки, а то и сотни чужих сайтов, и все делят его ресурсы. Для визитки или блога этого достаточно. Для интернет-магазина на 1С-Битрикс — почти всегда нет, и вот почему.

Итог: shared-хостинг экономит несколько сотен рублей в месяц, но обходится потерянными продажами из-за медленной и нестабильной витрины. Под рабочий магазин берут решения, где ресурсы ваши и предсказуемые, а окружение настраивается под платформу. О них — следующий раздел.

VPS, выделенный сервер и облако

У магазина на Битриксе есть три класса подходящих площадок, и выбор между ними — это баланс цены, ресурсов, управляемости и отказоустойчивости.

ТипЧто этоПлюсыМинусы / когда
SharedОбщий сервер на много сайтовДёшево, ничего не надо администрироватьМал под магазин, нет контроля окружения
VPS/VDSВиртуальная машина с гарантированными ресурсамиСвои ресурсы и права, root, гибкая настройкаНужен админ; предел по мощности одной машины
Выделенный серверОтдельная физическая машина целикомМаксимум ресурсов и стабильности, нет соседейДороже, менее гибкое масштабирование
Облако (IaaS)Виртуальные ресурсы, масштабируемые по требованиюГибкое масштабирование, отказоустойчивость, кластерДороже при постоянной нагрузке; нужна экспертиза

VPS/VDS — рабочая лошадка большинства магазинов среднего размера. Вы получаете виртуальную машину с гарантированными процессором, памятью и диском, правами администратора и возможностью развернуть «Веб-окружение» и настроить всё под себя. Мощности VPS хватает очень надолго, особенно с грамотным кэшированием.

Выделенный сервер берут, когда одной виртуалки уже мало или когда нужна максимальная стабильность без соседей — крупные каталоги, высокий постоянный трафик, тяжёлые интеграции. Облако выигрывает, когда нагрузка сильно скачет (сезонные распродажи, рекламные всплески) и хочется добавлять ресурсы на пик и убирать после, а также когда нужна отказоустойчивость и веб-кластер из нескольких машин. За гибкость облака платят более высокой ценой при ровной постоянной нагрузке и потребностью в инженерной экспертизе.

Shared vs VPS vs Облако Shared общий сервер шумные соседи жёсткие лимиты нет настройки визитки, блоги VPS / VDS свои ресурсы root, своё окружение полный контроль нужен админ большинство магазинов Облако масштаб по требованию отказоустойчивость кластер из машин скачки и нагрузка
Схема: shared — для визиток, VPS закрывает большинство магазинов со своими ресурсами и настройкой, облако выигрывает при скачках нагрузки и потребности в кластере.

Панель управления BitrixVM

Практическая работа с «Веб-окружением» идёт через текстовое меню — панель BitrixVM. Это консольный интерфейс, который запускается на сервере и даёт пункты для всех типовых операций администрирования, чтобы не редактировать конфиги вручную. Через меню окружения делают, в частности:

Ценность панели в том, что она делает сложные многошаговые настройки предсказуемыми и повторяемыми. Собрать веб-кластер вручную — это десятки шагов и много мест, где легко ошибиться; через меню окружения это управляемый мастер. Но панель не заменяет понимания того, что происходит «под капотом»: она удобна, когда вы знаете, зачем включаете тот или иной пункт. Поэтому администрирование окружения мы держим на инженерах, знакомых именно с Битриксом, — это часть услуги поддержки и администрирования магазина на 1С-Битрикс.

Push & Pull сервер

Push & Pull — подсистема Битрикса для обмена сообщениями в реальном времени между сервером и браузером. На ней работают мгновенные уведомления, чаты, обновление данных без перезагрузки страницы и события реального времени в интерфейсе. Технически это отдельный сервер веб-сокетов, который держит постоянные соединения с клиентами и рассылает им сообщения.

Зачем это магазину? Прямо на витрине push нужен не всегда, но он включается в ряде сценариев: уведомления менеджеру о новом заказе в реальном времени, обновление статусов в личном кабинете, интерактивные элементы, оповещения в админке. Если вы используете модули, завязанные на реальное время, push-сервер должен быть поднят и корректно проксироваться через nginx.

Важная инфраструктурная деталь: веб-сокеты требуют, чтобы веб-сервер умел их проксировать, а сетевые настройки (файрвол, порты) это разрешали. В «Веб-окружении» push-сервер настраивается через панель, и nginx уже сконфигурирован под проксирование сокетов. На вручную собранном стеке это отдельная задача. Если push-функции в интерфейсе «не работают» — почти всегда дело в непроксированных сокетах или закрытом порте, а не в самом модуле.

Не включайте push «на всякий случай». Сервер веб-сокетов держит постоянные соединения и потребляет ресурсы. Если реальное время в проекте не используется, push можно не поднимать. А если используется — заложите его в конфигурацию окружения сразу и проверьте проксирование, чтобы уведомления и статусы работали стабильно.

memcached и Redis: кэш и сессии в памяти

По умолчанию Битрикс хранит кэш в файлах на диске, а сессии — в базе данных. Пока данных немного, это работает. Но на нагруженном магазине с большим каталогом кэш-файлов становятся десятки и сотни тысяч, а таблица сессий при большом онлайне нагружает базу. Решение — вынести и то, и другое в оперативную память через memcached или Redis.

ХранилищеПлюсыМинусы / когда
Файлы (по умолчанию)Ничего не нужно ставитьТормозит на десятках тысяч файлов, нагружает диск
memcachedБыстрый «ключ-значение» в памяти, простНет персистентности, данные не переживают перезапуск
RedisВ памяти, богаче, персистентность, годится для кластераЧуть сложнее; общий ресурс с сессиями и очередями

Что это даёт магазину: доступ к кэшу из памяти на порядок быстрее чтения мелких файлов с диска, а вынесенные из базы сессии снимают с неё постоянную нагрузку от записи. На большом каталоге переезд кэша в память — одна из самых ощутимых оптимизаций. Между memcached и Redis для чистого кэша разница по скорости невелика: memcached проще, Redis универсальнее и умеет сохранять данные на диск, что важно для сессий и для веб-кластера, где хранилище должно быть общим для всех нод.

Логика кэширования при этом не меняется — меняется только «драйвер» хранилища в настройках. Как устроены уровни кэша в самой платформе (кэш компонентов, теговый кэш, композит) и как их правильно настроить, подробно разобрано в отдельной статье про кэширование в 1С-Битрикс. Инфраструктура даёт кэшу быстрое хранилище, а платформа — логику инвалидации; вместе они и дают скорость.

Кэш и сессии — разные подсистемы. Их можно держать в одном Redis, но настраиваются они отдельно. Частая ошибка — вынести в память кэш, но забыть про сессии, которые продолжают душить базу при большом онлайне. Проверьте оба: и хранилище кэша, и хранилище сессий должны жить в памяти на нагруженном магазине.

Композит и хостинг

Композит (композитный сайт) — технология Битрикса, которая кэширует собранную HTML-страницу целиком и отдаёт её статику мгновенно, ещё до запуска тяжёлого ядра, а персональную динамику (корзину, авторизацию) догружает отдельным быстрым запросом. Это верхний уровень ускорения, и он напрямую завязан на инфраструктуру.

Инфраструктурная суть композита: готовый HTML-кэш страницы должен отдавать nginx напрямую, не поднимая PHP. Тогда статическая часть страницы уходит посетителю за миллисекунды, а сервер тратит ресурсы только на лёгкую подгрузку динамики. Если композит настроен «наполовину» — HTML-кэш есть, но отдаёт его PHP, — выигрыш сильно меньше. Поэтому в «Веб-окружении» есть отдельный пункт для обслуживания композита на уровне nginx, и его важно включить.

Композит не отменяет остальную инфраструктуру, а надстраивается над ней: динамическая часть по-прежнему пользуется кэшем компонентов и кэшем в памяти. Правильный порядок — сначала навести порядок с окружением и кэшем, и только потом включать композит как финальный ускоритель. Что именно выносить в динамику и как не сломать корзину, подробно разобрано в материале про композитный сайт в 1С-Битрикс.

SSL, HTTPS и HTTP/2

Работа магазина по HTTPS сегодня не обсуждается: это требование безопасности, доверия покупателей и поисковых систем. Без валидного SSL-сертификата браузер помечает сайт как небезопасный, платёжные системы не подключаются, а поиск понижает сайт. Разберём инфраструктурную сторону.

Отдельная тонкость для Битрикса — корректная работа за HTTPS-прокси. Если терминация идёт на балансировщике или CDN, а до бэкенда доходит http, платформе нужно правильно передать, что исходный запрос был защищённым, иначе возможны редирект-петли и «смешанный контент». Это настраивается на уровне окружения и учитывается при сборке кластера.

CDN для статики и медиа

CDN (сеть доставки контента) — географически распределённые серверы, которые кэшируют и отдают статику (картинки, стили, скрипты, шрифты) с ближайшей к посетителю точки. Для магазина с большим количеством изображений товаров CDN даёт два эффекта: посетители из разных регионов получают картинки быстрее, а ваш основной сервер разгружается от отдачи тяжёлой статики.

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

Что важно учесть при подключении CDN к Битриксу:

CDN — не обязательный элемент для маленького локального магазина, но для проекта с широкой географией и тяжёлым медиа-контентом это стандартная часть инфраструктуры ускорения. В связке с оптимизацией самих изображений (форматы, ресайз, ленивая загрузка) CDN заметно улучшает скорость загрузки и метрики Core Web Vitals.

Резервное копирование и восстановление

Бэкапы — это не про скорость, а про выживание бизнеса. Сбой диска, ошибочное обновление, неудачный обмен, взлом или человеческая ошибка могут повредить данные магазина в любой момент. Вопрос не «случится ли», а «насколько быстро и полно вы восстановитесь». Грамотная стратегия резервного копирования строится на нескольких принципах.

  1. Копируйте и файлы, и базу. Магазин — это код и загрузки (файлы) плюс данные (база). Полная копия включает и то, и другое; частичный бэкап только базы или только файлов не восстановит сайт целиком.
  2. Делайте копии регулярно и автоматически. Частота зависит от того, сколько данных вы готовы потерять. Для активного магазина база копируется часто (вплоть до ежедневных или чаще), файлы — реже. Ручные бэкапы «когда вспомню» не работают.
  3. Храните копии отдельно от сервера. Бэкап, лежащий на том же сервере, что и сайт, исчезнет вместе с ним при отказе диска. Копии переносят в отдельное хранилище — другой сервер, облачное хранилище, S3-совместимое хранилище.
  4. Проверяйте восстановление. Бэкап, который ни разу не разворачивали, нельзя считать рабочим. Периодически разворачивайте копию на тестовом контуре и убеждайтесь, что сайт поднимается и данные целы.

Битрикс умеет делать резервные копии штатными средствами через админку, и для небольших сайтов этого достаточно. На больших проектах штатный бэкап дополняют внешними инструментами: снапшотами дисков на уровне облака, отдельным копированием базы через утилиты СУБД, переносом копий в S3. Отдельно стоит помнить про ротацию: копии не хранят вечно, а держат разумную глубину (несколько дневных, несколько недельных), чтобы не забить хранилище.

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

Мониторинг, логи и оповещения

Инфраструктуру нельзя настроить один раз и забыть — за ней нужно наблюдать. Мониторинг отвечает на вопрос «всё ли в порядке прямо сейчас» и предупреждает о проблеме до того, как её заметят покупатели. Под магазином на Битриксе следят за несколькими группами показателей.

Отдельная дисциплина — логи. Логи веб-сервера, PHP-ошибок, медленных запросов базы и события самого Битрикса — это то, по чему разбирают инцидент постфактум. Их важно собирать, хранить и уметь быстро в них искать. На серьёзных проектах логи и метрики централизуют, а на критичные события (сайт упал, кончается диск, всплеск ошибок) настраивают немедленные оповещения. Постоянное наблюдение за инфраструктурой — часть поддержки и администрирования; без него любая проблема обнаруживается «по жалобам клиентов», то есть уже с потерями.

Окружения dev / stage / prod

Серьёзный магазин живёт не на одном сервере, а как минимум в трёх средах, и это тоже часть инфраструктуры. Разделение окружений защищает боевой сайт от экспериментов и позволяет проверять изменения до того, как их увидят покупатели.

ОкружениеНазначениеКто пользуется
dev (разработка)Написание и первичная проверка кодаРазработчики
stage (тест/препрод)Проверка перед выкаткой на копии боевогоТестировщики, заказчик
prod (продакшн)Боевой магазин, который видят покупателиКлиенты, реальный трафик

Ключевая идея: ничего не проверяют сразу на проде. Новый функционал, обновление ядра, переключение версии PHP, миграция на новое окружение — всё это сначала прогоняют на stage, максимально похожем на боевой сервер по конфигурации. Особенно это важно для интернет-магазина, где ошибка в оформлении заказа или обмене с 1С — это прямые потери денег.

Инфраструктурно stage должен повторять прод по версиям PHP, базы и окружения, иначе «на тесте работало, а на бою сломалось». Данные для stage обычно берут копией с прода (с обезличиванием персональных данных покупателей), чтобы тестировать на реалистичном объёме. Выкатку с dev/stage на прод автоматизируют через процессы CI/CD, чтобы релиз был предсказуемым и откатываемым, а не «залил файлы по FTP и надеюсь». Правильно выстроенные окружения — это часть архитектуры и разработки highload-проекта на Битриксе, где цена ошибки на проде особенно высока.

Веб-кластер для высоких нагрузок

Когда одна машина перестаёт справляться даже после оптимизации, магазин переводят на веб-кластер — несколько серверов, работающих как единая система. Модуль «Веб-кластер» есть в старших редакциях Битрикса, а собрать его помогает панель «Веб-окружения». Кластер решает две задачи сразу: масштабирование (суммарная мощность нескольких машин) и отказоустойчивость (падение одной ноды не роняет магазин).

Из чего состоит типичный веб-кластер:

Репликация «мастер — реплики» здесь ключевая: большинство запросов магазина — это чтение (посетители смотрят каталог), и его можно масштабировать, добавляя реплики. Запись (заказы, обмен с 1С) идёт на мастер и реплицируется на остальные. Битрикс на уровне ядра умеет разделять чтение и запись по нодам базы, что и делает горизонтальное масштабирование возможным без переписывания кода.

Веб-кластер под высокую нагрузку Балансировщик распределяет запросы Веб-нода 1 nginx + PHP Веб-нода 2 nginx + PHP Веб-нода N nginx + PHP Общий кэш и сессии Redis / memcached Мастер БД запись Реплики БД чтение репликация
Схема: балансировщик распределяет запросы между веб-нодами; ноды делят общий кэш и сессии, читают из реплик базы и пишут в мастер, откуда данные реплицируются.

Как масштабировать: вертикально и горизонтально

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

Практический порядок действий почти всегда такой:

  1. Сначала оптимизация. Прежде чем докупать ресурсы, проверьте кэш, opcache, композит, кэш в памяти и тяжёлые запросы. Часто «нехватка мощности» лечится настройкой, а не деньгами.
  2. Потом вертикальный рост. Если оптимизация выжата, а нагрузка растёт — добавьте ресурсов серверу. Это самый простой шаг, и его хватает большинству магазинов надолго.
  3. Затем горизонтальный рост. Когда одной машины мало даже с запасом или нужна отказоустойчивость — переходите на веб-кластер с несколькими нодами и репликами базы.
  4. Наконец, эластичность. В облаке добавляют автоматическое масштабирование под пики (сезон, реклама) и убирают лишние ресурсы после — платить за пиковую мощность круглый год не нужно.

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

Вертикально или горизонтально Вертикально: усилить машину 1 сервер больше CPU, RAM, диск Горизонтально: добавить машины Балансировщик нода нода нода
Схема: вертикальное масштабирование усиливает одну машину и упирается в потолок; горизонтальное добавляет ноды за балансировщиком и масштабируется дальше.

Частые ошибки инфраструктуры

Большинство инфраструктурных проблем магазинов на Битриксе повторяются из проекта в проект. Зная их заранее, вы сэкономите деньги и нервы.

Чек-лист по хостингу и инфраструктуре

Короткий список, по которому удобно свериться при выборе хостинга и настройке окружения под магазин:

Вывод

Хостинг и инфраструктура — это фундамент магазина на 1С-Битрикс, и от их качества зависит всё, что стоит выше: скорость, устойчивость, стабильность обмена и надёжность данных. Дешёвый shared-хостинг не тянет магазин из-за лимитов и отсутствия настройки; рабочая площадка — это VPS, выделенный сервер или облако с развёрнутым «Веб-окружением», где nginx отдаёт статику и композит, php-fpm с opcache исполняет код, база живёт на быстром диске, а кэш и сессии вынесены в память.

Практический порядок такой: выбрать подходящую площадку, развернуть корректное окружение, пройти тест конфигурации и монитор производительности, включить opcache и поднять memory_limit, вынести кэш и сессии в Redis или memcached, настроить композит на nginx, HTTPS с HTTP/2 и CDN для медиа, наладить бэкапы и мониторинг, развести окружения dev/stage/prod — и только под реальную высокую нагрузку переходить к веб-кластеру с репликацией базы. Сделайте это по порядку, и магазин будет открываться быстро и держать нагрузку даже в час пик и во время обмена с 1С. Инфраструктуру нагруженного магазина стоит проектировать с запасом заранее — это часть архитектуры любого серьёзного проекта, а не «оптимизация на потом». Другие материалы по производительности и архитектуре собраны в рубрике «Разработка и архитектура», а связку инфраструктуры со скоростью фронтенда мы разбираем в статье про Core Web Vitals для интернет-магазина.

Частые вопросы

Можно ли держать интернет-магазин на 1С-Битрикс на обычном дешёвом shared-хостинге?

Технически сайт может запуститься, но для рабочего магазина такой хостинг почти всегда мал. На виртуальном хостинге вы делите один сервер с десятками чужих сайтов, ресурсы процессора и памяти жёстко ограничены, часто нельзя настроить opcache, поднять memory_limit, поставить memcached или Redis, включить нужную версию PHP. Битрикс — тяжёлая платформа с большим ядром и обменом с 1С, ей нужны предсказуемые ресурсы и права на настройку окружения. Поэтому под магазин берут VPS, выделенный сервер или облако, где вы управляете конфигурацией сами, а не упираетесь в лимиты соседей.

Что такое «Веб-окружение» (BitrixVM) и обязательно ли его ставить?

BitrixVM — это готовое серверное окружение от 1С-Битрикс: набор преднастроенных под платформу nginx, PHP, базы данных, кэш-серверов, push-сервера и утилит с текстовой панелью управления. Оно не обязательно — Битрикс работает и на вручную собранном стеке (LEMP), — но окружение снимает массу рутинной настройки и заранее выставляет параметры так, как их хочет видеть ядро и монитор производительности. Для большинства проектов BitrixVM (или его аналог у хостера — «преднастроенный сервер для Битрикс») — самый быстрый способ получить корректную и поддерживаемую конфигурацию без ручной сборки каждого сервиса.

Зачем нужен монитор производительности и тест конфигурации в Битриксе?

Монитор производительности (в разделе настроек «Производительность») — встроенный инструмент, который измеряет скорость работы связки «сервер + PHP + база + код» и сверяет настройки окружения с рекомендуемыми. Тест конфигурации отдельно проверяет системные требования: версию PHP, расширения, права, значения ключевых директив вроде memory_limit и opcache. Это первое, что стоит открыть при жалобах на медленный сайт: инструмент показывает, что именно проседает — код, база или само окружение, — и подсказывает, какие параметры не соответствуют требованиям платформы.

nginx или Apache нужен для 1С-Битрикс?

В типовой конфигурации BitrixVM используются оба, но в разных ролях. nginx стоит спереди как быстрый веб-сервер: отдаёт статику (картинки, стили, скрипты), терминирует HTTPS, обслуживает композит и проксирует динамику дальше. Динамику (PHP-код) обрабатывает либо связка nginx + php-fpm, либо nginx + Apache. Ключевую скорость на статике и композите даёт именно nginx: он отдаёт готовые файлы, не запуская тяжёлое ядро. Для магазина важно, чтобы статику и HTML-кэш композита забирал nginx напрямую, а PHP включался только там, где действительно нужна динамика.

memcached или Redis ставить под Битрикс и что они дают?

Оба переносят кэш и пользовательские сессии из файлов в оперативную память, снимая нагрузку с диска и базы. memcached проще и работает как быстрый распределённый словарь «ключ — значение». Redis богаче: умеет сохранять данные на диск, подходит под сессии, очереди и как хранилище для нескольких нод веб-кластера. Для одиночного сервера оба варианта дают схожий выигрыш по скорости кэша, а выбор чаще определяется тем, что уже развёрнуто. Для веб-кластера, где ноды должны видеть общий кэш и сессии, обычно берут Redis как централизованное хранилище.

Когда магазину нужен веб-кластер, а когда хватит одного сервера?

Один правильно настроенный сервер держит очень большой трафик, если на нём включены кэш компонентов, композит, кэш в памяти и достаточно ресурсов. Веб-кластер нужен, когда одна машина упирается в потолок по процессору или памяти даже после оптимизации, когда важна отказоустойчивость (падение одной ноды не должно ронять магазин) или когда нагрузка сильно скачет и нужно добавлять и убирать серверы на лету. Кластер — это несколько веб-нод за балансировщиком плюс реплика базы данных и общее хранилище кэша и сессий. Это дорого в поддержке, поэтому сначала выжимают максимум из одного сервера, а к кластеру переходят осознанно под реальную нагрузку.

Нужно ли настраивать резервное копирование, если хостер «делает бэкапы»?

Да, свои бэкапы нужны почти всегда. Резервные копии хостера часто покрывают только уровень виртуальной машины, делаются реже, чем нужно магазину, и их не всегда удобно развернуть частично (например, откатить только базу). Для магазина важны регулярные копии и файлов, и базы данных, хранение их отдельно от самого сервера и — обязательно — периодическая проверка восстановления. Бэкап, который ни разу не разворачивали, нельзя считать рабочим. Битрикс умеет делать резервные копии штатными средствами, но на больших проектах их дополняют внешними инструментами и переносом копий в отдельное хранилище.

Как хостинг и инфраструктура влияют на Core Web Vitals и SEO?

Инфраструктура задаёт время ответа сервера — время до первого байта (TTFB), фундамент всех метрик скорости. Медленный или перегруженный сервер отдаёт первый байт с задержкой, и никакая оптимизация фронтенда это полностью не компенсирует. Быстрое окружение, кэш в памяти, композит на nginx, HTTP/2 и CDN для статики напрямую улучшают LCP и общую отзывчивость, а значит и поведенческие факторы. При этом инфраструктура не чинит тяжёлый JavaScript и неоптимизированные картинки — это отдельная фронтенд-работа. Хостинг — необходимая, но не единственная часть быстрого магазина.

Поделиться:

Хотите инфраструктуру, которая не тормозит магазин?

Подберём и настроим хостинг под 1С-Битрикс: окружение, PHP и база, кэш в памяти, композит, SSL и CDN, бэкапы и мониторинг, а под нагрузку — веб-кластер. Рассчитаем работу по вашему магазину.

Услуга «Ускорение сайта»

Игорь Воскресенский

Команда студии B2Bsite. С 2014 года разрабатываем, ускоряем и поддерживаем интернет-магазины на 1С-Битрикс: хостинг и «Веб-окружение», настройка PHP и базы, кэш в памяти, композит, бэкапы и мониторинг, веб-кластер и обмен с 1С для среднего и крупного бизнеса.

← Все статьи блога