linux下,抛开性能上的影响,程序监听套接字的数量限制主要几个方面:
1:操作系统方面限制是句柄数量的限制,也就是65535个可用句柄去掉预先保留的,大概在5万个左右,注意文件句柄和套接字句柄是共用的,都在这65535个里面。
2:进程方面的限制,linux系统对单个进程的默认打开句柄数量限制是1024,考虑到文件操作也会占用句柄,可用于socket监听的句柄大概1000个,这个限制可以修改,不同linux版本可能有点不一样,centos是通过命令ulimit-n的方式去修改,要改成10240,就是
3:IO模型的限制,select模型的限制是1024,个,epoll是无限制的,完全根据上面2个的最大值。