服务器问题

香港服务器怎么检测最大并发连接数

  从理论上说,端口号的作用是在网络连接中标识利用层的过程,服务端一般应用众所周知的端口号进行监听,客户端连接时系统主动分配端口号。一个服务端过程服务于n个客户远程过程,只需要能通过ip地址+端口号的组合把他们区离开即可,没有必要占用本机的其他端口号,客户端连接数增长并不会占用服务器端口号,因此端口号并不能限制并发连接数。当然一台机器上端口号数量的上限确实是65536个,因为tcp首部中应用16bit去存储端口号。所以如果说65536影响了连接数,只有一种可能,就是同一台客户端机子上开n个过程去连同一个服务端过程,因为客户端ip是同一个,为了区分出这些连接,只能应用客户端连接的端口号,那么服务端和一个客户端主机之间的tcp连接数理论上线确实是65536。但是,服务端可以连接n多客户端机子呢。

  实际上,确实有个限制端口号的配置,就是MaxUserPort,这实际上是一台主机向外连接应用端口数的限制,这个数也可以配置的,可能默认值才5000,实际上对于正常的服务器主机是够用的,因为你是等别人连接进来的,不是要去连接很多不同的其他主机的。当然你的服务器上可能跑了一些转发的服务,这样你就需要对外连接了,如果被限制在这个配置这儿了确实需要改。但是这个MaxUserPort确实和服务器可以承载的来自客户端的并发连接数没有关系。

  伴随这个曲解的还有另外一个曲解,就是accept之后产生的已连接套接字占用了新的端口。这个绝对是毛病的,linux内核不会这么写的,因为完整没必要嘛。客户端连接上来之后产生的这个socket fd就是用来区分客户端的,里面会填上客户端的ip和端口作为发包用,来自客户端的包也会应用这个fd去读取。可以试试netstat -ano,然后起一个服务器看下,客户端连上来这后产生的套接字的服务端端口还是监听的端口。




免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:bkook@qq.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
上一篇:美国服务器的性能及适合开展什么业务
下一篇:租用美国服务器如何选择配置
0

在线
客服

在线客服服务时间:9:00-18:00

客服
热线

19899115815
7*24小时客服服务热线

关注
微信

关注官方微信
顶部