約70万の永続チャットルームを持つejabberdクラスタがあります。私たちが直面している問題は、すべての部屋のErlangプロセスがそのノードで開始されるため、クラスタの最初のノードを起動するのに約1時間かかります。ejabberdクラスタでMUCプロセスのバランスをとる方法
クラスタが初期化され、4つのノードが実行されている場合でも、MUCプロセスはノード間でバランスが取れていません。ノードの90%がメモリを使用し、もう1つのノードが5%を使用することができます。
クラスタの複数のノードを一度に起動して、MUCの負荷が最初から均等に分散され、起動が高速になる方法はありますか?
クラスタノード間でMUCプロセスのバランスをとるソリューションを提案する人はいますか?
部屋の数が増えるにつれて、クラスタ内で開始される最初のノードにはさらに多くのRAMが必要になり、起動時間も長くなるため、現在の動作はスケーラブルではありません。
多くのおかげで、現在のejabberdコミュニティ版で アレックス
Hey Girdhar - このことをもっと詳しく説明できますか?それはどこかで逃した構成オプションか、モジュールにカスタマイズしたものですか? – genexp
私が言っていることは、その部屋が既にdbに存在するかどうかチェックしてください。db(永続的な部屋)に存在する場合は、その部屋の設定を使用してください。そうでなければ新しい部屋を作成してください。それのためのo変更モジュール。 –