При переносе старого или создании нового сайта может возникнуть множество проблем, которые значительно снизят его скорость и производительность. Мы подготовили несколько советов, которые расскажут вам, как ускорить сайт на Битрикс независимо от того, какой у вас сервер. 

Ускорение сайтов на Битрикс – миф или реальная возможность?

Прочитайте нашу инструкцию – и вы сможете без посторонней помощи ускорить свой сайт, если до этого его производительность не превышала 30 пунктов по метрике Битрикс. После выполнения всех советов производительность вашего сайта возрастет минимум до сотни пунктов. Таким образом, пользоваться сайтом будет значительно удобнее и вам, и пользователям, которые его посещают.

BitrixVM или индивидуальная конфигурация?

Сразу оговоримся, что мы советуем всем пользователям работать с виртуальной машиной BitrixVM, которая должна быть установлена у вас на хостинге. Этот сервер имеет полноценные предустановленные настройки, способные по максимуму оптимизировать сайт на платформе. Разработчики при его создании учли множество настроек, которые напрямую влияют на будущую производительность веб-сайта. Встроенное программное обеспечение и связка необходимых серверов имеет оптимальную настройку, которая обеспечивает высокопроизводительную работу сайтов и порталов Битрикс.

Самостоятельно сконфигурированную среду на вашем VPS-сервере лучше всего использовать на режиме Php. Эта функция есть в настройках, она также позволит повысить производительность вашего сайта. Но тут стоит учесть множество подводных камней и нюансов, которые впоследствии могут привести к привлечению специалиста для восстановления структуры веб-сайта.

В дальнейшем мы будем рассматривать ситуации с медленной работой и сниженной произвольностью сайтов, на которых установлено специализированное серверное окружение от 1C-Битрикс.

Рекомендации и советы

Итак, мы вплотную подошли к фактическому рассмотрению наших рекомендаций, которые продемонстрируют, как настроить сервер для ускорения сайта на Битрикс. Настоятельно рекомендуем прочитать и рассмотреть все предоставленные ниже пункты, так как порой необходимый параметр или действие может значительно повысить производительность.

Облегчаем ресурсы

Первое, что значительно загружает веб-сайт ­– изображения. Важно понимать, что от веса картинок зависит и скорость прогрузки. Соответственно, чем легче будут объекты, тем быстрее пользователи увидят полноценный сайт. Разработчики позаботились о своих пользователях и предоставили бесплатное решение, которое позволит оптимизировать изображения, не теряя их качество – imagecompress. Ключевая особенность этой утилиты состоит в том, что она начинает работать буквально после одного нажатия и не требует работы со сторонними сервисами. Подключайте ее в вашем webp, чтобы снизить нагрузку и увеличить трафик с поисковиков.  

Создатели сайтов зачастую не оптимизируют картинки, что может очень значительно влиять на загрузку. В качестве примера можно привести каталог интернет-магазина, где прогрузиться должно огромное количество товарных карточек, каждая из которых содержит тяжелое изображение. А утилита imagecopress сожмет его до площади плейсхолдера.

Немного о кэше и его утилите memcashed

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

В этом же пункте хочется сразу посоветовать механизм кэширования ­и немного поговорить о нем. Memcached – это система кэширование памяти, которая используется для ускорения веб-сайтов, управляемых БД, путем кэширования данных и объектов в ОЗУ. Грубо говоря, операционная система пользователя будет самостоятельно некоторое время хранить файлы и данные в своей памяти, значительно ускоряя загрузку сайта.

Это обязательный пункт при создании и переносе сайта, про который ни в коем случае не стоит забывать. Если у вас тормозит сайт на 1C-Битрикс, то зайдите в настройки веб-сайта и проверьте, включена ли эта функция.

Оптимизация стилей и скриптов

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

Итак, мы разобрались с кодом, какое действие следующее? Теперь мы должны облегчить загрузку страницы посредством переноса файлов, содержащих стили и скрипты, в самый конец списка. Там же мы сможем объединить CSS файлы и JS файлы, обеспечив снижение количества запросов. Идем в настройки основного модуля и открываем вкладку «Оптимизация CSS». В ней выставляем галочки напротив всех пяти пунктов.

Обновляем версию PHP

Версия PHP также имеет большое значение, так как она напрямую влияет на окончательную скорость загрузки ресурса. В случае давней установки без обновления она скорее всего будет иметь прямое отношение к медленной работе ресурса. Установленная версия должна быть не ниже 7.X.

Плагин JQuert Lazy

Мы с вами плавно переходим к более сложным, но не менее действенным способам. Утилита, о которой пойдет речь ниже, предназначена для того, чтобы поставить приоритет при загрузке сайта на тексты и структуру. Она позволит отложить загрузку изображений, чтобы посетитель не смотрел на фон, а мог заняться непосредственным изучением контента, пока страница догружается. На картинке ниже приведен список кодов, которые позволят запустить сам плагин и оптимизировать его под ваш проект.

Content Delivery Network

Следующим пунктом, который мы рассмотрим, будет технология CDN. Благодаря многофункциональности платформы Битрикс веб-мастера имеют возможность использовать современные опции, позволяющие повышать скорость загрузки веб-сайта без особых ухищрений.

