Как быстрее работает 1с битрикс

Обновлено: 07.07.2024

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

От чего зависит скорость сайта на Битриксе?

  • оптимизация компонентов сайта
  • набор модулей
  • оптимизация серверного ПО
  • достаточное количество ресурсов сервера

С оптимизацией компонентов сайта вам поможет разработчик. Но если есть навыки администрирования, можно перейти на nginx+php-fpm и оптимизировать настройки.

В большинстве случаев, чтобы повысить производительность, нужен анализ текущей нагрузки на сервер. Такое умеют наши администраторы. Но есть и базовые настройки, которых достаточно, чтобы улучшить производительность Битрикс на большинстве серверов. Америку не открываем, если вы хорошо знакомы с *nix, едва ли вы обнаружите что-то новое.

В качестве ОС будем использовать минимальную версию Debian 9. В конце сравним показатели получившейся конфигурации с BitrixVM.

Веб-сервер — Nginx

Лучшим решением будет использование в качестве веб-сервера Nginx. Он шустро работает со статичным контентом и не плодит форков, как это делает apache2. Форки apache2 часто оказываются причиной перерасхода сервером оперативной памяти, потому выбор Nginx снижает требования к объему RAM.

Ставим и конфигурируем Nginx:

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

Сервер БД

В качестве сервера БД используем MariaDB 10.1 из репозитория ОС. Практика показывает, что для нашей задачи гнаться за последними версиями MySQL/MariaDB совершенно не обязательно — значительной разницы в производительности нет.

Важно! После развертывания сайта нужно выполнить «Проверку системы» с исправлением ошибок структуры БД, а также «Оптимизацию БД», оба действия выполняются в админке Битрикс. Эти операции создадут индексы и устранят фрагментацию, что благотворно скажется на производительности.

Ставим и конфигурируем MariaDB:

PHP-FPM

Ещё одна причина отказа от apache2 — использование php-fpm, наиболее быстрого режима работы php-интерпретатора. Наиболее производительной на текущей момент является php7.3, однако в официальном репозитории Debian 9 мы имеем php7. Из соображений связности с предыдущей статьей про производительность Битрикс тут мы тоже будем использовать php7 из репозитория Debian.

Ставим и конфигурируем php-fpm:

Governor

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

Настраиваем и применяем:

Сравниваем производительность

Производительность получившейся конфигурации:

Производительность оптимизированной конфигурации

Производительность в окружении BitrixVM:

Производительность в окружении BitrixVM

Сравнение производительности Битрикс

Если вы оптимизировали сервер по инструкции, но производительность всё равно не устраивает — нужно провести диагностику нагрузки и решить, что вам требуется:

1. Обратиться к разработчику для оптимизации кода

2. Найти дополнительные варианты оптимизации

Например, перенести сессии в оперативную память, настроить Nginx кеширование, заблокировать нежелательных ботов.

3. Добавить ресурсов сервера

Даже в случае с идеально написанным сайтом и не менее идеально оптимизированным сервером в какой то момент узким местом окажутся ресурсы.

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

Цитатник веб-разработчиков В тексте курса вы встретите цитаты, высказанные в разное время разработчиками системы и разработчиками проектов на базе Bitrix Framework. Надеемся, что такие неформальные замечания внесут некоторое разнообразие в процесс изучения. Заодно опытные специалисты поделятся и своим опытом.

Имена авторов цитат даются в том написании, в каком авторы зарегистрировали себя на сайте "1С-Битрикс". .

Курс для разработчиков - продолжение линейки учебных курсов по Bitrix Framework. Получение сертификата по курсу рекомендуется после успешной сдачи тестов по всей линейке курсов, так как без понятия о работе Контент-менеджера и Администратора создание успешных сайтов будет затруднено.

