【问题标题】:Is there a maximum number of connections for Unix domain sockets?Unix 域套接字是否有最大连接数?
【发布时间】:2015-01-29 01:24:01
【问题描述】:

对于 TCP/IP 连接,如果只有一个目标端口(来源:What is the theoretical maximum number of open TCP connections that a modern Linux box can have),则两台主机之间最多有 64k 连接。 Unix 域套接字是否有连接限制,还是仅受文件描述符数量的限制?

【问题讨论】:

    标签: sockets unix ulimit unix-socket


    【解决方案1】:

    如果您依赖自动绑定来提供地址,则地址空间会受到限制,现代内核上为 2^20,这在 unix(7) 手册页中有说明。

    正如您所说,我认为实际上限制是打开文件。

    【讨论】:

      【解决方案2】:

      我发现 unix 域套接字有两个限制:

      1 - 基于进程可以打开的并发文件描述符数量的限制: 并发客户端的数量受到进程可以打开的文件数量的限制,默认情况下取消一些使用的文件描述符 = 1014 个并发连接,但是可以使用 ulimit 命令更改。 在这里阅读更多https://titanwolf.org/Network/Articles/Article?AID=2fbb967c-c507-4798-990d-edc3a9b132a8

      2 - 地址大小的自动绑定功能限制,本质上,如果您使用自动绑定功能或安全标志,地址限制为 2^20 个自动绑定地址。从 Linux 2.1.15 开始,添加自动绑定功能时,使用了 8 个字节,因此限制为 2^32 个自动绑定地址。在 Linux 2.3.15 中更改为 5 字节。 在这里阅读更多https://man7.org/linux/man-pages/man7/unix.7.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-10
        • 1970-01-01
        • 2012-07-02
        • 1970-01-01
        相关资源
        最近更新 更多