误区一
1.文件句柄---文件描述符
每开一个链接,都要消耗一个文件套接字,当文件描述符用完,系统会返回can't open so many files
这时你需要明白操作系统对可以打开的最大文件数的限制。
1>进程限制
每个进程最多只可打开1024个文件描述符
2>全局限制
输入cat /proc/sys/fs/file-nr ,第一个显示已经分配的文件描述符 第二个表示以分配但是没有使用的文件描述符 第三个表示最大的文件描述符数目
误区二
2.端口号限制
操作系统中有65535个端口,除前1000个为系统占用其他的都为用户使用,然而
1>对于每一个TCP链接,在accept时第二个参数表示客户端的ip和端口号,而作为服务器端,只有bind时用到端口号,所以端口号并不是限制并发的约束条件
2>server对大的连接数应该是2^32 * 2^16 2^32表示IP的数目 2^16 表示端口的数目
所以服务器的TCP并发链接受到带宽,链路内存的限制。