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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM