經(jīng)典的”服務(wù)器最多65536個(gè)連接”誤解_負(fù)載集群教程
“因?yàn)門(mén)CP端口號(hào)是16位無(wú)符號(hào)整數(shù), 最大65535, 所以一臺(tái)服務(wù)器最多支持65536個(gè)TCP socket連接.” – 一個(gè)非常經(jīng)典的誤解! 即使是有多年網(wǎng)絡(luò)編程經(jīng)驗(yàn)的人, 也會(huì)持有這個(gè)錯(cuò)誤結(jié)論.
要戳破這個(gè)錯(cuò)誤結(jié)論, 可以從理論和實(shí)踐兩方面來(lái).
理論
系統(tǒng)通過(guò)一個(gè)四元組來(lái)唯一標(biāo)識(shí)一條TCP連接. 這個(gè)四元組的結(jié)構(gòu)是{local ip, local port, remote ip, remote port}, 對(duì)于IPv4, 系統(tǒng)理論上最多可以管理2^(32+16+32+16), 2的96次方個(gè)連接. 如果不僅僅考慮TCP, 則是一個(gè)五元組, 加上協(xié)議號(hào)(TCP, UDP或者其它).
實(shí)踐
服務(wù)器綁定一個(gè)ip:port, 然后accept連接, 所有accept的連接使用的本地地址也是同樣的ip:port.
擴(kuò)展內(nèi)容
如果某個(gè)客戶(hù)端向同一個(gè)TCP端點(diǎn)(ip:port)發(fā)起主動(dòng)連接, 那么每一條連接都必須使用不同的本地TCP端點(diǎn), 如果客戶(hù)端只有一個(gè)IP則是使用不同的本地端口, 該端口的范圍在*nix系統(tǒng)上的一個(gè)例子是32768到61000, 可以通過(guò)如下命令查看:
[[email protected] ~]# cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000
也就是說(shuō), 一個(gè)客戶(hù)端連接同一個(gè)服務(wù)器(比如進(jìn)行壓力測(cè)試), 最多可以發(fā)起30000個(gè)左右的連接.
TCP客戶(hù)端(TCP的主動(dòng)發(fā)起者)可以在同一ip:port上向不同的服務(wù)器發(fā)起主動(dòng)連接, 只需在bind之前對(duì)socket設(shè)置SO_REUSEADDR選項(xiàng).
系統(tǒng)支持的最大打開(kāi)文件描述符數(shù)(包括socket連接):
[[email protected] ~]# cat /proc/sys/fs/file-max
580382
單個(gè)進(jìn)程所能打開(kāi)的最大文件描述符數(shù):
[[email protected] ~]# ulimit -n
1024
結(jié)論
無(wú)論是對(duì)于服務(wù)器還是客戶(hù)端, 認(rèn)為”一臺(tái)機(jī)器最多建立65536個(gè)TCP連接”是沒(méi)有根據(jù)的, 理論上遠(yuǎn)遠(yuǎn)超過(guò)這個(gè)值.
- 介紹服務(wù)器安全熱點(diǎn)12項(xiàng)技術(shù)
- Web網(wǎng)關(guān)的安全和性能
- 避免危害DNS服務(wù)器安全部署的七宗罪
- web中緩存的使用方法
- 服務(wù)器管理最容易犯的十大錯(cuò)誤
- 自定義FTP 體驗(yàn)極速的下載快感
- RAID0、RAID1、RAID5磁盤(pán)陣列的區(qū)別
- 圖文詳解服務(wù)器返回的各狀態(tài)碼
- 利用OpenIPMI監(jiān)控服務(wù)器溫度
- DNS高級(jí)服務(wù)器選項(xiàng)
- apache防盜鏈的兩種實(shí)現(xiàn)方法
- 在多臺(tái)服務(wù)器上簡(jiǎn)單實(shí)現(xiàn)Redis的數(shù)據(jù)主從復(fù)制
負(fù)載集群教程Rss訂閱服務(wù)器教程搜索
負(fù)載集群教程推薦
- ISAPI Rewrite實(shí)現(xiàn)IIS 301轉(zhuǎn)向
- 服務(wù)器安全配置:常用的WEB服務(wù)器安全配置技巧
- 磁盤(pán)陣列入門(mén):如何組建RAID系統(tǒng)
- php.ini安全模式配置詳細(xì)解析
- DELL服務(wù)器利用OMSA修改BIOS設(shè)置
- 3條IIS服務(wù)器攻擊防范的安全設(shè)置
- 安裝Mysql+Apache2+php5過(guò)程
- Vps的安全設(shè)置問(wèn)題
- Win2003 防木馬、權(quán)限設(shè)置、IIS服務(wù)器安全配置整理
- 如何監(jiān)控HP服務(wù)器硬件狀態(tài)
- 相關(guān)鏈接:
- 教程說(shuō)明:
負(fù)載集群教程-經(jīng)典的”服務(wù)器最多65536個(gè)連接”誤解
。