Rabbitmq之socket descriptors

Posted llwxhn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rabbitmq之socket descriptors相关的知识,希望对你有一定的参考价值。

        rabbitmq最大连接数(Socket Descriptors),RabbitMQ的socket连接数(socket descriptors)是文件描述符(file descriptors,fd)的一个子集

也就是说,RabbitMQ能同时打开的最大连接数和最大文件句柄数(文件系统,管道)都是受限于操作系统关于文件描述符数量的设置,两者是此消彼长的关系。

       初始时,可用socket描述符与可用fd数量的比率大概在0.8-0.9左右,这个值并不固定,当socket描述符有剩余时,

RabbitMQ会使用尽量多的文件描述符用于磁盘文件读写。随着服务器建立越来越多的socket连接,文件句柄开始回收,数量减少。

        总之,RabbitMQ会优先将文件描述符用于建立socket连接,宁可牺牲频繁打开/关闭文件带来的磁盘操作性能损耗,

这种取舍很容易理解,作为网络服务器,当然优先保障网络吞吐率了。因此,对于高并发连接数的多队列读写时,队列性能会稍微差那么一点,比如用RabbitMQ做RPC。

当服务器建立的socket连接已经达到限制(sockets_limit)时,服务器不再接受新连接。这里要区分清楚,RabbitMQ不再接收的是AMQP连接,而不是传输层的TCP连接,

       参考链接: https://blog.csdn.net/huoyunshen88/article/details/42779389

以上是关于Rabbitmq之socket descriptors的主要内容,如果未能解决你的问题,请参考以下文章

python运维开发之第十一天(RabbitMQ,redis)

201904Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descripto

springboot集成RabbitMQ,Eclipse开发集成RabbitMq,IDEA集成RabbitMQ报错 socket close

如何在windows下突破Rabbitmq的socket限制

rabbitmq

rabbitmq 从channal获得socket