如何提高伺服器連接數
『壹』 怎樣修改windows伺服器中最大的tcp連接數
在做性能測試測試時候,如果被測試的系統頁面很簡單,並且性能很好,這樣會導致壓力機得tcp鏈接數不夠而導致如下錯誤:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay to 30
and HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\MaxUserPort to 65534
and rebooting the machine
See the readme.doc file for more information
通過網路搜索介紹最多的還是讓修改TimedWaitDelay 和MaxUserPort這2個值,其中是將TimedWaitDelay修改的相對小點,可以根據實際情況來定,
同時將MaxUserPort這個值修改大些,但是修改完並重啟機器後,該問題仍然存在,通過多方查資料,然後對一些注冊表進行修改:
[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]
TcpNumConnections = 0x00fffffe (Default = 16,777,214)
以上注冊表信息配置單機的最大允許的TCP連接數,默認為 16M。這個數值看似很大,這個並不是限制最大連接數的唯一條件,還有其他條件會限制到TCP 連接的最大連接數。
最大動態埠數
TCP客戶端和伺服器連接時,客戶端必須分配一個動態埠,默認情況下這個動態埠的分配范圍為 1024-5000 ,也就是說默認情況下,客戶端最多可以同時發起3977 個Socket 連接。我們可以修改如下注冊表來調整這個動態埠的范圍
[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]
MaxUserPort = 5000 (Default = 5000, Max = 65534)
最大TCB 數量
系統為每個TCP 連接分配一個TCP 控制塊(TCP control block or TCB),這個控制塊用於緩存TCP連接的一些參數,每個TCB需要分配 0.5 KB的pagepool 和 0.5KB 的Non-pagepool,也就說,每個TCP連接會佔用 1KB 的系統內存。
系統的最大TCB數量由如下注冊表設置決定
[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]
MaxFreeTcbs = 2000 (Default = RAM dependent, but usual Pro = 1000, Srv=2000)
非Server版本,MaxFreeTcbs 的默認值為1000 (64M 以上物理內存)
Server 版本,這個的默認值為 2000。
也就是說,默認情況下,Server 版本最多同時可以建立並保持2000個TCP 連接。
最大TCB Hash table 數量
TCB 是通過Hash table 來管理的,下面注冊表設置決定了這個Hash table 的大小
HKEY_LOCAL_MACHINE \System \CurrentControlSet \services \Tcpip \Parameters]
MaxHashTableSize = 512 (Default = 512, Range = 64-65536)
這個值指明分配 pagepool 內存的數量,也就是說,如果MaxFreeTcbs = 1000 , 則 pagepool 的內存數量為 500KB
那麼 MaxHashTableSize 應大於 500 才行。這個數量越大,則Hash table 的冗餘度就越高,每次分配和查找 TCP 連接用時就越少。這個值必須是2的冪,且最大為65536.
MaxUserPort = 65534 (Decimal)
MaxHashTableSize = 65536 (Decimal)
MaxFreeTcbs = 16000 (Decimal)
這里我們可以看到 MaxHashTableSize 被配置為比MaxFreeTcbs 大4倍,這樣可以大大增加TCP建立的速度。
『貳』 如何修改windows伺服器最大的tcp連接數
眾所周知,為了防範蠕蟲病毒的傳播和攻擊,Windows XP SP2將並發線程最多限制為10個。SP2利用Messages動態鏈接庫,來實時監控每個進程的並發線程數目,一旦它發現某進程的線程數超過10個,就會屏蔽掉部分線程。SP2這樣做,雖然可以防範震盪波類型的蠕蟲病毒,加強系統安全,但是也帶了一些負面影響,例如當你使用BT、P2P或FlashGet軟體下載時,部分線程將被屏蔽掉,因此下載速度會變得很慢。為此,你可以採取以下對策,來突破TCP並發連接數,從而提高SP2的多線程訪問速度。
一、注冊表修改法的誤區
為了突破SP2對TCP並發連接數的限制,網上曾經流傳過一種修改注冊表的方法,操作步驟如下:
單擊「開始」/運行,輸入Regedit打開注冊表,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下,修改的「TcpNumConnections」的鍵值,將之由10改為250,即設置TCP最大並發連接數為250。
經過實際測試,我們發現該方法看起來有效,但實質上並不能突破並發連接數限制,提高SP2的多線程訪問速度。因為SP2對線程數目的控制,是通過「Tcpip.sys」這個系統文件來實現的,並不是通過注冊表實現的,因此,該方法不能增加SP2的TCP並發連接數。
二、使用工具來替換Tcpip.sys
為了突破SP2的TCP並發連接數限制,正確地方法是修改Windows XP SP2的系統文件Tcpip.sys。Tcpip.sys是Windows XP SP2重要的系統文件,位於「C:\Windows\system32\drivers目錄下。該文件由於平時受到系統保護,所以正常情況下你是無法替換它的,必須在安全模式或純DOS模式下才能替換,建議你使用以下專門工具、來替換「Tcpip.sys」文件,操作步驟如下:
從網上下載替換工具(僅為30KB),用它來修改系統文件Tcpip.sys最大安全並發連接限制;然後備份一下C:\Windows\system32\drivers\Tcpip.sys文件。
接下來,雙擊打開下載文件ZIP壓縮包,運行其中的替換工具EvID4226Patch.exe,隨之將彈出一個命令行提示符窗口,首先顯示Windows當前的Tcpip.sys文件版本,以及並發連接的限制數值(默認為10);接著詢問你是否將連接數限制在50(如下圖1),你可以選擇「Yes/No/Change」,如果你輸入「Y」,則會將並發連接數改為「50」,如果想改為其他數(例如250),可以在提示符後輸入「c」,然後輸入最大的並發連接數(例如250)回車,最後在提示符下輸入「Y」並回車,這樣就替換了Tcpip.sys文件;Tcpip.sys文件被替換後,隨之會彈出系統文件保護對話框,你可以點擊「取消」按鈕,然後點擊「是」按鈕,重新啟動後,Tcpip.sys文件的替換就大功告成了!
現在你的最大並發連接數已超過10個,達到了250個,因此Windows XP SP2的多線程訪問速度得到了提升,當你用FlashGet、BT等多線程下載時,就不會感到網路帶寬的限制了。
三、DOS下修改Tcpip.sys文件
以上替換程序EvID4226Patch.exe也可以在DOS下使用,方法是:首先把EvID4226Patch.exe拷貝到C盤根目錄下;然後再進入DOS模式,進入C盤根目錄,輸入命令EvID4226Patch/L=$n$/w=C:\WINDOWS\system32\drivers/L=tcpip.sys即可修改Tcpip.sys文件。
注意:以上$n$為你要設置的最大安全連接數,假如要把最大並發連接數設置為250個線程,那麼輸入命令EvID4226Patch/L=150/w=C:\WINDOWS\system32\drivers/L=tcpip.sys即可。
四、使用比特精靈附帶的工具
比特精靈附帶的工具「TCP/IP連接數破解補丁」也可以替換Tcpip.sys,突破SP2的TCP並發連接數限制。
從網上下載比特精靈(BitSpirit)V2.7.2.225簡體中文正式版,然後雙擊下載文件進行安裝。你可以選擇安裝哪些組件(下圖2),應該安裝「用於Windows XP SP2的TCP/IP連接數破解補丁」,安裝結束後,XP開始菜單中就會有BitSpirit程序組,單擊其中的「XP SP2連接數破解補丁」,即可修改Tcpip.sys文件。
單擊「XP SP2連接數破解補丁」,彈出該軟體的界面,界面中列出了當前Tcpip.sys的版本、及最大並發連接數(右圖3),你可以在「TCP/IP Linitation」輸入一個數,來設置最大並發連接數,例如輸入250,然後按「Apply」按鈕,重啟系統後,你的SP2最大並發連接數就改為了250。
以上幾種方法雖然提高了Windows XP SP2的多線程訪問速度,但卻降低了SP2的安全性能,如果你的電腦感染了病毒和木馬,過多地啟用新線程,會加速病毒和木馬地蔓延,因此你在追求網路下載速度的同時,也要注意網路安全。建議你及時安裝升級殺毒軟體和防火牆,如果是普通用戶,可以利用上面的方法,將TCP最大並發連接數設置為5~8,BT用戶可以設置為160~400。