【发布时间】:2010-12-10 18:45:18
【问题描述】:
我对listen系统调用中的积压值有疑问。来自监听系统调用的手册页。
如果 backlog 参数大于 /proc/sys/net/core/somaxconn 中的值,那么它会被静默截断为该值;此文件中的默认值为 128。
这意味着我的服务器一次只能接受 128 怎么办?我可以简单地将值设置为可能的最大数量,以便我可以访问更多数量的连接吗??
【问题讨论】:
我对listen系统调用中的积压值有疑问。来自监听系统调用的手册页。
如果 backlog 参数大于 /proc/sys/net/core/somaxconn 中的值,那么它会被静默截断为该值;此文件中的默认值为 128。
这意味着我的服务器一次只能接受 128 怎么办?我可以简单地将值设置为可能的最大数量,以便我可以访问更多数量的连接吗??
【问题讨论】:
积压值不是最大连接数,而是未完成连接数,即您尚未接受的连接数:ed。
【讨论】:
这个数字只是连接队列的大小,新的连接等待某人接受它们。只要您的应用程序调用accept(),就会从该队列中删除一个等待连接。因此,您绝对可以同时处理超过 128 个连接,因为它们通常只在队列中花费很短的时间。
【讨论】:
【讨论】: