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