- 3 признака, что Б24 нуждается в оптимизации
- Почему Битрикс24 начинает тормозить и как это вредит бизнесу
- Ускорение Битрикс24: как мы это делаем
- Этапы оптимизации портала
- Кейс: как отключение одной функции вернуло портал к жизни и ускорило загрузку страниц
В мире, где каждая минута влияет на производительность, торможение и зависание корпоративного портала — уже не просто не «глюки». 10–20 секунд ожидания при каждом действии в Битрикс24 — это час потерянного времени на сотрудника в день. Для компании из 100 человек — уже 2200 часов ежемесячно, сорванные дедлайны и раздраженный коллектив. Причина чаще всего не в системе, а в ее неправильных настройках, неэффективном использовании и некорректных доработках.
Приятная новость: всё можно изменить, даже в запущенном случае. Расскажем о причинах проблем и о том, что делать, если ваш Битрикс24 перестал быть таким же шустрым, как раньше.
3 признака, что Б24 нуждается в оптимизации
Вот 3 главных сигнала, что нужна оптимизация Битрикс24:
-
Страницы открываются дольше секунды. В худших случаях чаты в мессенджере, задачи, группы, календарь, CRM, BI Конструктор и другие разделы загружаются 10–20 секунд.
-
Пользователей «выбрасывает» из системы. Сотрудникам приходится постоянно заново авторизовываться.
-
Ошибка 502 Bad Gateway. Она сигнализирует, что сервер не справляется с избыточной нагрузкой. Это крайняя стадия — работать становится почти невозможно.
Эти симптомы говорят о том, что ваш Битрикс24 заболел и ему нужна неотложная помощь.
Вращение колесика загрузки дольше 3 секунд — первый тревожный звоночек
Почему Битрикс24 начинает тормозить и как это вредит бизнесу
Каждое действие сотрудника в Битрикс24 порождает пакет запросов. Когда пользователей мало, неоптимизированная система справляется с ними, и торможения почти незаметны. В компаниях с 1000 сотрудников ошибки в коде, настройках и конфигурации становятся критичными из-за высокой нагрузки на портал.
В таких компаниях даже незначительные замедления превращаются в серьезные проблемы. Каждая 10-секундная задержка означает суммарно потерю около 3 человеко-часов ежедневно, продуктивность сотрудников падает, а напряжение растет. Деньги на внедрение портала потрачены, а работать в нем невозможно.
Несвоевременное обращение за помощью усугубляет ситуацию. Некоторые месяцами терпят проблемы, пока они не превращаются в 502 ошибку (некорректный ответ сервера). Работа останавливается, и необходимо «тушить пожар».
Почему Битрикс24 работает медленно и выдает ошибки:
-
Недостаточно ресурсов. На сервере, где размещена коробочная версия Б24, не хватает оперативной памяти, мощности процессора или места на жестких дисках. Если есть физический доступ к машине, проблема решается заменой процессора, установкой дополнительных планок оперативной памяти и жестких дисков. Если сервер удаленный — придется его сменить на более производительный или поднять тариф.
У компании Битрикс24 есть рекомендации по параметрам сервера для проектов с разным числом пользователей и с оговоркой, что в большинстве случаев этого хватит с запасом. Но кому-то может быть недостаточно — всё зависит от профиля использования и того, насколько интенсивно пользователи работают с порталом. -
Некорректная конфигурация «железа». Плохо настроенный Битрикс24 может неправильно использовать имеющиеся технические ресурсы, которых должно хватать при текущей нагрузке. Правильное конфигурирование решит эту проблему.
-
Доработки кода, выполненные сторонними разработчиками. Из-за них единичные тяжелые запросы или десятки тысяч легких снижают производительность системы и замедляют ответ. Глубокий аудит системы позволит найти «узкие» места, чтобы устранить их с помощью рефакторинга кода. Если есть подозрения на этот счет — мы тщательно исследуем работу вашего Битрикс24 по всем направлениям.
-
Неправильное использование функциональности Битрикс24. Каждый модуль и инструмент предназначен для решения конкретных задач. Если применять их не по назначению, программа начнет тормозить при большом числе пользователей. Ниже привели пример такого некорректного использования.
Ускорение Битрикс24: как мы это делаем
Методы повышения производительности Битрикс24:
1. Увеличение пропускной способности веб-сервера.Действия пользователей на портале порождают запросы. Для их обработки на веб-сервер использует специальные процессы — воркеры.
Оптимизация Б24 зачастую включает увеличение числа воркеров. Большое количество запросов распределяется между ними и обрабатывается быстрее — пропускная способность увеличивается, скорость загрузки страниц возрастает. Если сервер нагружается преимущественно запросами внешних приложений (подключенные мессенджеры, телефония, чат-боты и др.), то для них выделяется отдельный пул воркеров.
2. Оптимизация системы управления базами данных (СУБД).Большее число воркеров требует больше подключений к базе данных — обеспечиваем их.
Также для ускорения Битрикс24 можем расширить кэш базы данных. Суть проста: система хранит больше часто используемой информации в «быстрой памяти» (кэше) и реже обращается к основному хранилищу. Это помогает ускорить загрузку страниц.
Чтобы увеличить производительность БД, переносим ее на отдельный сервер с оптимальной для работы базы конфигурацией «железа». Если машина арендуется, поможем подобрать подходящий вариант. Перенос также помогает повысить отказоустойчивость, что важно для крупных проектов.
Если и этого недостаточно, пробуем отключить часть системных вызовов fsync(). Механизм fsync() защищает данные от возможного повреждения или потери при записи на диск. Это может произойти, если система внезапно завершит работу, например, при обесточивании. Отключение нескольких fsync() ускоряет работу программы, но метод довольно рискованный — может привести к частичной потере данных в нештатной ситуации.
3. Доработка базы данных.Создаем систему индексов в базе данных. Индексы оптимизируют запросы на поиск, и они выполняются быстрее. Когда обращений к базе немного, пользователи не замечают разницы. Под большой нагрузкой, когда много запросов на выборку данных, ускорение становится явным.
Иногда применяется партиционирование таблиц — разбиение на части. Из-за особенностей структуры таблиц в базе данных Битрикс24 эта мера не всегда дает ожидаемый эффект, но в некоторых случаях помогает дополнительно ускорить работу портала.
4. Донастройка Битрикс24.Корпоративный портал — очень гибкая система. Эти меры могут дополнительно её ускорить:
-
Отключение неиспользуемых или малозначимых функций, которые выполняются в фоновом режиме и перегружают систему. Это уменьшает объем выполняемого кода и число запросов. Примеры — ниже.
-
Упрощение настроек прав доступа. Иногда эта мера помогает радикально облегчить запросы к базе данных и в разы ускорить работу Битрикс24.
-
Переход к режиму раздельного хранения сессии. Эта настройка уменьшает число сессионных блокировок — пользователей больше не «выбрасывает» из системы. Также увеличивается скорость отклика Б24 на действия сотрудника.
-
Смена способа хранения кэша. Данные о сессиях пользователей могут храниться разными способами, в том числе в файлах. Файловый кэш хранится на жестком диске и читается с него. Это быстрее, чем при использовании внешней системы кэширования (redis, database, memcache). Поэтому вариант с файлами обеспечивает более высокую скорость работы Битрикс24.
5. Кластеризация Битрикс24.
Кластеризация — это разнесение частей корпоративного портала на несколько серверов. Нагрузка распределяется между ними, и система быстрее отвечает на запросы. Кластеризация чаще всего применяется для повышения отказоустойчивости системы, но в некоторых случаях она помогает значительно увеличить производительность.
6. Рефакторинг предыдущих доработок.Если Битрикс24 ранее дорабатывали сторонние разработчики, мы проверяем написанный ими код и ищем способы повысить производительность.
Иногда предыдущие доработки для ускорения выполнены в ядре системы. Обновление Б24 может «стереть» внесенные изменения, поэтому некоторые компании отказываются обновляться. Это может негативно повлиять на безопасность портала, а новые функции Битрикс остаются недоступными.
Мы умеем дорабатывать логику Б24 так, чтобы заказчик мог регулярно обновляться и сохранять модификации. Подробнее рассказали в отдельной статье.
Этапы оптимизации портала
Оптимизация Битрикс24 в каждом проекте уникальна — нет универсальных решений для разных корпорталов. Но общими для всех являются ключевые шаги:
1. Аудит производительности.При диагностике портала проверяем:
-
соответствие технических ресурсов профилю нагрузки;
-
число и характеристики выполняемых процессов;
-
наличие доработок, их объем, функциональность и другие характеристики.
Также изучаем, как именно сотрудники используют Битрикс24.
Результат — подробный отчет со стратегией ускорения и оценкой стоимости работ. В нем даем рекомендации, как перестроить рабочие процессы, чтобы они не вызывали проблем с производительностью Б24, стали более управляемыми и удобными для пользователей.
2. Доработки и настройки Битрикс24.Реализация предложенных в отчете мер: перенастройка Б24, базы данных и системы управления ей; исправление в коде ошибок производительности, допущенных сторонними разработчиками; доработка программы, кластеризация и другие методы.
3. Тестирование и внедрение.Все изменения обязательно тестируем. Возможно внедрение поэтапно, чтобы проследить эффект от доработок, проверить гипотезы, скорректировать план и обеспечить лучший результат.
Для аудита производительности Битрикс24 используем собственную разработку — Perflog. Она позволяет глубоко проанализировать все запросы, чтобы безошибочно найти узкие места
Кейс: как отключение одной функции вернуло портал к жизни и ускорило загрузку страниц
Чтобы показать, как меняется Битрикс24 после оптимизации, разберем реальный кейс. Заказчик — крупная юридическая компания с 4500+ пользователями, огромным потоком клиентов и большим документооборотом. Долгое время каждый сотрудник терял до часа в день из-за медленной работы и отказов портала. После наших доработок Битрикс24 исправился, и страницы стали открываться в 2 раза быстрее.
Детальный разбор кейса — во вкладках ниже.
Что не так с порталом?
После глубокой диагностики выявили две основные причины медлительности.
-
Неправильное использование возможностей Битрикс24. На портале созданы множество чатов на 500 и более пользователей. Участники активно пишут в них об этапах своей работы. Часто это сообщения по шаблону, для которых можно использовать другие инструменты Б24. К особенностям бизнес-процессов заказчика также относится большое число наблюдателей (200+) почти во всех задачах.
-
Обновленный Б24 стал требовательнее. Полтора года заказчик работал без апдейта, и новая версия системы оказалась «прожорливее» в плане ресурсов. Разработчики внедрили современные технологии, что повысило требования к конфигурации сервера и точности настроек. Обновленный портал без оптимизации не мог справляться безотказно под высокой нагрузкой.
Рост числа чатов после обновления Битрикс24 привел к тому, что они стали загружаться по 12– 20 секунд. Когда сотрудники разом открывали десятки чатов с непрочитанными сообщениями, сервер не выдерживал. Приходилось перезапускать портал и снова ждать, когда чаты всё-таки прогрузятся.
С такой картиной сотрудники компании сталкивались каждое утро
Как огромные чаты замедляют работу Битрикс24
В силу архитектуры Б24 не рассчитан на активное использование бесед на 200 и более человек. Да, по умолчанию на портале существует общий чат, куда добавлены все сотрудники. Но он один, и пишут в него обычно мало.
Рассмотрим условный чат с 1000 участников. Что происходит, когда один из них отправляет в него сообщение?
-
Система должна оповестить об этом остальных пользователей. Чтобы это произошло мгновенно, Битрикс24 использует сервер очередей Push and Pull. Каждый пользователь подключен к нему и в фоновом режиме «слушает» события в чатах, задачах, календарях, ленте новостей и других модулях. Когда что-то происходит, пользователь портала мгновенно узнает об этом — пауза составляет миллисекунды, человек ее не замечает.
-
Сервер Push and Pull ищет 999 каналов связи с остальными участниками чата и отправляет им суммарно 999 уведомлений. Получив их, сотрудники начинают открывать «маякнувшую» беседу и читать новый пост. Функциональность Битрикс24 подразумевает, что все пользователи в режиме реального времени оповещаются о прочтении сообщения другими людьми. В интерфейсе это выглядит как небольшая строчка: «Просмотрено: Иван Иванов и еще 500».
-
Чтобы данные в этой строчке мгновенно менялись у каждого пользователя, Push and Pull создает и отправляет им уведомления. Один человек прочитал сообщение — сервер отправляет об этом 999 оповещений, 20 участников — уведомлений будет уже 19 980. Так как в рассматриваемом чате состоят 1000 сотрудников, то число оповещений достигнет почти миллиона.
-
Для отправки каждого уведомления система создает и обрабатывает запрос.
У заказчика таких чатов много — 1,4 млн всего, активных около 100, — и в них зачастую 2–3 тысячи участников. В моменты пиковой нагрузки системе приходилось обрабатывать одновременно около 100 млн запросов. Это сильно тормозило работу, а в случае отказа возникала внутренняя серверная ошибка.
Сервер Push and Pull отправляет уведомления о событиях не только в Мессенджере, но и в Задачах. О любом действии с задачей информируются все участники. У заказчика накопилось около 1 млн тикетов — большинство давно выполнены, но не удалены. Число наблюдателей в них часто достигает 200 человек. Push and Pull также отвечает за обновление счетчиков задач в режиме реального времени: сколько всего тикетов, сколько просрочены, сколько комментариев к ним оставлено.
Пути оптимизации
Лучший вариант в этой ситуации — использовать вместо чатов более подходящие для работы инструменты. Чтобы ускорить работу портала без объемных доработок, предложили клиенту перестроить бизнес-процессы в Битрикс24. Однако заказчик принял решение продолжить использовать крупные чаты. Поэтому мы выработали решение, которое позволило сохранить привычный способ рабочей коммуникации и ускорить работу Б24.
-
Сократили число запросов, порождаемых отправкой уведомлений. Для этого в чатах на 200+ участников отключили обновление информации о прочтении в режиме реального времени. Узнать, кто прочитал сообщение, по-прежнему можно, но не моментально — нужно обновить страницу. Также убрали мгновенное обновление счетчиков задач и уведомления о том, что тикет посмотрели.
-
В настройки чатов добавили опцию — отключать мгновенные уведомления о прочтении во вновь созданных беседах.
-
Поэтапно увеличили количество воркеров с 400 до 1000. Технические ресурсы сервера позволяли это сделать — оперативной памяти объемом 130 Гб хватает с запасом. Большое число запросов распределяется по большему числу процессов и обрабатывается быстрее.
-
Вынесли на отдельные физические серверы Push and Pull и базу данных. Это тоже помогло ускорить обработку многочисленных запросов.
-
Разработали механизм автоочистки сообщений. Эта механика реализована в последнем крупном обновлении Битрикс 24 «Зефир», но на момент обращения заказчика она ещё не была внедрена.
-
Изменили способ хранения кэша на файловый. Ранее он хранился во внешней системе redis, которая использует оперативную память. К ней же обращался и сервер Push and Pull, что приводило к перегрузке и отказу системы. Перенастройка позволила дополнительно оптимизировать работу.
Администраторы чатов могут самостоятельно отключать мгновенное обновление счетчика прочтений и разрешать автоудаление сообщений
Итоги
Решение получилось сбалансированным: сотрудники работают с привычными инструментами, отключенные функции не мешают выполнять задачи, а производительность Битрикс24 выросла. Портал больше не выдает ошибки, страницы чатов открываются менее 10 секунд, что в этом кейсе считается эталонным временем. Пользователи работают с привычными инструментами рабочей коммуникации и тратят меньше времени на ожидание.
Если вы столкнулись с замедлением Битрикс24 или ошибками в его работе — не торопитесь отказываться от портала или искать альтернативы. Решение проблемы уже наверняка существует.
Заполните форму внизу — наш эксперт перезвонит вам, чтобы уточнить подробности и запланировать онлайн-встречу. Специалисты ИНТЕРВОЛГИ проанализируют работу вашего Битрикс24, найдут решение и вернут процессам прежнюю скорость.
- аренда команды (от 2 человек, не менее 3 месяцев);
- итерации с фиксированной ценой (1-3 месяца длительностью).
- регулярные онлайн-планерки с заказчиком;
- квалифицированных специалистов;
- организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
- полную прозрачность и регулярность отчетов о результатах.
- нагруженный интернет-магазин;
- личный кабинет;
- оптовые продажи — B2B-платформа;
- маркетплейс;
- технический аудит сайта;
- Битрикс24 — корпоративные HR-порталы;
- Битрикс24 — построение CRM-системы;
- Битрикс24 — личные кабинеты сотрудников;
- Битрикс24 — аудит портала;
- 1С — интеграция с другими системами;
- 1С — доработка системы;
- маркетинг — комплексное интернет-продвижение;
- маркетинг — продвижение для B2B.
Статьи по теме




