当前位置:   article > 正文

rabbitmq连接认证_rabbitMQ流控介绍以及测试验证

连接rabbitmq java.lang.thread.run(unknown source)

rabbitMQ流控介绍

rabbitMQ的流控可以分为两种:

一种是单个链接上的流控:Per-Connection Flow Control

一种是全局流控:

Memory-Based Flow Control

Disk-Based Flow Control

流控测试结果

per-connection flow

触发单个链接的流控可能是因为connection、channel、queue的某一个过程处于flow状态,这些状态都可以从监控平台上监控到。当单个队列达到最大流速时,或者多个队列达到总流速时,都会触发流控。

触发单个链接的流控,写消息的速率会降低,但是总体还是会有消息写入到消息队列中,所以说单个链接的流控不是阻塞状态的。

Memory-Based/Disk-Based Flow Control

内存和磁盘引起的全局流控,会导致线程一直处于网络写状态,线程被阻塞,且其他线程会处于Blocked状态。

线程状态信息如下:

"Thread-1" prio=6 tid=0x000000000c651800 nid=0xfb8 waiting for monitor entry [0x000000000d2be000]

java.lang.Thread.State: BLOCKED (on object monitor)

at java.io.BufferedOutputStream.write(Unknown Source)

- waiting to lock <0x0000000781641638> (a java.io.BufferedOutputStream)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/798572
推荐阅读
相关标签
  

闽ICP备14008679号