windows 2008 以後,微軟遵從國際標準,動態埠的數量調整為16384個 (從49152起始,到65536結束),如果伺服器對外有大量連線,而tcp預設的time wait delay時間為2分鐘這可能導致埠耗盡。解決方法如下:
1、請以管理員身份開啟cmd,執行如下命令:
netsh inte***ce ipv4 show tcpstats
netsh int ipv4 show dynamicport tcp
檢視一下,是否埠耗盡,目前埠數量是多少,如果確認埠耗盡。
2、 增大動態埠數量
netsh int ipv4 set dynamicport tcp start=1025 num=60000
其中1025是起始埠號,num為數量,上述命令意思為從1025開始的60000個埠,到61025結束。
注:該步驟無需重啟機器, 立即生效
修改後執行命令檢查配置
3、 降低time wait時間,最低為30秒
開啟登錄檔,定位到 hklm/system/currentcontrolset/services/tcpip/parameters
新增鍵值 tcptimedwaitdelay,型別reg_dword , 設定為十進位制30
注:修改後重啟生效
以上是對ipv4下的tcp協議操作,其他協議命令如下:
netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp
netsh int ipv6 show dynamicport tcp
netsh int ipv6 show dynamicport udp
簡單的例子如下:
netsh int ipv4 set dynamicport tcp start=10000 num=1000
netsh int ipv4 set dynamicport udp start=10000 num=1000
netsh int ipv6 set dynamicport tcp start=10000 num=1000
netsh int ipv4 set dynamicport udp start=10000 num=1000
MySQL連線過多
現象 error 1040 too many connections 我只能將伺服器重啟,然後更改連線超時 一般mysql可以設定 max connections 500 mysql 預設好像是100 可以參考 高效能mysql 第八章338 342 如果不對連線時間進行控制,有些程式設計師寫 的時...
TCP連線中TIME WAIT連線過多
原文 主題tcp ip socket timewait並不是多餘的 在tcp協議被創造,經歷了大量的實際場景實踐之後 timewait 出現了,因為tcp主 動關閉連線的一方需要timewait狀態,它是我們的朋友。這是 unix網路程式設計 的作者 steven對timewait的態度。tcp要保...
半連線過多耗盡資源
半連線太多編輯 這個攻擊的解決方法如下 1,增加未完成連線佇列 q0 的最大長度。echo 1280 proc sys net ipv4 tcp max syn backlog 2,啟動syn cookie。echo 1 proc sys net ipv4 tcp syncookies 這些是被動的...