15
н
2016
ускоряем в 2 раза за 20 минут
По ссылке - сразу выводы (для тех, кто спешит). Для остальных - подробности.
Итак, когда мы проводим аудит производительности сайта на Битриксе, то, как правило, появляется достаточно большой список рекомендаций. Если действовать согласно матрице Эйзенхауэра, то сначала нужно реализовать наименее трудоемкие и дающие максимальный эффект. Правильно? И вот это точно не программирование, а зачастую - хостинг, настройки хостинга, настройки Битрикса. Отладка производительности путем оптимизации кода достаточно трудоемка, как правило. И это при том, что Битрикс содержит замечательные инструменты для этого.
А что с хостингом? Либо просто меняем - и иногда этого достаточно (как в кейсе с digacompany.ru), либо меняем его настройки. Вот, например, компания Badoo сэкономила на закупке новых серверов около 1-го миллиона $, перейдя на новую версию php - php 7 У вас, возможно, не Badoo, но скорость сайту не помешает.
Итак, когда мы проводим аудит производительности сайта на Битриксе, то, как правило, появляется достаточно большой список рекомендаций. Если действовать согласно матрице Эйзенхауэра, то сначала нужно реализовать наименее трудоемкие и дающие максимальный эффект. Правильно? И вот это точно не программирование, а зачастую - хостинг, настройки хостинга, настройки Битрикса. Отладка производительности путем оптимизации кода достаточно трудоемка, как правило. И это при том, что Битрикс содержит замечательные инструменты для этого.
А что с хостингом? Либо просто меняем - и иногда этого достаточно (как в кейсе с digacompany.ru), либо меняем его настройки. Вот, например, компания Badoo сэкономила на закупке новых серверов около 1-го миллиона $, перейдя на новую версию php - php 7 У вас, возможно, не Badoo, но скорость сайту не помешает.
Отступление. Тест не претендует на абсолютную точность и в нем не учтено множество факторов. И не факт, что у вас будут такие же результаты. Однако, общая тенденция видна, что и требовалось.
Конечно, в процессе есть подводные камни, но новые редакции Битрикса готовы к переходу, нормальный хостинг для Битрикс предоставляет такую возможность. Попробуем?
Ставим редакцию Бизнес на типовой тариф от Русоникса (спасибо им за предоставленную тестовую площадку):

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

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

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

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

Включение на хостинге php 7 для "чистой" редакции Бизнес позволило:Ставим редакцию Бизнес на типовой тариф от Русоникса (спасибо им за предоставленную тестовую площадку):

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

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

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

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

Выводы:
- в 1,7 раза (с 37 до 64) увеличить производительность сайта по замерам внутреннего инструмента Битрикса
- увеличить нагрузочную способность примерно с 45 до 80 страниц в секунду
- сократить время отдачи страницы с 3,6 до 1,6 сек под максимальной нагрузкой
- вы можете меньше денег тратить на хостинг - или взять тариф подешевле, или иметь запас производительности на случай наплыва клиентов во время акций
- ваш сайт отдается быстрее и поисковики ранжируют его выше
- пользователям не нужно ждать загрузки страниц - растет конверсия
А пока наша рекомендация: если у вас Битрикс последней версии и хостинг позволяет - переходите на 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',