Rabbitmqのメモリディスクモニタリング

Rabbitmqのメモリディスクモニタリング

メモリ使用量が設定されたしきい値を超えるか、残りのディスク容量が設定されたしきい値を超えると、RabbitMQはクライアントの接続を一時的にブロックし、クライアントからのメッセージの受信を停止して、サーバーのクラッシュとクライアントとサーバーのメンタリティを回避します。また失敗します。

次の図に示すように、
ここに画像の説明を挿入します
ブロッキングまたはブロックが表示された場合は、同じ値に達し、高負荷動作をしていることを意味します。

公式ウェブサイト:https://www.rabbitmq.com/configure.html

rabbitmqctl set_vm_memory_high_watermark <fraction>
rabbitmqctl set_vm_memory_high_watermark absolute <memory_limit>

ここに画像の説明を挿入します
構成ファイルrabbitmq.conf

vm_memory_high_watermark.relative = 0.4  建议0.4-0.6
vm_memory_high_watermark.absolute = 1024MB 

メモリページング:
ブローカーノードとメモリブロックプロデューサーの前に、キュー内のメッセージをディスクにページングしてメモリスペースを解放しようとします。永続
メッセージと非永続メッセージの両方がディスクに書き込まれ、永続化されます。メッセージ自体ディスクにコピーがあるため、転送プロセス中に永続メッセージがメモリから
クリアされます

デフォルトでは、メモリが50%のしきい値に達すると、ページングされます。
つまり、メモリのしきい値がデフォルトで0.4の場合、メモリが0.4 * 0.5 = 0.2を超えると、ページ変更アクションが実行されます。

たとえば、1000MBのメモリでは、メモリ使用量が400MBに達すると制限に達しますが、ページングメモリ0.5が設定されているため
この時点で、200MBのメモリがディスクに転送されてから400MBの制限に達します。 。安定した動作を実現するために。

vm_memory_high_watermark_paging_ratio = 0.75

1未満に設定しないと、意味がありません。

ディスクの早期警告ディスク
の残りのスペースが特定のワード値よりも少ない場合、RabbitMQはプロデューサーもブロックします。これ
により、非永続メッセージの継続的なページングによるディスクスペースの不足、サーバーのクラッシュを回避できます。

デフォルト:ディスクの警告が50MBの場合、警告が表示されます。現在のディスク容量が50MBの場合、プロデューサーがブロックされ、メモリメッセージ
をディスクにページングするプロセスが停止することを示します。

この値を減らすことはできますが、ベースディスクの枯渇による崩壊の可能性を完全に排除することはできません。たとえば、2つのディスクスペースチェック間のギャップでは、最初の
チェックは60MBで、2番目のチェックはIMBである可能性があり、警告が表示されます。
ここに画像の説明を挿入します

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_43803285/article/details/115035911