Чтобы научиться программировать в Bitrix Framework, нет необходимости изучать всю линейку курсов. Но есть моменты, которые необходимо знать разработчикам о системе, они раскрыты в начальных курсах:

  • Интерфейс программы - в главе Элементы управления курса Контент-менеджер.
  • Компоненты 2.0 (начальные сведения) в главе Компоненты 2.0 (начальные сведения) курса Контент-менеджер.
  • Информационные блоки - в главе Информационные блоки (начальные сведения) курса Контент-менеджер.
  • Управление доступом к файлам, элементам контента, модулям и другие права доступа в главе Управление доступом курса Администратор. Базовый.
  • Работа с инструментами системы - в главе Работа с инструментами курса Администратор. Базовый.
  • Модуль Поиск - в главе Поиск курса Администратор. Базовый.
  • Вся информация по администрированию модулей размещена в курсах:
      - модули "1С-Битрикс: Управление сайтом" - модули "1С-Битрикс: Управление сайтом", связанные с коммерческой деятельностью в Интернете. - модули "1С-Битрикс: Корпоративный портал"

    Как построен курс

    Общепринятая градация квалификации разработчиков в рамках курса обозначает что:

    • Junior сможет создавать простые сайты работая со штатными компонентами и модифицируя их шаблоны.
    • Middle разработчик может работать с API Bitrix Framework.
    • Senior умеет работать над производительностью и безопасностью сайтов, создавать свои модули и компоненты.
    Примечание: Такое построение удобно для пошагового изучения принципов работы Bitrix Framework. По этому же принципу построены и тесты. Но такая структура не очень удобна для использования содержания курса как постоянного источника информации. Что бы переключить курс в режим Справочника, воспользуйтесь переключателем в верхнем правом углу шапки курса.

    Начальные требования к подготовке

    Для успешного изучения курса и овладения мастерством разработки сайтов на Bitrix Framework необходимо владеть (хотя бы на начальном уровне):

    • основами PHP, баз данных;
    • основами HTML, CSS.

    У нас часто спрашивают, сколько нужно заплатить

    Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.

    Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.

    Баллы опыта

    В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
    окно подтверждения:


    уроке.

    Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.

    Тесты

    После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.

    Комментарии к статьям

    Что дальше?

    Одновременно с изучением курса Разработчик Bitrix Framework вам придётся обращаться к информации о других технологиях Bitrix Framework. Эта информация размещена в следующих курсах:

    Для преподавания оффлайн

    Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 5 дней (40 академических часов).

    Если нет интернета

    iPhone:
    FBReader
    CoolReader
    iBook
    Bookmate

    Windows:
    Calibre
    FBReader
    Icecream Ebook Reader
    Плагины для браузеров:
    EpuBReader – для Firefox
    Readium – для Google Chrome

    iOS
    Marvin for iOS
    ShortBook
    обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса.


    Всем нужны Битрикс-попугаи, и побольше. Я работаю администратором в хостинг-компании и постоянно сталкиваюсь с такими запросами. Давайте покончим с этим раз и навсегда — в этой статье вы найдёте ответ, как железо влияет на производительность CMS Битрикс (реальную и «попугайную»). Проведём тесты и подберём несколько конфигураций сервера.

    Цели исследования:

    • Выявить зависимость между характеристиками «железа» и показателями производительности Битрикс (попугаями), а также реальной скоростью выполнения запросов.
    • Определить динамику изменения производительности от смены аппаратной конфигурации сервера.
    • Подобрать варианты конфигураций сервера.
    • CMS «1С-Битрикс: Управление сайтом» версии 18.0.4, редакции «Стандарт» в кодировке utf-8.
    • ОС Debian 9.5 из netinstall образа.
    • nginx+php-fpm
    • MariaDB 10.1
    • php 7.0
    • Выполнены настройки для корректного прохождения «проверки системы», pstate отключен, acpi-cpufreq работает в режиме performance.
    • Замер скорости выполнения запросов производится утилитой ab.

    Итак, чем кормить попугаев?

    Для выявления зависимости показателей Битрикс от производительности процессора и оперативной памяти используем следующую конфигурацию:

    Процессор: Intel Core i7-3770K CPU @ 3.50GHz
    Память: DDR3 Samsung 1600 MHz (M378B5273DH0-CH9)
    SSD: OCZ-VERTEX4 128Gb MLC
    HDD: WD5000AAVS-00ZTB0

    Данная конфигурация позволяет в широком диапазоне изменять частоту процессора, а значит не нужно множество раз заменять CPU. Для изменения частоты используется утилита frequency-set. Драйвер intel_pstate не позволяет управлять частотой, поэтому отключен.

    Замеры проводим с шагом 400Гц. Помимо показателей производительности Битрикс, замеряем сколько запросов главной страницы может выполнить сервер за одну секунду. Для замера показателей производительности при использовании HDD-диска, на HDD создана реплика ранее настроенной системы и собраны показатели на максимальной частоте.

    Результаты: кормим попугаев частотой, а скорость запросов — ядрами

    Вот такие графики у меня получились:






    По ссылке pdf со всеми данными в графиках и таблицах. Плюс дополнительные данные про зависимость показателей файловой системы и базы данных от количества ядер и частоты процессора.

    Согласно полученным данным, можно сделать следующие выводы:

    Подбираем железо

    Учитывая полученные данные, соберём несколько серверов и проверим их производительность. Чтобы подтвердить или опровергнуть получившуюся теорию, я взял три недорогих конфигурации с разной частотой и количеством ядер. И ещё несколько серверов, где ядер побольше.

    • E3-1270v6
    • E5-2620v4
    • E5-1650v4
    • E5-2640v4
    • 2xE5-2699
    • Сервер для больших попугаев.
    • Сервер для высокого показателя скорости выполнения запросов сайта.
    • Баланс между попугаями и реальной производительностью.
    • Сервер для более высокой скорости выполнения запросов, под более нагруженный проект
    • Сервер для ещё большей скорости выполнения запросов, под высоконагруженный проект



    Показатели производительности соответствуют ранее выявленной закономерности. Чем выше частота, тем более высокий балл показывает Битрикс. А если требуется сервер, способный обслуживать большое количество посетителей — стоит выбирать больше ядер с максимально высокой базовой частотой.

    Читайте также: