Настройка PHP, MySQL и PostgreSQL для стабильной работы Битрикс под нагрузкой
Тюнингуем PHP-FPM и OPcache, настраиваем MySQL, MariaDB и PostgreSQL под требования 1С-Битрикс: буферы и кэш, индексы, разбор медленных запросов, мониторинг и стабильность базы под нагрузкой. Сайт перестаёт тормозить на каталоге и падать в пики.
Тюнинг PHP и базы данных под требования Битрикс
Настраиваем весь стек, на котором работает сайт: интерпретатор PHP, кэш байт-кода и движок базы данных. Каждый параметр подбираем под профиль вашей нагрузки и объём каталога, а не по типовому шаблону.
Путь запроса от посетителя до базы данных
Запрос проходит через PHP-FPM с кэшем байт-кода в OPcache и попадает в базу данных, где буферы и индексы решают, ответит сервер за миллисекунды или уйдёт в долгий полный скан таблицы.
Где Битрикс теряет скорость на сервере по умолчанию
На стандартных настройках хостинга Битрикс работает в разы медленнее своих возможностей: PHP перекомпилирует скрипты, база читает данные с диска, а тяжёлые запросы каталога валят сервер в пики. Тюнинг PHP и СУБД снимает эти узкие места.
Дефолт хостинга, свой админ или настройка студией
| Критерий | Настройки по умолчанию | Свой системный админ | Студия B2Bsite |
|---|---|---|---|
| Параметры PHP и базы | Не учитывают нагрузку | Зависит от опыта | Тюнинг под профиль |
| Разбор медленных запросов | Нет | Иногда | Да, лог и индексы |
| Контроль стабильности | Нет | Частично | Мониторинг и алерты |
| Компетенции по Битрикс | Общие шаблоны | Без специфики Битрикс | Опыт именно по Битрикс |
| Результат под нагрузкой | Падения в пики | Долго ищет причину | Стабильность под нагрузкой |
Порядок настройки PHP и базы данных
Сначала измеряем, потом меняем по одному параметру и снова измеряем. Так каждое изменение подтверждается метриками, а не ощущениями, и его можно откатить без риска для продакшена.
Сколько занимает настройка стека
Базовый тюнинг даёт первый эффект уже в первые дни, глубокая оптимизация запросов и переход на PostgreSQL занимают дольше. Ориентиры ниже уточняем после аудита.
Сколько стоит настройка PHP и базы данных
Стоимость зависит от объёма базы, числа медленных запросов и того, нужна ли поддержка PostgreSQL. Ниже ориентиры; точную смету присылаем после бесплатного аудита сервера.
Настройка PHP-FPM, OPcache и базовых параметров MySQL или MariaDB.
- Аудит сервера и замеры
- Тюнинг PHP-FPM и лимитов
- Настройка OPcache
- Базовые буферы и кэш базы
- Отчёт с конфигами
Глубокая настройка базы, индексы и разбор медленных запросов под нагрузкой.
- Всё из «Базового тюнинга»
- Лог и разбор медленных запросов
- Индексы и оптимизация выборок
- Тюнинг InnoDB и соединений
- Настройка мониторинга базы
- Нагрузочная проверка
Настройка или перевод на PostgreSQL и проектирование под высокую нагрузку.
- Всё из «Оптимизации БД»
- Настройка PostgreSQL под Битрикс
- Автовакуум и планировщик
- Параметры под пиковую нагрузку
- Алерты и обслуживание базы
- Регламент для вашей команды
Базовый тюнинг от 25 000 ₽
Настройка PHP-FPM, OPcache и базовых параметров MySQL или MariaDB.
- Аудит сервера и замеры
- Тюнинг PHP-FPM и лимитов
- Настройка OPcache
- Базовые буферы и кэш базы
- Отчёт с конфигами
Популярный Оптимизация БД от 55 000 ₽
Глубокая настройка базы, индексы и разбор медленных запросов под нагрузкой.
- Всё из «Базового тюнинга»
- Лог и разбор медленных запросов
- Индексы и оптимизация выборок
- Тюнинг InnoDB и соединений
- Настройка мониторинга базы
- Нагрузочная проверка
PostgreSQL и нагрузка от 110 000 ₽
Настройка или перевод на PostgreSQL и проектирование под высокую нагрузку.
- Всё из «Оптимизации БД»
- Настройка PostgreSQL под Битрикс
- Автовакуум и планировщик
- Параметры под пиковую нагрузку
- Алерты и обслуживание базы
- Регламент для вашей команды
Дополнительные опции
| Перевод базы Битрикс на PostgreSQL | от 70 000 ₽ |
| Настройка мониторинга и алертов по базе | от 20 000 ₽ |
| Ежемесячное обслуживание и контроль базы | от 18 000 ₽ в месяц |
Сколько вы теряете на медленном сервере
Прикиньте, во что обходятся тормоза и падения: посетители уходят с медленных страниц, а в пики сайт и вовсе недоступен. Тюнинг PHP и базы возвращает часть этих заказов.
Оценка по формуле: заказы × доля ушедших из-за тормозов × средний чек. Это ориентир упущенной выручки, которую возвращает ускорение сервера, а не гарантия.
Подберите состав настройки под ваш сервер
Ответьте на несколько вопросов о базе, нагрузке и СУБД — соберём состав работ по тюнингу PHP и базы данных и пришлём смету.
Кейсы по настройке PHP и базы данных
Что говорят о настройке сервера
Настройка PHP, MySQL и PostgreSQL под Битрикс: что входит
1С-Битрикс — тяжёлая платформа, и её скорость на 80 процентов определяется не кодом сайта, а настройкой сервера под ним. Сайт можно вылизать по шаблонам и кэшу, но если PHP перекомпилирует скрипты на каждый запрос, а база читает каталог с диска, страницы всё равно будут открываться медленно, а в пики сервер начнёт падать. Настройка PHP, MySQL, MariaDB и PostgreSQL — это тюнинг всего стека, на котором живёт Битрикс, под фактический профиль вашей нагрузки и объём данных.
На большинстве серверов параметры стоят по умолчанию: они рассчитаны на средний сайт и не учитывают ни размер каталога, ни характер запросов, ни пики трафика во время акций и рассылок. В результате мощный сервер работает вполсилы, а владелец винит в тормозах саму платформу. Грамотный тюнинг снимает эти узкие места без переписывания кода и без перехода на более дорогой тариф хостинга. На практике именно настройка сервера, а не доработка кода сайта, чаще всего возвращает Битриксу нормальную скорость и убирает падения в часы наплыва посетителей.
Битрикс предъявляет к серверу собственные требования: его проверка системы прямо указывает рекомендуемые параметры PHP, кэша и базы. Но рекомендуемый минимум и оптимальная настройка под конкретный проект — разные вещи. Минимум позволяет сайту просто запуститься, а оптимальная конфигурация раскрывает производительность под вашу нагрузку. Мы настраиваем сервер именно под второе: под объём вашего каталога, характер запросов и пики трафика, а не под усреднённый сайт из документации.
Из чего складывается настройка стека
Работа охватывает три уровня, которые вместе определяют отклик сайта. Первый — интерпретатор PHP и пул процессов PHP-FPM: от числа воркеров, режима их работы и лимитов памяти зависит, сколько одновременных запросов сервер обработает без очереди и ошибок. Второй — кэш байт-кода OPcache, который избавляет Битрикс от повторной компиляции одних и тех же скриптов. Третий — база данных, где буферы, кэши, индексы и план выполнения запросов решают, ответит ли сервер за миллисекунды или уйдёт в долгий полный скан таблицы.
Главные направления работы по настройке:
- тюнинг PHP-FPM: число и режим воркеров, лимиты памяти и времени выполнения под фактический трафик;
- настройка OPcache: память под байт-код, число кэшируемых файлов, частота проверки изменений;
- буферы и кэш MySQL или MariaDB: InnoDB Buffer Pool, лог транзакций, временные таблицы и соединения;
- индексы и разбор медленных запросов: лог тяжёлых выборок, планы выполнения, борьба с полными сканами;
- поддержка PostgreSQL: буферы, рабочая память, автовакуум и планировщик под профиль запросов Битрикс;
- мониторинг и алерты по нагрузке, соединениям и медленным запросам для стабильности под нагрузкой.
Кому нужна настройка PHP и базы данных
Тюнинг окупается там, где сайт уже упирается в сервер. Это интернет-магазины с большим каталогом, где фильтры и выборки товаров грузят базу. Это B2B-порталы и сайты услуг, которые падают с ошибкой 502 в часы акций и массовых рассылок. Это проекты, у которых база данных растёт, нагрузка на сервер ползёт вверх, а причина непонятна. И это любой Битрикс, который недавно переехал на новый сервер или на PostgreSQL и работает на настройках по умолчанию.
Отдельная история — поддержка PostgreSQL. Битрикс умеет работать на этой СУБД, но она требует своей калибровки: из коробки PostgreSQL настроен консервативно и не использует ресурсы сервера на полную. Если ваш проект переходит на PostgreSQL или уже работает на ней с дефолтными параметрами, настройка буферов, автовакуума и планировщика даёт ощутимый прирост стабильности и скорости.
Как мы ведём работу
Любую настройку начинаем с замеров: снимаем профиль нагрузки, текущие конфиги PHP и базы, лог медленных запросов и время отклика. Это точка отсчёта, без которой нельзя доказать эффект. Дальше меняем параметры по одному и снова измеряем, поэтому каждое изменение подтверждается метриками и его можно безопасно откатить. Тяжёлые работы по базе проводим в окно с минимальным трафиком, чтобы не задеть продакшен. В финале отдаём отчёт с конфигами, обоснованием каждого параметра и регламентом обслуживания базы, по которому ваша команда сможет поддерживать сервер сама.
Такой инженерный подход отличает настройку от подгонки параметров наугад. Многие конфиги в интернете предлагают универсальные значения, но универсальной настройки базы под Битрикс не существует: то, что ускорит каталог на десять тысяч товаров, окажется бесполезным для портала с тяжёлыми отчётами, и наоборот. Мы калибруем стек под ваши реальные данные, а не под чужой шаблон. Поэтому базовый тюнинг даёт первый эффект уже в первые дни, а глубокая работа с индексами и медленными запросами снимает скрытую нагрузку, которую без замеров вообще не видно.
Отдельное внимание уделяем стабильности в пики. Скорость в обычный день — лишь половина задачи: сайт должен держать наплыв посетителей во время акций и рассылок, когда нагрузка на PHP и базу вырастает в разы. Мы настраиваем пул процессов и лимиты соединений с запасом, ставим мониторинг с алертами по нагрузке и медленным запросам и при необходимости прогоняем нагрузочный тест перед прогнозируемым пиком. Так пик перестаёт быть лотереей и превращается в управляемое событие.
Результат настройки PHP, MySQL и PostgreSQL — это сервер, который раскрывает возможности Битрикса полностью: страницы открываются быстро, каталог не тормозит, сайт держит пики акций без падений, а нагрузка на процессор и диск снижается. Вы получаете запас по производительности без апгрейда железа и понятную картину того, что и почему настроено на вашем сервере.
На что можно рассчитывать по договору
Частые проблемы с PHP и базой — и как мы их решаем
Это не общие советы из интернета, а закономерности из реальных проектов на Битрикс. Каждый ответ — позиция нашей команды по серверной оптимизации.
Тюнинг сервера или апгрейд железа: что выбрать для Битрикс
Когда сайт на Битрикс начинает тормозить, первая мысль обычно одна: нужен сервер помощнее. Это понятный, но чаще всего самый дорогой и наименее эффективный путь. На практике большинство тормозов Битрикса — это не нехватка железа, а настройки по умолчанию, на которых мощный сервер работает вполсилы. Ниже разбираем, почему так происходит, как настройка PHP и базы данных снимает узкие места, и когда апгрейд железа действительно нужен, а когда это просто переплата.
Почему дефолтные настройки тормозят Битрикс
Любой сервер из коробки настроен на усреднённый сайт. Пул PHP-FPM рассчитан на скромный трафик, OPcache часто выключен или ограничен по памяти, InnoDB Buffer Pool оставлен крошечным, а лог медленных запросов не ведётся вовсе. Для лёгкого сайта-визитки этого хватает. Но Битрикс — тяжёлая платформа с большим объёмом кода и сложными запросами к базе, и на дефолте он упирается в эти лимиты на каждом шагу.
Картина почти всегда одинаковая. PHP компилирует одни и те же скрипты заново на каждый запрос, потому что OPcache не настроен, и греет процессор впустую. База читает каталог с диска, потому что горячие данные не помещаются в буфер. Фильтры товаров уходят в полный скан таблиц, потому что нет нужных индексов. А в пики трафика пул PHP-FPM заканчивается, и сервер отдаёт ошибку 502. Каждая из этих проблем решается настройкой, а не покупкой нового железа.
Коварство ситуации в том, что по отдельности каждое узкое место кажется мелочью, а вместе они складываются в ощутимые тормоза. Владелец видит медленный сайт и делает естественный вывод: сервер слабоват. Хостинг охотно поддерживает этот вывод и предлагает тариф подороже. Но переезд на более мощную машину с теми же дефолтными настройками часто даёт лишь временное облегчение: каталог растёт, трафик возвращается, и проблема всплывает снова, теперь уже за вдвое большие деньги. Без настройки стека вы просто откладываете тормоза, а не убираете их.
Что меняет грамотный тюнинг
Настройка стека возвращает серверу его реальную мощность. Включённый и откалиброванный OPcache убирает повторную компиляцию — процессор перестаёт делать лишнюю работу, и время ответа падает заметно уже после одного этого шага. Правильно подобранный InnoDB Buffer Pool держит горячие данные каталога в памяти, и частые выборки перестают бить по диску. Индексы под фактические запросы фильтров превращают полные сканы в быстрые точечные обращения. А настроенный пул PHP-FPM и лимиты соединений с базой дают серверу запас, чтобы держать пики акций и рассылок без падений.
Важно, что всё это работает на том же железе. Мы регулярно видим, как сервер, который владелец собирался менять на вдвое более дорогой, после тюнинга получает кратный запас по производительности и спокойно живёт ещё годы. Если вам параллельно нужна общая серверная оптимизация под Битрикс, настройка PHP и базы становится её ядром — именно здесь скрыта большая часть резерва скорости.
Стоит подчеркнуть: тюнинг PHP и базы не конфликтует с кэшированием самого Битрикса, а дополняет его. Битрикс умеет кэшировать страницы и компоненты, но кэш не покрывает всё: персонализированные блоки, корзина, личный кабинет, поиск и фильтры каталога каждый раз обращаются к PHP и базе. Именно эти живые, некэшируемые запросы и страдают на дефолтных настройках. Когда стек настроен правильно, ускоряется не только то, что лежит в кэше, но и динамика, ради которой люди и приходят на сайт.
Профилирование: как мы находим настоящую причину тормозов
Главная ошибка при оптимизации сервера — настраивать наугад, по ощущениям или по советам из статей. Мы начинаем не с правки конфигов, а с профилирования: снимаем реальный профиль нагрузки за рабочий период и смотрим, на что именно сервер тратит ресурсы. Где-то узкое место в процессоре из-за невключённого OPcache, где-то в диске из-за маленького буфера базы, где-то в паре тяжёлых запросов, которые в одиночку держат половину нагрузки. Без замеров эти причины неотличимы друг от друга, и любая правка превращается в лотерею.
Профилирование даёт ещё одну важную вещь — приоритет. Ресурсы и время ограничены, поэтому мы беремся сначала за то, что даёт максимальный эффект на единицу усилий. Часто это один-два медленных запроса и невключённый кэш байт-кода: их исправление снимает больше нагрузки, чем десяток мелких твиков. Такой подход экономит ваш бюджет: вы платите за изменения, которые видны в метриках, а не за бесконечную полировку второстепенных параметров.
Конфиги под нагрузку: баланс памяти и соединений
Настройка сервера под нагрузку — это всегда баланс ресурсов, а не выкручивание всех параметров на максимум. Память сервера делится между пулом PHP-FPM, буфером базы данных и операционной системой, и перекос в любую сторону вредит. Слишком большой пул воркеров при тяжёлых страницах съест память и спровоцирует своп, после которого сервер встанет колом. Слишком маленький буфер базы вернёт чтение с диска. Мы рассчитываем эти величины вместе: сколько памяти потребляет один воркер на ваших страницах, сколько одновременных запросов нужно держать в пик, сколько остаётся под буфер базы.
Отдельно настраиваем лимиты соединений с базой, чтобы пул PHP-FPM и число коннектов к СУБД были согласованы. Частая ошибка — когда воркеров больше, чем база готова принять соединений: в пик база отказывает в подключении, и сайт падает, хотя ресурсы вроде бы есть. Мы согласуем эти лимиты по всей цепочке от веб-сервера до базы, чтобы система деградировала плавно под перегрузкой, а не обрушивалась разом.
Мониторинг, бэкапы и репликация
Настроенный однажды сервер не остаётся таким навсегда: каталог растёт, появляются новые разделы, меняется характер трафика. Поэтому мы не ограничиваемся разовым тюнингом, а ставим мониторинг ключевых метрик базы и PHP с алертами по нагрузке, соединениям и медленным запросам. Это превращает обслуживание из реакции на упавший сайт в предупреждение: команда видит приближение проблемы заранее и успевает отреагировать до того, как её заметят посетители.
Рядом с производительностью всегда идёт надёжность данных. Мы настраиваем регулярное резервное копирование базы и проверяем, что бэкапы действительно восстанавливаются, а не просто создаются. Для нагруженных проектов, где простой недопустим, подключаем репликацию базы: копия данных на отдельном сервере служит и подстраховкой на случай сбоя, и разгрузкой для тяжёлых операций чтения. Если нагрузка переросла один сервер, логичным продолжением становится кластер, балансировка нагрузки и репликация базы данных, где правильно настроенные PHP и СУБД остаются обязательным фундаментом.
MySQL, MariaDB или PostgreSQL под Битрикс
Битрикс работает на нескольких СУБД, и у каждой своя логика тюнинга. MySQL и MariaDB — самый распространённый вариант, и здесь основная работа идёт вокруг InnoDB: размер буфера, лог транзакций, кэши, временные таблицы и соединения. PostgreSQL Битрикс поддерживает официально, и эта СУБД хорошо показывает себя на больших объёмах и сложных запросах, но требует своей калибровки: shared_buffers, рабочая память на операцию, автовакуум и параметры планировщика. Из коробки PostgreSQL настроен консервативно и без тюнинга часто работает медленнее, чем мог бы.
Выбор и настройка СУБД — это не вопрос моды, а вопрос профиля нагрузки. На аудите мы смотрим, как устроены ваши запросы, насколько велик каталог и какие операции преобладают, и под это калибруем базу. Если проект переходит на PostgreSQL, мы настраиваем её под Битрикс с нуля, а не оставляем дефолт. Настройка базы тесно связана с конфигурацией веб-сервера: грамотная настройка Nginx и Apache для Битрикс снимает часть нагрузки ещё до того, как запрос дойдёт до PHP и базы.
Медленные запросы — главный источник тормозов
Если выделить одну вещь, которая чаще всего валит производительность Битрикса, это тяжёлые запросы к базе. Один плохо написанный или неиндексированный запрос в популярном разделе каталога способен в одиночку нагрузить сервер так, что страдает весь сайт. Беда в том, что без лога медленных запросов эти места не видны: сервер просто медленно работает, а причина прячется.
Поэтому мы всегда включаем лог медленных запросов и снимаем профиль реальной нагрузки. Это превращает оптимизацию из гадания в инженерную работу: мы видим конкретные тяжёлые выборки, разбираем их план выполнения, добавляем индексы или переписываем запрос. Часто несколько правильных индексов снимают больше нагрузки, чем удвоение оперативной памяти. Именно поэтому тюнинг базы почти всегда выгоднее апгрейда железа.
Стабильность под нагрузкой, а не только скорость
Скорость в обычный день — это половина задачи. Вторая половина — стабильность в пики, когда на сайт одновременно приходит наплыв посетителей с акции или рассылки. Здесь решают настройки пула PHP-FPM, лимиты соединений с базой и буферы, которые не дают системе захлебнуться. Мы настраиваем эти параметры так, чтобы сервер держал кратный запас по пиковой нагрузке, а не работал на пределе в обычные дни.
Чтобы пики не превращались в сюрприз, ставим мониторинг базы и PHP с алертами по соединениям, нагрузке и медленным запросам. Так проблемы видны заранее, до того как они станут падением сайта. Если нагрузка стабильно высокая и одного сервера уже мало, следующий логичный шаг — распределение нагрузки и масштабирование, но и здесь правильно настроенные PHP и база остаются фундаментом: масштабировать плохо настроенный стек — значит просто дороже тиражировать проблему.
Когда апгрейд железа всё-таки нужен
Мы не утверждаем, что железо не имеет значения. Бывают ситуации, когда сервер объективно мал: каталог и трафик выросли в разы, база перестала помещаться в любую разумную память, а нагрузка стабильно держится у потолка даже на идеальных настройках. В этом случае апгрейд оправдан. Но честный порядок действий — сначала тюнинг, потом замеры, и только если запаса всё равно не хватает, наращивание ресурсов. Так вы не платите за лишние мощности, которые съест неоптимальная конфигурация.
На бесплатном аудите мы как раз и определяем, в чём дело: в настройках или в железе. Снимаем профиль нагрузки, смотрим конфиги и медленные запросы и прямо говорим, что даст эффект быстрее и дешевле. Если хватит тюнинга — настроим стек. Если нужен апгрейд — обоснуем, насколько и почему, чтобы решение принималось по цифрам, а не на всякий случай. Нам нет смысла продавать лишние мощности: наша ценность в том, чтобы сервер работал быстро и стабильно, а не в том, чтобы он был дорогим.
Бывает и обратная ситуация, когда сервер избыточен, а тормоза всё равно есть. Тогда мы тем более не трогаем железо, а ищем причину в конфигурации и запросах. Мощный сервер с дефолтными настройками и парой тяжёлых запросов работает медленнее скромной машины с грамотным тюнингом. Это лишний довод в пользу того, что начинать всегда нужно с настройки и замеров, а к разговору о железе переходить только тогда, когда исчерпан резерв конфигурации.
Что вы получаете по итогу
Результат работы — это не просто строчки в конфигах, а предсказуемый, быстрый и стабильный сервер под Битрикс. Страницы открываются быстро, каталог не тормозит на фильтрах, сайт держит пики акций без ошибок 502, а нагрузка на процессор и диск снижается. Вместе с настройкой вы получаете отчёт с обоснованием каждого параметра, настроенный мониторинг и регламент обслуживания базы, по которому ваша команда сможет поддерживать сервер сама.
Начать стоит с разговора и аудита. Расскажите, на чём работает сайт, как растёт база и где сейчас болит, — мы снимем профиль нагрузки, найдём узкие места и предложим состав настройки под вашу задачу. Аудит сервера бесплатный, и по его итогам вы получите честную картину: что настроить в первую очередь, какой эффект это даст и нужен ли вообще апгрейд железа.
Частые вопросы о настройке PHP, MySQL и PostgreSQL
Что входит в настройку PHP и базы данных для Битрикс? +
Это тюнинг всего стека, на котором работает сайт: пул PHP-FPM и его лимиты, кэш байт-кода OPcache, буферы и кэши базы данных, индексы и разбор медленных запросов, а также мониторинг нагрузки. Параметры подбираются под фактический профиль вашего трафика и объём каталога, а не по типовому шаблону.
Что такое OPcache простыми словами? +
OPcache — это кэш скомпилированного кода PHP. Без него Битрикс при каждом запросе заново превращает свои PHP-скрипты в машинный код и тратит на это процессор. С настроенным OPcache байт-код хранится в памяти и переиспользуется, поэтому нагрузка на процессор падает, а страницы открываются быстрее. Для Битрикса это одна из самых эффективных настроек.
Что такое PHP-FPM и зачем его тюнинговать? +
PHP-FPM — это менеджер процессов, которые обрабатывают запросы к PHP. От числа этих процессов, режима их работы и лимитов памяти зависит, сколько посетителей сервер обслужит одновременно. Если пул настроен мало, в пики запросы встают в очередь и сайт отдаёт ошибку 502. Тюнинг подбирает параметры под ваш реальный трафик с запасом на пики.
Что такое медленный запрос и почему он опасен? +
Медленный запрос — это обращение к базе, которое выполняется долго, чаще всего из-за отсутствия нужного индекса и полного сканирования таблицы. Опасен он тем, что один такой запрос в популярном разделе способен нагрузить сервер настолько, что тормозит весь сайт. Мы включаем лог медленных запросов, чтобы находить и устранять такие места по фактам.
Что такое InnoDB Buffer Pool? +
Это область оперативной памяти, в которой MySQL и MariaDB держат горячие данные и индексы базы. Если буфер маленький, база постоянно читает данные с диска, и это главный источник тормозов. Правильно подобранный под объём базы буфер позволяет частым выборкам читаться из памяти, что ускоряет сайт в разы.
Какую версию PHP лучше использовать для Битрикс? +
Стоит использовать актуальную поддерживаемую версию PHP, которую рекомендует Битрикс на момент настройки: свежие версии быстрее и безопаснее. На аудите мы проверяем совместимость вашего кода и модулей с целевой версией и при необходимости настраиваем обновление PHP вместе с тюнингом.
Как настройка OPcache влияет на скорость? +
Включённый и откалиброванный OPcache убирает повторную компиляцию PHP-скриптов, поэтому процессор перестаёт делать лишнюю работу. На тяжёлых страницах Битрикса это даёт заметное ускорение и снижение нагрузки на процессор уже после одного этого шага. Мы выделяем OPcache достаточно памяти под объём кода проекта и настраиваем частоту проверки файлов.
Сколько памяти выделять под PHP и OPcache? +
Это зависит от объёма кода проекта, числа сайтов на сервере и доступной памяти. Мы смотрим реальный объём скриптов и потребление воркеров, чтобы OPcache вмещал весь байт-код без вытеснения, а пулу PHP-FPM хватало памяти на пиковое число процессов. Лимиты подбираем с запасом, но без перерасхода.
Поможет ли тюнинг PHP, если сайт тормозит в админке? +
Да, админка Битрикса — тяжёлая часть платформы с большим объёмом кода и запросов. Настройка OPcache, лимитов памяти PHP и буферов базы заметно ускоряет работу в административной части. Если админка тормозит особенно сильно, мы дополнительно разбираем медленные запросы, которые она генерирует.
Не сломается ли сайт после смены настроек PHP? +
Нет. Мы меняем параметры по одному и проверяем работу сайта после каждого шага, а изменения держим обратимыми. Перед сменой версии PHP проверяем совместимость кода и модулей. Если что-то ведёт себя не так, откатываем настройку без последствий для продакшена.
Чем настройка MySQL отличается от MariaDB? +
MariaDB — это совместимый форк MySQL, и базовая логика тюнинга у них общая: настройка InnoDB Buffer Pool, лога транзакций, кэшей, временных таблиц и соединений. Различия есть в отдельных параметрах и движках, и мы учитываем их при настройке. Для Битрикса обе СУБД подходят, выбор обычно определяется тем, что уже стоит на сервере.
Как вы находите медленные запросы? +
Включаем лог медленных запросов и снимаем профиль реальной нагрузки за рабочий период. Затем разбираем самые тяжёлые и частые выборки, смотрим план их выполнения и определяем, где идёт полный скан таблицы или не хватает индекса. Это превращает оптимизацию из гадания в инженерную работу по фактам.
Добавление индексов точно ускорит базу? +
Правильные индексы под фактические запросы — один из самых мощных инструментов ускорения: они превращают полное сканирование таблицы в быстрое точечное обращение. Но индексы нужно подбирать аккуратно, потому что лишние замедляют запись. Мы добавляем именно те, что нужны вашим реальным выборкам, и проверяем эффект замерами.
Нужно ли что-то делать с базой регулярно? +
Да, база требует обслуживания: контроль роста, проверка медленных запросов, актуальность индексов, очистка и резервное копирование. Мы отдаём регламент, по которому ваша команда поддерживает базу сама, или берём обслуживание на себя с регулярным контролем и мониторингом.
Как быть, если база сильно выросла и тормозит? +
Рост базы сам по себе не приговор. Сначала проверяем, помещаются ли горячие данные в буфер, и при необходимости увеличиваем его. Затем разбираем тяжёлые запросы и индексы под текущий объём. Часто этого достаточно, чтобы вернуть скорость без апгрейда железа. Если объём действительно превысил разумные пределы, обоснуем наращивание ресурсов.
Поддерживает ли Битрикс PostgreSQL? +
Да, 1С-Битрикс официально работает на PostgreSQL. Эта СУБД хорошо показывает себя на больших объёмах данных и сложных запросах. Важно, что из коробки PostgreSQL настроен консервативно, поэтому под Битрикс её нужно калибровать, иначе она может работать медленнее своих возможностей.
Что именно вы настраиваете в PostgreSQL? +
Подбираем shared_buffers под объём базы и память сервера, настраиваем рабочую память на операцию, параметры автовакуума, чтобы база не распухала, и настройки планировщика запросов. Всё это калибруется под профиль ваших запросов, чтобы PostgreSQL использовал ресурсы сервера на полную, а не простаивал.
Можно ли перевести Битрикс с MySQL на PostgreSQL? +
Да, перевод возможен и иногда оправдан на больших и нагруженных проектах. Это отдельная работа: проверка совместимости, перенос данных и настройка новой СУБД под Битрикс. Мы делаем такой переход аккуратно, с тестированием и возможностью отката, и сразу настраиваем PostgreSQL под нагрузку, а не оставляем дефолт.
Что такое автовакуум и зачем его настраивать? +
Автовакуум — это фоновый процесс PostgreSQL, который убирает устаревшие версии строк и не даёт таблицам и индексам распухать. Если он настроен неправильно, база со временем замедляется и занимает лишнее место. Мы калибруем автовакуум под характер нагрузки, чтобы он успевал обслуживать активные таблицы, не мешая работе.
PostgreSQL быстрее MySQL для Битрикс? +
Однозначного ответа нет: всё зависит от профиля нагрузки и объёма данных. На больших каталогах и сложных запросах правильно настроенный PostgreSQL может выигрывать, на типовых задачах разница невелика. Главное не сама СУБД, а её калибровка под проект. На аудите мы смотрим ваши запросы и говорим, что выгоднее именно в вашем случае.
Почему сайт падает с ошибкой 502 в пики? +
Ошибка 502 в пики почти всегда означает, что пул PHP-FPM или соединения с базой закончились под наплывом посетителей. Запросы встают в очередь, и сервер перестаёт отвечать. Мы перенастраиваем пул и лимиты соединений с запасом на пиковую нагрузку и добавляем мониторинг, чтобы такие пики не валили сайт.
Какой мониторинг вы ставите? +
Ставим мониторинг ключевых метрик базы и PHP: число соединений, нагрузка на процессор и диск, медленные запросы, использование буферов и пула воркеров. Настраиваем алерты по пороговым значениям, чтобы команда видела приближение проблемы заранее, а не узнавала о ней по упавшему сайту.
Как вы готовите сервер к акции или рассылке? +
Перед прогнозируемым пиком проверяем запас по пулу PHP-FPM и соединениям с базой, прогоняем нагрузочный тест и при необходимости временно усиливаем параметры. Так сервер встречает наплыв посетителей с запасом, а не на пределе. Мониторинг при этом показывает реальную картину в момент пика.
Что значит стабильность базы под нагрузкой? +
Это способность базы держать пиковый поток запросов без замедления, ошибок соединений и сбоев. Достигается она запасом по буферам и соединениям, отсутствием тяжёлых неоптимизированных запросов и настроенным мониторингом. Мы настраиваем эти параметры так, чтобы база работала ровно и в обычный день, и в пик.
Тюнинг или апгрейд железа — что выбрать? +
Честный порядок такой: сначала тюнинг, потом замеры, и только если запаса всё равно не хватает — апгрейд. В большинстве случаев тормоза Битрикса вызваны настройками, а не нехваткой ресурсов, и грамотная настройка возвращает серверу его реальную мощность. На бесплатном аудите мы определяем, в чём именно дело, и обосновываем решение цифрами.
Сколько стоит настройка PHP и базы данных? +
Базовый тюнинг PHP-FPM, OPcache и параметров базы обычно начинается от 25 000 рублей, глубокая оптимизация базы с разбором запросов — от 55 000, настройка PostgreSQL и проектирование под нагрузку — от 110 000. Точная сумма зависит от объёма базы, числа медленных запросов и нужной СУБД. Смету присылаем после бесплатного аудита.
Как быстро будет виден результат? +
Первый эффект от базового тюнинга PHP-FPM и OPcache виден уже в первые дни. Глубокая оптимизация буферов, индексов и тяжёлых запросов занимает несколько дней, настройка или перевод на PostgreSQL — дольше. Точные сроки уточняем после аудита и фиксируем до старта.
Будете ли вы работать на боевом сервере? +
Да, чаще всего настройка идёт на боевом сервере, но безопасно: меняем параметры по одному, держим изменения обратимыми, а тяжёлые работы по базе проводим в окно с минимальным трафиком. При желании сначала отрабатываем изменения на копии и переносим проверенную конфигурацию.
Что я получу по итогу работ? +
Настроенный под нагрузку сервер, отчёт с конфигами и обоснованием каждого параметра, настроенный мониторинг и регламент обслуживания базы. По этому регламенту ваша команда сможет поддерживать сервер сама, либо мы возьмём обслуживание на себя.
Даёте ли вы гарантию на результат? +
Мы фиксируем точку отсчёта замерами до работ и показываем эффект цифрами после. Если по согласованным метрикам результат не достигнут, разбираемся и дорабатываем в рамках задачи. Поскольку мы меняем настройки по фактам, а не вслепую, результат предсказуем и подтверждается данными.
Настроим ваш сервер под Битрикс?
Расскажите, на чём работает сайт и где сейчас тормозит — снимем профиль нагрузки, найдём узкие места и пришлём смету на настройку в течение рабочего дня.
- Ответим в течение рабочего дня
- Бесплатный аудит процессов и расчёт
- NDA и фиксированная смета