Windows服務器網(wǎng)絡訪問丟包延時高如何處理
當網(wǎng)站訪問很慢或無法訪問時,若排除其它顯著問題,而檢測到 ping 有明顯丟包時,建議您作鏈路測試。Windows 環(huán)境下,您可以通過 WinMTR 工具(優(yōu)先使用) 或 TRACERT 命令行工具進行鏈路測試來判斷問題來源。
通常情況下,請依照下述步驟進行處理:
利用鏈路測試工具探測網(wǎng)絡狀況和服務器狀態(tài)。
根據(jù)鏈路測試結果分析處理。
WinMTR 工具(優(yōu)先使用)
mtr(My traceroute)作為一款網(wǎng)絡測試工具,集成了 tracert 與 ping 這兩個命令的圖形界面。ping 與 tracert 通常被用來檢測網(wǎng)絡狀況和服務器狀態(tài),具體說明如下:
命令名稱 |
具體說明 |
ping |
送出封包到指定的服務器。如果服務器有回應就會傳送回封包,并附帶返回封包來回的時間 |
tracert |
返回從用戶的電腦到指定的服務器中間經(jīng)過的所有節(jié)點(路由)以及每個節(jié)點的回應速度。 |
WinMTR 是 mtr 工具在 Windows 環(huán)境下的圖形化實現(xiàn),適合 Windows 下做路由追蹤及 ping 測試。WinMTR 默認發(fā)送 ICMP 數(shù)據(jù)包進行探測,無法切換。
相比 TRACERT 命令行工具,WinMTR 能避免節(jié)點波動對測試結果的影響,測試結果更正確。Windows 環(huán)境下,建議優(yōu)先使用 WinMTR 進行鏈路測試。(點擊官方網(wǎng)站下載獲取。)
操作步驟
在官網(wǎng)下載 WinMTR 后 ,直接解壓運行。運行程序后,在 Host 字段輸入目標服務器域名或 IP(前面不要包含空格)。
單擊 Start 開始測試。(開始測試后,相應按鈕變成了 Stop。)
運行一段時間后,單擊 Stop 停止測試。
說明:您可以多測試幾分鐘,測試結束后,將結果導出。
Copy Text to clipboard:將測試結果以文本格式復制到粘貼板。
Copy HTML to clipboard:將測試結果以 HTML 格式復制到粘貼板。
Export TEXT:將測試結果以文本格式導出到指定文件。
Export HTML:將測試結果以 HTML 格式導出到指定文件。
Options:可選參數(shù)。具體包括:
1、Interval(sec):每次探測的間隔(過期)時間,默認為 1 秒。
2、Ping size(bytes): ping 探測所使用的數(shù)據(jù)包大小,默認為 64 字節(jié)。
3、Max hosts in LRU list: LRU 列表支持的最大主機數(shù),默認值為 128。
4、Resolve names:通過反查 IP 以域名顯示相關節(jié)點。
查看 WinMTR 運行后的返回結果。
說明:默認配置下,WinMTR 測試結果說明如下:
第一列(Hostname):到目的服務器要經(jīng)過的每個節(jié)點主機 IP 或域名。
第二列(Nr):節(jié)點編號。
第三列(Loss%):節(jié)點丟包率。ping 數(shù)據(jù)包回復失敗的百分比,由此可判斷那個節(jié)點(線路)出現(xiàn)故障,是服務器所在機房還是國際路由干路。
第四列(Sent):已發(fā)送的數(shù)據(jù)包數(shù)量。
第五列(Recv):已成功接收的數(shù)據(jù)包數(shù)量。
第六、七、八、九列(Best 、Avg、Worst、Last):分別是回應時間的最小值、平均值、最大值和最后一個數(shù)據(jù)包的回應時間。
TRACERT 命令行工具
TRACERT (Trace Route) 是 Windows 自帶的網(wǎng)絡診斷命令行實用程序,用于跟蹤 Internet 協(xié)議 (IP) 數(shù)據(jù)包傳送到目標地址時經(jīng)過的路徑。
TRACERT 通過向目標地址發(fā)送 ICMP 數(shù)據(jù)包來確定到目標地址的路由。在這些數(shù)據(jù)包中,TRACERT 使用了不同的 IP 生存期 (TTL) 值。由于要求沿途的路由器在轉(zhuǎn)發(fā)數(shù)據(jù)包前至少必須將 TTL 減少 1,因此 TTL 實際上相當于一個躍點計數(shù)器 (hop counter)。當某個數(shù)據(jù)包的 TTL 達到零 (0) 時,相應節(jié)點就會向源計算機發(fā)送一個 ICMP 超時 的消息。
TRACERT 第一次發(fā)送 TTL 為 1 的數(shù)據(jù)包,并在每次后續(xù)傳輸時將 TTL 增加 1,直到目標地址響應或達到 TTL 的最大值。中間路由器發(fā)送回來的 ICMP 超時 消息中包含了相應節(jié)點的信息。
操作步驟
在桌面底部單擊 開始 菜單,選擇 運行。
打開運行框后,在框中輸入 cmd 并單擊 確定。
在命令運行界面中,輸入 tracert ,按回車鍵后,界面將顯示 tracert 的用法說明。
根據(jù)具體用法,輸入待跟蹤的目標地址。
示例
C:\\> tracert -d 223.5.5.5
通過最多 30 個躍點跟蹤到 223.5.5.5 的路由
1 * * * 請求超時。
2 9 ms 3 ms 12 ms 192.168.17.20
3 4 ms 9 ms 2 ms 111.1.20.41
4 9 ms 2 ms 1 ms 111.1.34.197
5 11 ms * * 211.140.0.57
6 3 ms 2 ms 2 ms 211.138.114.62
7 2 ms 2 ms 1 ms 42.120.244.190
8 32 ms 4 ms 3 ms 42.120.244.238
9 * * * 請求超時。
10 3 ms 2 ms 2 ms 223.5.5.5
分析鏈路測試結果
以如下鏈路測試結果示例圖為基礎進行闡述:
操作步驟
判斷各區(qū)域是否存在異常,并根據(jù)各區(qū)域的情況分別處理。
區(qū)域 A:客戶端本地網(wǎng)絡,即本地局域網(wǎng)和本地網(wǎng)絡提供商網(wǎng)絡。針對該區(qū)域異常,客戶端本地網(wǎng)絡相關節(jié)點問題,請對本地網(wǎng)絡進行排查分析;本地網(wǎng)絡提供商網(wǎng)絡相關節(jié)點問題,請向當?shù)剡\營商反饋。
區(qū)域 B:運營商骨干網(wǎng)絡。針對該區(qū)域異常,可根據(jù)異常節(jié)點 IP 查詢歸屬運營商,并向當?shù)鼐W(wǎng)絡運營商反饋問題。
區(qū)域 C:目標服務器本地網(wǎng)絡,即目標主機歸屬網(wǎng)絡提供商網(wǎng)絡。針對該區(qū)域異常,需要向目標主機歸屬網(wǎng)絡提供商反饋問題。
結合 Avg(平均值)和 StDev(標準偏差),判斷各節(jié)點是否存在異常。
1、若 StDev 很高,則同步觀察相應節(jié)點的 Best 和 Wrst,來判斷相應節(jié)點是否存在異常。
2、若 StDev 不高,則通過 Avg 來判斷相應節(jié)點是否存在異常。
注意:上述 StDev 高 或者 不高,并沒有具體的時間范圍標準。而需要根據(jù)同一節(jié)點其它列的延遲值大小來進行相對評估。比如,如果 Avg 為 30 ms,那么,當 StDev 為 25 ms,則認為是很高的偏差。而如果 Avg 為 325 ms,則同樣的 StDev(25 ms),反而認為是不高的偏差。
查看節(jié)點丟包率,若 Loss% 不為零,則說明這一跳網(wǎng)絡可能存在問題。
導致節(jié)點丟包的原因通常有兩種:
1、人為限制了節(jié)點的 ICMP 發(fā)送速率,導致丟包。
2、節(jié)點確實存在異常,導致丟包。
確定當前異常節(jié)點的丟包原因。
若隨后節(jié)點均沒有丟包,說明當前節(jié)點丟包是由于運營商策略限制所致,可以忽略。如前文鏈路測試結果示例圖中的第 2 跳所示。
若隨后節(jié)點也出現(xiàn)丟包,說明當前節(jié)點存在網(wǎng)絡異常,導致丟包。如前文鏈路測試結果示例圖中的第 5 跳所示。
說明:前述兩種情況可能同時發(fā)生,即相應節(jié)點既存在策略限速,又存在網(wǎng)絡異常。對于這種情況,若當前節(jié)點及其后續(xù)節(jié)點連續(xù)出現(xiàn)丟包,而且各節(jié)點的丟包率不同,則通常以最后幾跳的丟包率為準。如前文鏈路測試結果示例圖所示,在第 5、6、7 跳均出現(xiàn)了丟包。所以,最終丟包情況,以第 7 跳的 40% 作為參考。
通過查看是否有明顯的延遲,來確認節(jié)點是否存在異常。通過如下兩個方面進行分析:
若某一跳之后延遲明顯陡增,則通常判斷該節(jié)點存在網(wǎng)絡異常。如前文鏈路測試結果示例圖所示,從第 5 跳之后的后續(xù)節(jié)點延遲明顯陡增,則推斷是第 5 跳節(jié)點出現(xiàn)了網(wǎng)絡異常。
注意:高延遲并不一定完全意味著相應節(jié)點存在異常,延遲大也有可能是在數(shù)據(jù)回包鏈路中引發(fā)的,建議結合反向鏈路測試一并分析。
ICMP 策略限速也可能會導致相應節(jié)點的延遲陡增,但后續(xù)節(jié)點通常會恢復正常。如前文鏈路測試結果示例圖所示,第 3 跳有 100% 的丟包率,同時延遲也明顯陡增。但隨后節(jié)點的延遲馬上恢復了正常。所以判斷該節(jié)點的延遲陡增及丟包是由于策略限速所致。
其它建議
若主機掉包和延遲非常高,建議作 WinMTR 雙向測試,即本地到服務器的和服務器到本地的測試。無法遠程登錄時,請通過管理終端進行登錄。