Как ускорить сайт на 1С Битрикс
8 способов увеличить производительность сайта на 1С-Битрикс
Что будет, если нагрузить фуру и старую клячу грузом в 1 тонну? Правильно: первый поедет на максимальной скорости, а вторая не сможет сдвинуться с места. Так и сайты: у каждого из них свои требования к хостингу, конфигурации, настройкам платформы 1С-Битрикс.
Каждую неделю в нашу поддержку приходят жалобы на низкую скорость загрузки. В 99,9% случаев оказывается, что проблема кроется в слабеньком хостинге и неправильных настройках. Рассказываем, что делать, если сайт или интернет-магазин тормозит, и как правильно произвести диагностику и самостоятельно увеличить производительность — так, чтобы летал.
1. Оцените производительность
Модуль «Монитор производительности» 1С-Битрикс позволит протестировать производительность сайта и сравнить результаты с эталонными показателями. Он укажет на слабые места: сайт, CMS, конфигурация, некачественная разработка или хостинг. Вы можете развернуть ваш сайт или «чистый» 1С-Битрикс на разных площадках и сравнить эти цифры.
Что нужно знать о показателях производительности:
- меньше 30 пунктов – забудьте про производительность и быструю загрузку страниц. Показателя «Очень быстро» вам не видать. Тормозить будет все!
- от 30 до 60 – подойдет для небольших проектов (корпоративные сайты или интернет магазины с небольшим количеством товаров, небольшим количеством SKU и параметров в умном фильтре)
- от 60 до 100 — конфигурация сервера приемлема, но не оптимальна. Подойдет для большинства проектов. Сайт работать будет, но не на сверхскоростях.
- от 100 – вы молодцы: не поленились выбрать нормальную хостинг площадку! Админка летает, большие объемы данных из 1С выгружаются на ура, страницы отдаются быстро. Вы спите спокойно и даже не думаете писать в техподдерожку с жалобами на проблемы с загрузкой сайта, ни разу не видели ошибок Request timeout или 502 Bad Gateway.
- 200 и выше – идеально!
Оценка производительности. Результаты испытания демо-стенда (тариф RED.Site-3, хостинг RedDock). Решение – универсальный интернет-магазин Аспро: Оптимус
Как протестировать сайт
Перейдите в панель производительности: Настройки → Производительность → Панель производительности. Нажмите кнопку «Тестирование производительности» и подождите несколько минут.
2. Перейдите на PHP7
3 декабря 2015 года вышла седьмая версия PHP. Она разрабатывалась с упором на увеличение производительности и уменьшение потребления памяти. Тесты это убедительно показывают ( пример 1 , пример 2 ) — прирост производительности после перехода на новое ядро составляет от 40%!
Сидеть на старых версиях PHP — осложнять жизнь пользователю и делать этот интернет хуже. Если ваш хостинг не поддерживает PHP7, меняйте его (например, на этот с бесплатным переносом). Если ваш сайт не поддерживает PHP7, срочно исправляйтесь. А еще лучше, используйте решения с поддержкой PHP7 — например, от Аспро.
3. Настройте кеширование
Использовать композит и автокомпозит — это хорошо и правильно. Но просто включить их — полдела. Чтобы получить ощутимый прирост в скорости, нужно корректно задать время жизни кеша в зависимости от частоты обновления данных на сайте и посещаемости.
Как не надо:
- Оставлять настройки по умолчанию (120 секунд).
Почему: первый посетитель заходит на страницу товара. Формируется кеш. Второй посетитель заходит на сайт через час. Кеш нужно формировать заново — его время истекло. В итоге кеш генерируется каждый раз при открытии страницы. Прироста производительности и скорости не просто нет — она даже снижается. - Не соотносить время жизни кеша с частотой обновления данных на сайте и посещаемости сайта.
- Задавать для отдельных разделов (новости, статьи) огромное время кеширования.
Как надо — в зависимости от частоты обновления данных и посещаемости сайта:
- Цены на сайте обновляются вручную или несколько раз в неделю.
Рекомендуемое время кеширования: не менее 172800 секунд (2 суток). - Цены на сайте обновляются один раз в день, выгрузка из 1С или другой системы складского учета происходит ночью.
Рекомендуемое время кеширования: 86400 секунд (1 сутки). - Нечасто, но бывает: цены обновляются через реал-тайм обмен с 1С и бывает, что несколько раз в течение дня.
Рекомендуемое время кеширования: 7200 секунд (2 часа).
4. Создайте фасетные индексы для умного фильтра
Фасетные индексы ускоряют работу умного фильтра. Обычно умному фильтру нужно перебрать все товары каталога и сравнить их свойства с заданными параметрами. Если товаров много, такой процесс может занять определенное время. Фасета же заранее просчитывает и составляет варианты запросов, сохраняет в системе и выдает по запросу.
На словах все здорово, на деле — не очень: фасеты редко создают и используют. Попробуйте это сделать и сравните скорость загрузки результатов фильтрации. Инструкция в нашей документации
5. Проанализируйте и создайте индексы в базе данных
Индексы анализируются и создаются здесь: Настройки → Производительность → Индексы → Анализ индексов.
Нажмите на кнопку «Выполнить анализ собранных SQL запросов». Если появившиеся индикаторы зеленые, все в порядке: индексы созданы. Если индикаторы желтые, создайте их самостоятельно. Инструкция в мануалах 1С-Битрикс
6. Отключите неиспользуемые модули
При инциализации ядра 1С-Битрикс подключается большой список модулей. Они отнимают ресурсы, но при этом не нужны для полноценной работы сайта. Отключаем лишние модули — получаем прирост производительности. Перед тем, как это делать, обязательно сделайте резервную копию сайта.
Какие модули используются редко и их можно отключить без последствий для работы сайта:
- AD/LDAP интеграция (ldap)
- Push and Pull (pull)
- Wiki (wiki)
- А/B-тестирование (abtest)
- Веб-аналитика (statistic)
- Веб-кластер (cluster)
- Веб-мессенджер (im)
- Веб-сервисы (webservice)
- Дизайнер бизнес-процессов (bizprocdesigner)
- Документооборот (workflow)
- Календарь событий (calendar)
- Конструктор отчетов (report)
- Менеджер идей (idea)
- Мобильная платформа (mobileapp) – если не подключено мобильное приложение
- Мобильное приложение для интернет-магазина (eshopapp) – если не подключено мобильное приложение
- Обучение (learning)
- Перевод (translate)
- Почта (mail)
- Техподдержка (support)
- Универсальные списки (lists)
- Управление масштабированием (scale).
Как это сделать: перейдите в настройки модулей Рабочий стол → Настройки → Настройки продукта → Модули и отключите лишние. Инструкция в базе знаний
7. Настройте CDN
Еще одна неоднозначная вещь, которая может как разогнать сайт, так и заставить его хорошенько притормозить. Что это такое?
Теория:
«Модуль Ускорение сайта (CDN), который позволяет загружать весь статический контент вашего сайта (картинки, файлы стилей css, скрипты js) через сеть дистрибуции контента ( Content Delivery Network или Content Distribution Network, CDN ). Тем самым значительная часть ресурсов сайта загружается посетителем с ближайшего к нему сервера. Это позволяет увеличить скорость загрузки страниц до нескольких раз.
Также подключение CDN снижает нагрузку на основные серверы сайта. Так как весь статический контент загружается посетителями вашего сайта не напрямую с ваших серверов, а с узлов CDN, которые умеют очень эффективно кэшировать контент, снижается количество обращений непосредственно к вашим серверам» ( отсюда )
Настраивается CDN здесь: Настройки → Облако 1С-Битрикс → Ускорение сайта (CDN).
Практика
Не все так однозначно: для кого-то включенный CDN дает реальный прирост производительности, а у кого-то, напротив, снижает скорость загрузки сайта. Выход один: тестировать и замерять результаты.
8. Включите объединение и сжатие CSS и JS-файлов
В настройках главного модуля сайта есть волшебный блок, который позволяют улучшить показатели скорости загрузки сайта. Называется он “Оптимизация CSS”. Отмечайте галочками все, сохраняйте изменения и тестируйте скорость загрузки страниц.
Как ускорить сайт на Битрикс?
Как ускорить сайт на Битрикс?
9 эффективных способов
Скорость открытия страниц ресурса напрямую влияет на прибыль. Медленная загрузка негативно сказывается на индексации сайта, а также на поведении нового пользователя: вряд ли посетитель будет долго ждать, пока загрузится нужный раздел – проще перейти к конкурентам. Особенно критичен данный момент, когда люди переходят с платных каналов (баннеры, контекстная реклама) на целевые страницы (карточка товара, цены, услуги, форма заказа и т.д.).
В большинстве случаев, вопрос, как ускорить Битрикс, относится к слабому хостингу и неверным настройкам. Потому наши советы будут относиться к самостоятельной диагностике и методам устранения неполадок в админке.
Прежде всего, оцените производительность сайта при помощи встроенного модуля «Монитор производительности» и сравните с эталонными показателями. Анализ выявит слабые места, из-за которых падает скорость загрузки. Это может быть как сам сайт, так и CMS, хостинг, конфигурация или проблемы кода. Параметр варьируется от 30 до 200: чем выше – тем качественнее во всех отношениях ваша площадка.
Чтобы протестировать производительность, следует перейти в настройки CMS, выбрать соответствующий пункт, далее – панель производительности, нажать на «Тестирование» и подождать несколько минут.
Седьмая версия PHP вышла ещё в конце 2015 года. Упор в разработке создатели сделали на повышение производительности с параллельным снижением потребления памяти. Результат оказался высоким: с переходом на новую версию производительность повышается минимум на 40%. Потому если вы планируете заказать создание сайта на Битрикс, сразу уточняйте, на каком ядре будет создан сайт.
Если у вас уже есть сайт, где PHP7 не поддерживается – исправляйте ситуацию обращением к новым более «современным» разработчикам. Если хостинг не поддерживает последнюю версию, провайдера всегда можно сменить, зачастую даже с бесплатным переносом ресурса.
«Секрет» заключается в постоянном сбрасывании и обновлении кэша, а также в сохранении только нужных данных. К этому же пункту относится усовершенствованная версия html-кэширования, разработанная Битрикс – «композитный сайт». Технология позволяет сохранить на сервере «статические данные» – неизменные данные и слои сайта. То есть большую часть информации браузер берёт из кэша, и HTML-загрузка занимает минимум времени.
В кэш не загружаются только данные о пользователе, которые меняются, и информация, которая часто обновляется. Такие «динамические данные» загружаются в фоновом режиме.
Технология очень полезная при грамотной настройке кэша. Чтобы заметно повысить скорость загрузки страниц, важно правильно задать время жизни кэшированных данных в зависимости от числа посетителей и того, как часто на сайт добавляют новые данные. Особенности:
- Не оставляйте настройки по умолчанию (120 секунд) – адаптируйтесь под актуальную посещаемость. Если после первого посетителя и сформированного после него кэша второй зашёл на ту же страницу лишь через час, кэш формируется заново, так как его время закончилось. То есть каждый раз, когда кто-то переходит в определённый раздел, кэш формируется заново. О приросте скорости загрузки и производительности не может быть и речи.
- Не задавайте для определённых разделов (к примеру, статьи и новости) большое время кэширования.
- Если вы обновляете цены на сайте вручную либо 2-3 раза в неделю, задавайте время не менее двух суток. Если раз в день – не меньше суток. Если обновление в режиме реального времени за счёт обмена с 1С – устанавливайте время кэширования два часа.
Для встроенного в CMS умного фильтра Битрикса важно создать фасетные индексы, которые ускоряют работу системы. Зачем это нужно? Умный фильтр перебирает товары в каталоге и сравнивает с определёнными параметрами. Есть продуктов много, процесс может затянуться. Фасета заранее просчитывает варианты анализа и выдаёт при необходимости. Как ни странно, фасеты редко создают, хотя при обширном ассортименте товаров они обеспечивают частичный ответ на вопрос, как ускорить Битрикс.
Зайдите в Настройки, выберите «Производительность», затем «Индексы», а после – «Анализ индексов». Нажмите на «Выполнить анализ собранных SQL запросов». Зелёный индикатор говорит о том, что индексы созданы, жёлтый обязывает их создать. Подробная инструкция есть в мануале платформы, при необходимости на все вопросы ответит техническая поддержка.
При активации 1С-Битрикс автоматически запускается ряд модулей, которые не всегда нужны для конкретного сайта, но при этом отнимают у системы ресурсы. Если вы решили заказать создание сайта на Битрикс у специалистов, которые не первый год работают с платформой – опытные разработчики перед запуском настроят CMS так, чтобы активными оставались только важные конкретно для вашего ресурса модули.
В противном случае, если вы всё настраивали самостоятельно или вам помогал частично понимающий в теме знакомый, лишние модули можно отключить самостоятельно, предварительно создав резервную копию сайта. Чтобы выполнить операцию, перейдите по цепочке Рабочий стол – Настройки – Настройки продукта – Модули. Чтобы узнать, какие модули можно отключить без потери функциональных возможностей и с приростом производительности – обратитесь к базе знаний Битрикс или специалистам технической поддержки.
Загружает статическую информацию (файлы стилей css, картинки и т.д.) через Content Distribution Network (сеть дистрибуции контента). Таким образом, весомая часть данных подгружается с ближайшего к пользователю сервера. Итог – повышение скорости загрузки в несколько раз, а также снижение нагрузки на основные серверы. Но встречаются случаи, когда CDN, наоборот, замедляет работу ресурса. Нужно тестировать и анализировать результаты. Чтобы включить модуль, перейдите в настройках в «Облако 1С-Битрикс», а после выберите «Ускорение сайта».
В настройках есть блок «Оптимизация CSS», где нужно отметить галочками все пункты, сохранить и протестировать скорость загрузки страниц.
Оценка – по следующим параметрам:
- Тип сервера. Виртуальный хостинг или VPS (virtual private server). В первом случае один сервер разделён между разными IP-адресами. Во втором имеется физический сервер, который разделён на несколько виртуальных, с собственными ОС и параметрами перезагрузки. VPS в целом лучше, но стоимость выше и настройки сложнее. Зато взамен – стабильность работы, возможность контролировать все процессы, настраивать ОС так, как нужно для вашего ресурса..
- Версия ПО. Мы уже говорили о том, что версия PHP желательна седьмая, а MySQL – не ниже пятой. Чтобы оптимизировать PHP-код, лучше всего применять расширение opcache, а чтобы отлаживать PHP-скрипты – XDebug. .
- Мониторинг работы. Иногда сайт перестаёт отвечать, если дисковая подсистема сервера достигла своего предела. Чтобы исключить потенциальную проблему, нужно отслеживать работу и загрузку дисковой подсистемы, CPU, а также пропускную способность сетевого интерфейса.
8 способов увеличить производительность сайта на 1С-Битрикс
Что будет, если нагрузить фуру и старую клячу грузом в 1 тонну? Правильно: первый поедет на максимальной скорости, а вторая не сможет сдвинуться с места. Так и сайты: у каждого из них свои требования к хостингу, конфигурации, настройкам платформы 1С-Битрикс.
Каждую неделю в нашу поддержку приходят жалобы на низкую скорость загрузки. В 99,9% случаев оказывается, что проблема кроется в слабеньком хостинге и неправильных настройках. Рассказываем, что делать, если сайт или интернет-магазин тормозит, и как правильно произвести диагностику и самостоятельно увеличить производительность — так, чтобы летал.
1. Оцените производительность
Модуль «Монитор производительности» 1С-Битрикс позволит протестировать производительность сайта и сравнить результаты с эталонными показателями. Он укажет на слабые места: сайт, CMS, конфигурация, некачественная разработка или хостинг. Вы можете развернуть ваш сайт или «чистый» 1С-Битрикс на разных площадках и сравнить эти цифры.
Что нужно знать о показателях производительности:
- меньше 30 пунктов – забудьте про производительность и быструю загрузку страниц. Показателя «Очень быстро» вам не видать. Тормозить будет все!
- от 30 до 60 – подойдет для небольших проектов (корпоративные сайты или интернет магазины с небольшим количеством товаров, небольшим количеством SKU и параметров в умном фильтре)
- от 60 до 100 — конфигурация сервера приемлема, но не оптимальна. Подойдет для большинства проектов. Сайт работать будет, но не на сверхскоростях.
- от 100 – вы молодцы: не поленились выбрать нормальную хостинг площадку! Админка летает, большие объемы данных из 1С выгружаются на ура, страницы отдаются быстро. Вы спите спокойно и даже не думаете писать в техподдерожку с жалобами на проблемы с загрузкой сайта, ни разу не видели ошибок Request timeout или 502 Bad Gateway.
- 200 и выше – идеально!
Оценка производительности. Результаты испытания демо-стенда (тариф RED.Site-3, хостинг RedDock). Решение – универсальный интернет-магазин Аспро: Оптимус
Как протестировать сайт
Перейдите в панель производительности: Настройки → Производительность → Панель производительности. Нажмите кнопку «Тестирование производительности» и подождите несколько минут.
2. Перейдите на PHP7
3 декабря 2015 года вышла седьмая версия PHP. Она разрабатывалась с упором на увеличение производительности и уменьшение потребления памяти. Тесты это убедительно показывают (пример 1, пример 2) — прирост производительности после перехода на новое ядро составляет от 40%!
Сидеть на старых версиях PHP — осложнять жизнь пользователю и делать этот интернет хуже. Если ваш хостинг не поддерживает PHP7, меняйте его (например, на этот с бесплатным переносом). Если ваш сайт не поддерживает PHP7, срочно исправляйтесь. А еще лучше, используйте решения с поддержкой PHP7 — например, от Аспро.
3. Настройте кеширование
Использовать композит и автокомпозит — это хорошо и правильно. Но просто включить их — полдела. Чтобы получить ощутимый прирост в скорости, нужно корректно задать время жизни кеша в зависимости от частоты обновления данных на сайте и посещаемости.
Как не надо:
- Оставлять настройки по умолчанию (120 секунд).
Почему: первый посетитель заходит на страницу товара. Формируется кеш. Второй посетитель заходит на сайт через час. Кеш нужно формировать заново — его время истекло. В итоге кеш генерируется каждый раз при открытии страницы. Прироста производительности и скорости не просто нет — она даже снижается.
Не соотносить время жизни кеша с частотой обновления данных на сайте и посещаемости сайта.
Задавать для отдельных разделов (новости, статьи) огромное время кеширования.
Как надо — в зависимости от частоты обновления данных и посещаемости сайта:
- Цены на сайте обновляются вручную или несколько раз в неделю.
Рекомендуемое время кеширования: не менее 172800 секунд (2 суток).
Цены на сайте обновляются один раз в день, выгрузка из 1С или другой системы складского учета происходит ночью.
Рекомендуемое время кеширования: 86400 секунд (1 сутки).
Рекомендуемое время кеширования: 7200 секунд (2 часа).
4. Создайте фасетные индексы для умного фильтра
Фасетные индексы ускоряют работу умного фильтра. Обычно умному фильтру нужно перебрать все товары каталога и сравнить их свойства с заданными параметрами. Если товаров много, такой процесс может занять определенное время. Фасета же заранее просчитывает и составляет варианты запросов, сохраняет в системе и выдает по запросу.
На словах все здорово, на деле — не очень: фасеты редко создают и используют. Попробуйте это сделать и сравните скорость загрузки результатов фильтрации. Инструкция в нашей документации
5. Проанализируйте и создайте индексы в базе данных
Индексы анализируются и создаются здесь: Настройки → Производительность → Индексы → Анализ индексов.
Нажмите на кнопку «Выполнить анализ собранных SQL запросов». Если появившиеся индикаторы зеленые, все в порядке: индексы созданы. Если индикаторы желтые, создайте их самостоятельно. Инструкция в мануалах 1С-Битрикс
6. Отключите неиспользуемые модули
При инциализации ядра 1С-Битрикс подключается большой список модулей. Они отнимают ресурсы, но при этом не нужны для полноценной работы сайта. Отключаем лишние модули — получаем прирост производительности. Перед тем, как это делать, обязательно сделайте резервную копию сайта.
Какие модули используются редко и их можно отключить без последствий для работы сайта:
- AD/LDAP интеграция (ldap)
- Push and Pull (pull)
- Wiki (wiki)
- А/B-тестирование (abtest)
- Веб-аналитика (statistic)
- Веб-кластер (cluster)
- Веб-мессенджер (im)
- Веб-сервисы (webservice)
- Дизайнер бизнес-процессов (bizprocdesigner)
- Документооборот (workflow)
- Календарь событий (calendar)
- Конструктор отчетов (report)
- Менеджер идей (idea)
- Мобильная платформа (mobileapp) – если не подключено мобильное приложение
- Мобильное приложение для интернет-магазина (eshopapp) – если не подключено мобильное приложение
- Обучение (learning)
- Перевод (translate)
- Почта (mail)
- Техподдержка (support)
- Универсальные списки (lists)
- Управление масштабированием (scale).
Как это сделать: перейдите в настройки модулей Рабочий стол → Настройки → Настройки продукта → Модули и отключите лишние. Инструкция в базе знаний
7. Настройте CDN
Еще одна неоднозначная вещь, которая может как разогнать сайт, так и заставить его хорошенько притормозить. Что это такое?
«Модуль Ускорение сайта (CDN), который позволяет загружать весь статический контент вашего сайта (картинки, файлы стилей css, скрипты js) через сеть дистрибуции контента (Content Delivery Network или Content Distribution Network, CDN). Тем самым значительная часть ресурсов сайта загружается посетителем с ближайшего к нему сервера. Это позволяет увеличить скорость загрузки страниц до нескольких раз.
Также подключение CDN снижает нагрузку на основные серверы сайта. Так как весь статический контент загружается посетителями вашего сайта не напрямую с ваших серверов, а с узлов CDN, которые умеют очень эффективно кэшировать контент, снижается количество обращений непосредственно к вашим серверам» (отсюда)
Настраивается CDN здесь: Настройки → Облако 1С-Битрикс → Ускорение сайта (CDN).
Не все так однозначно: для кого-то включенный CDN дает реальный прирост производительности, а у кого-то, напротив, снижает скорость загрузки сайта. Выход один: тестировать и замерять результаты.
8. Включите объединение и сжатие CSS и JS-файлов
В настройках главного модуля сайта есть волшебный блок, который позволяют улучшить показатели скорости загрузки сайта. Называется он “Оптимизация CSS”. Отмечайте галочками все, сохраняйте изменения и тестируйте скорость загрузки страниц.
Как это все работает в деталях, читайте в нашей базе знаний. А оценить в количественных и качественных характеристиках эти «до» и «после» поможет старый добрый Google PageSpeed Insights.
Источники:
https://marketplace.1c-bitrix.ru/blog/8-ways-to-increase-the-performance-of-your-site-on-1cbitrix/
https://www.imedia24.ru/blogs/kak-uskorit-sayt-na-bitriks/
https://aspro.ru/company/news/1234/