Ускоряем Битрикс и экономим миллион

ускоряем в 2 раза за 20 минут

По ссылке - сразу выводы (для тех, кто спешит). Для остальных - подробности.

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

А что с хостингом? Либо просто меняем - и иногда этого достаточно (как в кейсе с digacompany.ru), либо меняем его настройки. Вот, например, компания Badoo сэкономила на закупке новых серверов около 1-го миллиона $, перейдя на новую версию php - php 7 У вас, возможно, не Badoo, но скорость сайту не помешает.

Отступление. Тест не претендует на абсолютную точность и в нем не учтено множество факторов. И не факт, что у вас будут такие же результаты. Однако, общая тенденция видна, что и требовалось.
Конечно, в процессе есть подводные камни, но новые редакции Битрикса готовы к переходу, нормальный хостинг для Битрикс предоставляет такую возможность. Попробуем?

Ставим редакцию Бизнес на типовой тариф от Русоникса (спасибо им за предоставленную тестовую площадку):



Что видим? Старая версия php. Отмечу, что в строке Рекомендации - пусто. Это означает, что хостинг настроен оптимально с точки зрения Битрикса. Идем дальше, запускаем тест производительности:



 Что видим? Производительность на уровне, чуть выше эталона. Вроде неплохо, но при разработке она снизится, к тому же на этом хостинге бывали цифры и повыше. Ну да ладно, за точку отсчета - пойдет. Теперь переключаемся на php7

Сначала вылезли ошибки, связанные со сменой типа подключения базы данных, после изменения стандартных настроек открываем сайт:



Тестируем производительность:



Чудненько!  Как видим, по дисковым (файловым) операциям все осталось на прежнем уровне, а вот скорость процессора и отзывчивость выросли настолько, что общая производительность возросла в два раза. 

Тут можно было бы уже подвести итоги, но давайте посмотрим еще один момент - поведение сайта под нагрузкой:



Выводы:

Включение на хостинге php 7 для "чистой" редакции Бизнес позволило:
  1. в 1,7 раза (с 37 до 64) увеличить производительность сайта по замерам внутреннего инструмента Битрикса
  2. увеличить нагрузочную способность примерно с 45 до 80 страниц в секунду
  3. сократить время отдачи страницы с 3,6 до 1,6 сек под максимальной нагрузкой
Что это означает для бизнеса?
  1. вы можете меньше денег тратить на хостинг - или взять тариф подешевле, или иметь запас производительности на случай наплыва клиентов во время акций
  2. ваш сайт отдается быстрее и поисковики ранжируют его выше
  3. пользователям не нужно ждать загрузки страниц - растет конверсия
Суммарный эффект оценить сложно, но мы с удовольствием подключим бесплатно несколько первых проектов, чтобы оценить изменение ранжирования и конверсии. 

А пока наша рекомендация: если у вас Битрикс последней версии и хостинг позволяет - переходите на php 7. 

PS Несколько подводных камней:

  • в системе не должно быть установлено модулей Маркетплейс в демо-режиме, иначе возникает ошибка Access to undeclared static property: COption::$GLOBALS Техподержка Битрикса знает об этом
  • переключив версию php не забудьте указать режим (FastCGI, не FPM)
  • теперь БД работает с mysli, поэтому в конфигурационных файлах прописываем:
    в dbconn.php - define("BX_USE_MYSQLI", true);
    в .settings.php - 'className' => '\\Bitrix\\Main\\DB\\MysqliConnection', 

Возврат к списку