Онлайн-чат оновлюється лише при перезавантаженні сторінки. Сповіщення про нове замовлення надходять із затримкою в кілька хвилин. «Жива стрічка» в корпоративному порталі Бітрікс24 не оновлюється в реальному часі через відсутність налаштованого модуля Бітрікс24 Push and Pull. Усе це — наслідки відсутності налаштованого модуля Push and Pull. Наша команда з 10-річним досвідом стикається з такими ситуаціями регулярно. Налаштування цього модуля — одне з перших завдань при запуску проєктів з онлайн-чатами, сповіщеннями або корпоративними порталами. Без нього система втрачає оперативність, а користувачі — зручність. Ми виконали понад 70 проєктів з налаштування модуля Push and Pull для інтернет-магазинів і корпоративних порталів, і в 95% випадків проблема вирішується протягом 1-3 днів. Коректне налаштування сповіщень Бітрікс напряму залежить від роботи модуля Push and Pull.
Як модуль Push and Pull вирішує проблему затримок?
Push and Pull забезпечує двосторонню комунікацію між сервером і браузером у реальному часі. Це дозволяє миттєво доставляти повідомлення чату, сповіщення про замовлення, оновлення стрічки та інші події без перезавантаження сторінки. Модуль pull використовує кілька транспортів: WebSocket, Long Polling та Server-Sent Events. WebSocket забезпечує мінімальну затримку 1–5 мс, але потребує окремого Node.js сервера. Long Polling працює через PHP і не потребує додаткових сервісів. SSE — альтернатива для односторонньої передачі. Технології push and pull web (WebSocket та Long Polling) лежать в основі миттєвої доставки.
Порівняння транспортів:
| Транспорт | Затримка | Вимоги | Рекомендації |
|---|---|---|---|
| WebSocket | 1–5 мс | Node.js сервер | Для високонавантажених проєктів |
| Long Polling | 50–200 мс | PHP-FPM + Nginx | Для середніх та малих проєктів |
| SSE | 5–20 мс | Node.js або PHP | Для односторонніх подій |
Wikipedia: WebSocket | Wikipedia: Long Polling
WebSocket скорочує затримку в 40 разів порівняно з Long Polling, що особливо важливо для високонавантажених проєктів. В одному проєкті інтернет-магазину з 5000 онлайн-користувачів після налаштування WebSocket затримка впала з 2 секунд до 5 мс — у 400 разів швидше.
Чому без Push and Pull проєкт втрачає реальний час?
- Затримки сповіщень. Без Push and Pull сповіщення про нові замовлення надходять лише після перезавантаження сторінки або за розкладом агентів. Це критично для інтернет-магазинів: менеджер втрачає час на реакцію.
- Неоновлюваний онлайн-чат. Клієнти скаржаться, що повідомлення не надходять у реальному часі — доводиться перезавантажувати сторінку. Це знижує конверсію та якість підтримки.
- Навантаження на сервер. Long Polling створює безліч висячих з'єднань. Без правильної конфігурації Nginx сервер може не витримати пікового навантаження.
Як ми налаштовуємо Push and Pull: кейс з 5000 користувачів
Використовуємо перевірений стек: PHP 8.1+, Nginx з оптимізованими параметрами, Node.js 18+ для WebSocket. Конфігурація включає:
- Встановлення модуля. Завантажуємо модуль
push and pullз Marketplace та встановлюємо в систему. - Базове налаштування. В адміністративній панелі вказуємо адресу push-сервера та ключ безпеки.
- Налаштування Nginx для Long Polling. Збільшуємо
worker_connectionsдо 8192, вимикаємо буферизацію. Приклад конфігурації:
location ^~ /bitrix/pub/ { proxy_pass http://127.0.0.1:9000; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_read_timeout 25; proxy_send_timeout 25; proxy_buffering off; proxy_cache off; } - Запуск Node.js сервера (якщо потрібен WebSocket). Налаштовуємо автозапуск через systemd.
- Тестування. Перевіряємо доставку сповіщень з імітацією пікового навантаження (до 1000 одночасних з'єднань).
В одному з проєктів інтернет-магазину з 5000 онлайн-користувачів ми зіткнулися з переповненням worker_connections. Після збільшення лімітів та налаштування epoll система стабільно витримує пікове навантаження без втрати з'єднань.
Що входить у налаштування: від аудиту до тестування
- Аудит поточної конфігурації сервера та Бітрікса.
- Встановлення та налаштування модуля Push and Pull.
- Налаштування Node.js push-сервера (якщо потрібен WebSocket).
- Оптимізація Nginx та PHP-FPM для роботи з довгими з'єднаннями.
- Тестування з імітацією пікового навантаження.
- Документація з обслуговування та моніторингу.
Терміни налаштування — від 1 до 3 днів залежно від складності. Вартість розраховується індивідуально після аналізу вашого проєкту. Сертифіковані спеціалісти 1С-Бітрікс гарантують стабільність. Замовте налаштування — отримайте консультацію інженера. Зв'яжіться з нами сьогодні.
Як уникнути типових помилок при налаштуванні?
| Проблема | Рішення | Час |
|---|---|---|
| Помилка 502 при підключенні каналу | Перевірте статус systemctl status push-server та налаштуйте автозапуск | 30 хв |
| Затримки при long polling | Збільште proxy_read_timeout до 25 секунд | 15 хв |
| Переповнення worker_connections | Збільште ліміти в Nginx та ulimit -n 65535 | 30 хв |
| Втрата повідомлень після рестарту PHP-FPM | Виконайте агента вручну або налаштуйте cron | 20 хв |
Як перевірити працездатність модуля Push and Pull?
Відкрийте консоль браузера (F12) та перейдіть на вкладку Network. Виконайте дію, яка має викликати сповіщення (наприклад, відправити повідомлення в чат). Якщо ви бачите запити до /bitrix/pub/ з типом long-poll або WebSocket, модуль працює. Якщо запитів немає — перевірте налаштування в адмінці та статус push-сервера.
Налаштування модуля Push and Pull — критично важливий крок для будь-якого проєкту на 1С-Бітрікс, де потрібен реальний час. Наша команда з 10-річним досвідом готова допомогти. Зв'яжіться з нами для консультації — ми підберемо оптимальну конфігурацію під ваш проєкт.







