チャットがリアルタイムで更新されないことがあります

Discourse チャットがリアルタイムで更新されないことがあります。これを再現するのに多くの問題があったため、修正が難しいことは理解しています。しかし、時々(特に5〜10人が同時にチャットしている場合)チャットが同期ずれを起こし、通常通り入力して送信することはできますが、すべてがフリーズし、再オープンしないと他の人が送信したメッセージが表示されなくなります。これは、再オープンするとリフレッシュされるようです。

私のフォーラムのアクティブユーザーのほとんどがこの問題に直面しており、これを軽減する方法があるかどうか疑問に思っています。しかし、これも非常にランダムであるため、修正が難しいことは理解しています。私は4GB RAMのDiscourse AMDドロップレットを使用しており、これ以外は(トピックの非同期更新を含む)すべて完全に問題ありません。

「いいね!」 3

そうなった場合は、ブラウザの開発者ツールを確認してください。おそらく、いくつかのリクエストが 429 エラーで失敗していることが表示されるでしょう。もしそうであれば、ここに返信してください。

「いいね!」 3

スクリーンショットをここに投稿してください。

すみません、これで役に立ちますか?

Cloudflare の背後にサイトがあるため、以下を確認する必要があります。

  • app.yml ファイルに Cloudflare テンプレートを追加しましたか? Discourse は正しいユーザー IP を取得していますか?

  • MessageBus を Cloudflare プロキシ経由で提供していませんか?これは以前確認したときは悪いアイデアでした。Full site CDN acceleration for Discourse - #26 by Hyan を参照してください。

  • サーバーのリソースが不足しており、負荷のために 429 を送信していますか?追加のプラグインを削除して、問題が解決するかどうかを確認してみてください。それ以外の場合は、UNICORN_WORKERS の数を少し増やしてみてください。

はい、追加しました。管理ダッシュボードで正しい IP を取得しています。

大きな違いが出るようであれば Cloudflare を削除できますが、MessageBus が何であるか、それがどのような問題を引き起こすのかを理解するのに苦労しています。そのトピックについてさらに学習します。

CPU は常に 20% 未満、ディスクは 60% にほとんど触れません。ユニコーンを増やすことを試してみます。