Ежедневно в нашу «поддержку» для пользователей поступают претензии на заторможенность загрузки. При анализе жалоб, установлено, что в 90% случаев на это влияют: слабый хостинг, неправильная конфигурация и настройки платформы 1С – Битрикс. Предлагаем следующее решение этой проблемы.
1. Оцените производительность
Модуль «Монитор производительности» 1С-Битрикс сможет проверить производительность сайта и сопоставить итоги с эталонными показателями. Он покажет на слабые места, а именно: сайт, CMS, конфигурация, низкокачественная разработка или хостинг. Вы сможете развернуть ваш сайт или «чистый» 1С-Битрикс на различных площадках и сопоставить эти цифры.Все что надо знать о показателях производительности:
- если менее 30 пунктов, то позабудьте про результативность и резвую загрузку страниц, оценки - «очень быстро» вам не видать, тормозить будет всё;
- если от 30 до 60 пунктов, то это приемлемо для малых проектов (корпоративные сайты или интернет - магазины с малым числом товаров, низким количеством SKU и параметров в умном фильтре);
- если от 60 до 100 пунктов, то конфигурация сервера терпима, но не окончательна; она подходит для большинства проектов; сайт функционировать будет, но не так уж быстро;
- если от 100 пунктов, то вы – умники, смогли найти правильную хостинг площадку, «админка» «носится» как угорелая, значительные объемы данных из 1С выгружаются на ура, страницы отзываются быстро; вы безмятежно спите и даже не раздумываете жаловаться в «техподдерожку» на проблемы с загрузкой сайта и ни разу не замечали таких ошибок - Request timeout или 502 Bad Gateway;
- если 200 и больше, это совершенно;

Как протестировать сайт:
Перейдите в панель производительности: Настройки → Производительность → Панель производительности. Нажмите кнопку «Тестирование производительности» и подождите несколько минут.
2. Перекиньтесь на седьмую версию PHP
В декабре 2015 года появилась седьмая версия PHP. Она создана с акцентом на рост производительности и снижения потребления памяти. Тесты это доказательно представляют. Рост производительности после перехода на новое ядро имеет от 40% и более.
Работать на устаревших версиях PHP — разрушать жизнь пользователю и делать этот интернет непривлекательным. Если ваш хостинг не поддерживает седьмую PHP, поменяйте его (например, на этот, с дармовым переносом). Если ваш сайт не поддерживает седьмую версию PHP, спешно поправляйтесь. А еще оптимальнее применяйте решения с поддержкой седьмой версии PHP — например, от Аспро.
3. Настройте кеширование
Применять композит и авто композит — это хорошо и верно. Но попросту подключить их, это полдела. Чтобы приобрести ощутимый рост в скорости, необходимо осторожно задать время жизни кеша в зависимости от частоты подновления данных на сайте и посещаемости.Как не нужно:
- Сохранять настройки по умолчанию (120 секунд).
Причина: новый посетитель заглядывает на страницу товара. Складывается кеш. Следующий посетитель забегает на сайт уже спустя час. Кеш надо вырабатывать снова — его время вышло. Итого, кеш генерируется всякий раз при раскрытии страницы. Роста производительности и стремительности не просто нет — она даже понижается.
- Не соотносить время существования кеша с частотой обновления данных на сайте и посещаемости сайта.
- Устанавливать для некоторых разделов (новости, статьи) большее время кеширования.
- Цены на сайте обновляются вручную несколько раз в неделю.
Устанавливаем время кеширования: не менее 172800 секунд (2 суток).
- Цены на сайте обновляются один раз в день, выгрузка из 1С или другой системы складского учета совершается ночью.
Устанавливается время кеширования: 86400 секунд (1 сутки).
- Редко, но бывает: цены обновляются через реал-тайм обмен с 1С и бывает, что несколько раз в течение дня.
Устанавливается время кеширования: 7200 секунд (2 часа).
4. Постройте фасетные индексы для умного фильтра
Фасетные индексы убыстряют работу умного фильтра. Как правило, умному фильтру надобно перебрать все товары каталога и сопоставить их свойства с заданными параметрами. Если товаров немало, такой процесс может занять некоторое время. Фасета же заранее просчитывает и прикидывает варианты запросов, сохраняет их в системе и выдает по запросу.
На словах все прекрасно, на деле — не очень: фасеты нечасто создают и применяют. Попытайтесь это сделать и сопоставьте скорость загрузки результатов фильтрации. Инструкция в нашей документации. Инструкция в нашей документации
5. Проанализируйте и образуйте индексы в базе данных
Индексы анализируются и строятся здесь: Настройки → Производительность → Индексы → Анализ индексов.
Надавите на кнопку «Выполнить анализ собранных SQL запросов». Если возникшие индикаторы зеленые, все в порядке - индексы основаны. Если индикаторы желтые, создайте их самостоятельно. Инструкция в мануалах 1С-Битрикс Инструкция в мануалах 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.