Linux使用超過 65535 個port - LinuxSteve · 2011-09-02Table of ContentsPostCommentsRelated Posts 因為port是16-byte,即使是64-bit Linux,在寫socket程式時, 最多只能用65535個port,也就是最多只能同時有65535個對外的 連結 (outbound connections)。若要突破這個限制,理論上可 以使用多張網路卡,因為每個IP理論上都可有65535個port,請問 有人實際上試過嗎? 這方法真的可行嗎? -- LinuxAll CommentsDinah2011-09-05這種情況多半就會配多台Server,不然就直接多 Bind IPJacob2011-09-07IP Alias, 不須要特別加網卡, 你要先擔心Server效能不夠Christine2011-09-111.用UDP,2.改用IPV6Lucy2011-09-15剛好試完IP alias回來 發現IP alias似乎不可行 即使IP不同 bind同一個port時還是不行 server效能倒是不用擔心 之Tristan Cohan2011-09-17前模擬過約60萬個connections 可以跑得動 使用UDP受到另Irma2011-09-22一端的限制 沒辦法改 接下來準備要試看看實際再裝一個NICAgatha2011-09-26若不行只好試IPV6Tom2011-09-27我覺得你應該沒跑到60萬,是看到netfilter的數字吧Damian2011-10-02我是說模擬的 尚未真的試 這台server算是蠻powerful的Quanna2011-10-032TB memory, 8-socket Westmere EX, 32TB SSDSandy2011-10-06是很powerful,不過現在有一個程式就能接60萬connection?Rachel2011-10-07可以看一下 /proc/`pidof xxx`/fd | grep socket | wc -lThomas2011-10-11我是說模擬的 尚未真的試 如果真的試過的話 我就不會在煩惱65535的限制了Harry2011-10-15我個人覺得IP Alias 沒問題,但是你 client 連到 serverAgatha2011-10-17有辦法確定真的 bind socket 到這些 IP, 而不是單一 IPWilliam2011-10-19這倒是確認過了 IP的確是IP alias設的不同IP 但不能bind到同個port numberIvy2011-10-21你bind時, sin_addr有指明IP嗎?Ingrid2011-10-25當然Blanche2011-10-28你要先煩惱kernel也有opened fd上限這件事Andy2011-11-02找到問題的所在了 是2.6.38 mainline kernel的一個bug 在Noah2011-11-03大型server且使用大量memory和cpu下 某些極端的情況下會Rachel2011-11-04IP alias設的不同IP無法bind同一個port 後來移到Daph Bay2011-11-042.6.39 rc 後 就沒有這問題 可以使用超過 65535 個Lauren2011-11-05connections 這算是使用mainline或是rc版本的缺點之一 之Hedy2011-11-10前才file一個SCSI layer的bug在2.6.38 對大型server的Kyle2011-11-14IO效率可影響一倍以上Related PostsNAT port mapping一問VMware cannot open the disk 'xxx.vmdk'更改家目錄後RVM壞了...PCManX svn562 (多國語言版) Debian Si …noseeing的無蝦米檔案是否還能下載的到?
All Comments