В данном случае речь идет об опции CDN, позволяющей загружать все необходимые для функциональности странички файлы с ближайшего к пользователю сервера. Выберите настройку Content Delivery Network, чтобы для включения функции поставить обе галочки в первой вкладке.

Мы рекомендуем провести замер скорости до и после активации CDN, чтобы сразу же исключить снижение скорости. Во вкладках также можно найти метрику, которая измеряет скорость отклика сайта у посетителей. Эта шкала поделена на четыре пункта от «очень медленно» до «очень быстро». Она рассчитывается на основе данных последней тысячи посетителей, соответственно –вы получаете данные средней скорости загрузки.

Конфигурации Базы Данных

Говоря о том, как улучшить скорость загрузки сайта, нельзя пройти мимо оптимизации базы данных. В этом пункте мы начнем с настройки опции Buffer Pool Size.

Тут все довольно просто, так как его достаточно уровнять с объемом памяти всей базы. Если вы работаете с шаблонами виртуальной машины от Битрикс, то этот параметр самостоятельно выставится, ориентируясь на ОЗУ выделенного сервера.

В этом же разделе советуем проверить тип таблиц. Все современные веб-сайты построены на InnoBD – эти таблицы работают гораздо быстрее других типов и надежно сохраняют данные. Более того, их рекомендуют создатели Битрикс.

Последний параметр, который нас интересует – это фасетные индексы. Эта опция создана для экономии времени при выдаче результатов запроса. Для подключения индекса стоит проверить умный фильтр и просмотреть, есть ли там свойства товара. Если все отлично, то мы идем во вкладку «Контент», ищем там «Инфоблоки» и запускаем создание индексов.

Включаем композит

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

Ненужные и тяжелые модули

На производительность ресурса влияют не только настройки, но и ненужные опции и утилиты, которые могут значительно снизить результаты производительности. Рекомендуем отключить:

  • Веб-мессенджер;
  • Управление масштабированием;
  • Мобильную платформу;
  • AD/LDAP-интеграцию;
  • Веб-аналитику;
  • Перевод;
  • A/B тестирование;
  • Календарь событий;
  • Push-and-Pull;
  • Модуль интегрирования с Битрикс.

Ищем ошибки и проблемные места в структуре сайта

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

Среди полезных плагинов можно выделить mytop и mysqldumpslow. В случае, если у вас есть установленный Percona Server, можно воспользоваться еще и утилитой pt-query-digest.

С помощью этих программ вы найдете циркулирующий запрос. Но и без них в панели администрирования можно найти некоторые запросы самостоятельно, не обращаясь к специалистам. Мы советуем воспользоваться предоставленными ниже примерами настройки mysql с включением логирования.

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

Поговорим о железе

Даже выполнив все приведенные выше пункты, не забывайте, что полноценная работа вашего ресурса будет зависеть от серверной мощности. Если это небольшой сайт, то можно воспользоваться виртуальным сервером или dedicated. Однако, если речь идет о работе с большим проектом, то характеристики сервера должны быть значительно выше.

Если говорить более конкретно, то для интернет-магазинов будет достаточно одноядерного процессора, 2 Гб ОЗУ и до 30 Гб на твердотельном накопителе. Это неплохой стартовый набор, который позволит ресурсу функционировать, чтобы более точно оценить нагрузку в дальнейшем.

Проекты с большой нагрузкой и «тяжелыми» базами данных требуют больших затрат и, соответственно, более тяжелого железа.

Прогнозируем результаты оптимизации

Можно смело сказать, что при выполнении изложенных выше советов вы сможете поднять скорость сайта на достаточно большое количество пунктов. Отключение ненужных модулей повлечет за собой увеличение производительности на несколько процентов. Если при этом еще и оптимизировать запросы MySQL, то можно разогнать индекс до сотни пунктов, что значительно сократит время загрузки.

Экономный вариант кластера серверов

Во время возникновения проблемы клиенты сразу задаются вопросом о том, как ускорить медленную работу сайта и при этом не инвестировать в него баснословную сумму денег. Есть условные решения у Битрикс, которые обеспечивают размещение сайта на разных серверах, позволяя разгрузить поток, но это очень дорогой вариант.

Есть более дешевый вариант, который не требует покупки отдельной лицензии. Для начала следует разместить требуемый контент на паре серверов и добавить еще один отдельный ­– он выступит в роли распределителя нагрузок. БД при этом должна располагаться на отдельном сервере. Такая система позволит увеличить количество обрабатываемых запросов в три раза.

FAQ

Какой хостинг выбрать для работы с платформой Битрикс?

Подойдет любой хостинг, который будет соответствовать техническим требованиям:
PHP не ниже 7.1
Apache не ниже 1.3
Nginx не ниже 1.14
MySQL не ниже 5.6

Какие конфигурации необходимы для сервера?

Мы рассматривали этот вопрос в статье, но если кратко: для небольшого проекта на первое время будет достаточно одноядерного процессора, двух гигабайт оперативной памяти и десяти гигабайтного жесткого диска. В дальнейшем при высоких нагрузках железо придется улучшать.

С чего начать оптимизацию сайта для увеличения скорости загрузки, если он вдруг начал тормозить?

Первое, что необходимо сделать – вспомнить, какие изменения произошли на сайте. Если у вас есть перечень обновлений, то начать стоит именно с их проверки. Воспользуйтесь предложенными в статье плагинами, чтобы ускорить поиск медленных запросов.