Чат иногда не обновляется в реальном времени

Иногда чат Discourse не обновляется в реальном времени. У меня было много попыток воспроизвести эту проблему, поэтому я понимаю, что её может быть сложно исправить. Однако иногда (особенно когда одновременно общаются 5–10 человек) чат теряет синхронизацию: вы всё ещё можете писать и отправлять сообщения как обычно, но интерфейс зависает, и вы не видите сообщения, отправленные другими пользователями, пока не перезапустите вкладку, что, похоже, обновляет чат.

С этой проблемой сталкиваются почти все активные пользователи моего форума, и я задаюсь вопросом, есть ли способ её уменьшить. Но, опять же, так как проблема возникает очень случайно, я понимаю, что её может быть сложно исправить. Я использую Droplet на базе AMD с 4 ГБ оперативной памяти для Discourse, и это единственная проблема: всё остальное (включая асинхронные обновления тем) работает безупречно.

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

Пожалуйста, разместите скриншоты здесь.

Извините, это поможет?

Ваш сайт находится за Cloudflare, поэтому вам нужно проверить следующее:

  • Добавили ли вы шаблон Cloudflare в файл app.yml? Получает ли Discourse правильные IP-адреса пользователей?

  • Вы обслуживаете MessageBus через прокси Cloudflare. В последний раз, когда мы проверяли, это была плохая идея. См. Full site CDN acceleration for Discourse - #26 by Hyan

  • Не перегружен ли ваш сервер ресурсами, из-за чего он возвращает ошибку 429? Попробуйте удалить лишние плагины, чтобы проверить, решит ли это проблему. В противном случае вы можете попробовать немного увеличить количество UNICORN_WORKERS.

Да, мы добавили его, и в панели администратора отображаются правильные IP-адреса.

Я могу убрать Cloudflare, если это существенно повлияет на ситуацию, но мне сложно понять, что такое MessageBus и какие проблемы он вызывает. Изучу эту тему подробнее.

Загрузка процессора всегда ниже 20%, диск почти не превышает 60%. Попробую увеличить количество воркеров unicorn.