Windows查看TCP連接數


https://social.technet.microsoft.com/Forums/windowsserver/zh-CN/52a5f198-976c-4432-8322-6a28035d3745/tcp3683025509259682002610?forum=winserver8zhcn

線上服務器遇到幾次相同現象的問題:可以正常遠程訪問服務器,資源消耗不多,但是網頁或是socket無法連接,連接錯誤是ERR_CONNECTION_REFUSED,也就是服務器拒絕了。首先可以確認不是ddos流量攻擊,因為流量攻擊肯定遠程也連不上。導致這個問題的絕大部分原因是服務器的TCP連接被占滿了。從資源管理器中看到的是10,滿的,全綠,並不是表示有10個鏈接,而是表示量級是10級

怎么占滿的呢?我們遇到了這幾個情況:

  • 客戶端有bug,在斷線重連的時候有一個死循環不斷請求連接,服務器重啟的時候很多客戶端同時連接,把TCP占滿了

  • php后台,apache環境,配置有問題,導致php大量請求沒有釋放。后來改成nginx解決的

  • cc攻擊,大量請求訪問網站,導致TCP占滿

如果遇到了這個問題,如何查看呢,打開Windows Task Manager(任務管理器)->Performance(性能)->Resource Monitor(資源監視器),在這個頁面會看到TCP連接數的圖表,在右邊,正常情況是沒有占滿的,如果出現問題會顯示滿了,變成0-10,看不到現在是多少,這時候可以在Run(運行)中輸入perfmon.msc打開Performance Monitor(性能監視器),在菜單欄,點擊加號,選擇IPv4(如果你的程序是IPv6,那就選擇IPv6),添加進來,就可以具體看到TCP的連接數和曲線,也可以看到是哪個進程占用的多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM