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