測試下載速度只能給我們一個網路效率的粗略情況,有時候我們還要收集更多的資訊
1:測試響應延時與丟包率
ping -l 包大小 應用伺服器ip -n 次數 (或者-t)
例如 ping 202.106.160.182 –l 1024 –n 300
這表示本地用戶端ping應用伺服器202.106.160.182,以大小為1024byte的包去ping,一共ping 300個包(如果1秒鐘ping一個包的話,事實上是持續ping上3分鐘)。此處如果不指定-l,則預設是32byte,有時候我們需要用不同大小的包多ping幾次,因為路由都存在小包優先的層級設定,有時後ping小包很快並不見得你網路也就很快;
除了指定不同大小的包去ping之外,還需要考慮在不同的時間點去ping,因為internet上網負載有一定的規律性,如上午9-11點,下午3-5點,網上負載會比較大,這些時間點與其它時間點,其ping的結果可能會相差比較大。
下面看一個ping的結果:
……….
Reply from 211.97.55.129: bytes=32 time=1921ms TTL=244
Ping statistics for 211.97.55.129:
Packets: Sent = 300,Received = 271, Lost = 29 (9% loss),
Approximate round trip times in milli-seconds:
Minimum = 687ms, Maximum =4233ms, Average = 1914ms
我們可以看到:響應延時很長,丟包率很高。
響應延時與丟包率,任一項都能反映出串連狀況的好壞。
2:ping測試傳輸單元最大值
有時候,ping小包通大包丟包率高,上其它網站網頁速度也正常,這種情況(尤其是在應用了VPN網關的公網應用中,時有出現)下,就要考慮檢查用戶端到應用伺服器端的MTU(傳輸單元最大值)或者TCP的MSS設定了,通過以下命令可以檢查MTU:
Ping–f –l 包大小 應用伺服器ip
-f選項表示不切割包的大小進行傳輸
例如:
ping -f -l 1472 10.1.70.1
Reply from10.1.70.1: bytes=1472 time=2ms TTL=255
Reply from10.1.70.1: bytes=1472 time=2ms TTL=255
……
ping -f -l 1473 10.1.70.1
Packet needs tobe fragmented but DF set.
Packet needs tobe fragmented but DF set.
……
這就表明此用戶端機器到10.1.70.1的傳輸單元最大值mtu為1472+28(乙太網路內封裝包頭長度)=1500,凡是大於1500的包都需要被切割。乙太網路內預設的mtu就是1500,因此用戶端機器系統的mtu與伺服器端系統的mtu,預設情況一般都是1500,同樣,網路上相關路由及網關其mtu預設情況下也是1500,但有些情況下其設定的預設值有可能小於1500,尤其是許多VPN路由裝置,在這種mtu不一致的情況下,就有可能會出現丟棄包的現象,導致效率問題。
這個時候,你就要考慮調整用戶端、伺服器端、路由(或網關)其mtu來進行測試了,直到找到一個合適的mtu設定值為止。
3:mtu與TCP MSS
網上有許多易用直觀的工具來最佳化調整機器系統的mtu,比如 TCP Optimizer:
可以很方便的修改原生mtu值
可以很方便的檢測此用戶端機器到伺服器的mtu
對於路由器中參數設定,可修改路由器介面MTU、TCP MSS值,解決問題。
具體報文mtu、tcp mss大小要根據具體應用,按經驗值進行嘗試,選擇最佳值;其中MTU值的選擇可以通過ping命令設定不分區來進行測試;TCP MSS值的選擇則可以通過MTU減去相應其它加密、鏈路層開銷、IP頭、TCP頭等位元組計算。
4:路由檢查:
Ping能夠收集到網路連接中包響應延時與丟包率等資訊,但有時,我麼會需要更進一步的詳細資料,比如,網路慢,是慢在哪一段,慢在哪個路由,這個時候,我們可以通過用tracert以及pathping等命令來擷取這些資訊。
如下例:tracert220.201.36.30
Tracing route to 220.201.36.30 over amaximum of 30 hops
1 <10 ms <10 ms <10 ms 192.168.33.1 區域網路地址
2 <10 ms <10 ms <10 ms 192.168.101.1 區域網路地址
3 15 ms <10 ms <10 ms 10.14.27.1 區域網路地址
4 <10 ms <10 ms 16 ms 10.1.4.11 區域網路地址
5 <10 ms <10 ms <10 ms 10.1.10.33 區域網路地址
6 <10 ms <10 ms <10 ms 10.1.10.81 區域網路地址
7 <10 ms <10 ms 15 ms 218.61.254.173 遼寧網通地址
8 <10 ms 15 ms <10 ms 218.61.254.141 遼寧網通地址
9 16 ms <10 ms <10 ms 218.61.255.177 遼寧網通地址
10 <10 ms 15 ms <10 ms 218.61.255.197 遼寧網通地址
11 16 ms 31 ms 31 ms 219.158.8.241 北京網通地址
12 15 ms 32 ms 31 ms 219.158.11.126 北京網通地址
13 468 ms 454 ms 453 ms 219.158.28.214 北京網通地址
14 453 ms 453 ms 453 ms 211.94.56.50 北京聯通地址
15 453 ms 453 ms 453 ms 211.94.54.214 北京聯通地址
16 484 ms 454 ms 484 ms 211.93.132.6 遼寧聯通地址
17 469 ms 453 ms 469 ms 211.93.132.82 遼寧聯通地址
18 469 ms 453 ms 453 ms 10.254.2.1 遼寧聯通內部地址
19 220.201.36.30 目標地址
Trace complete.
從以上資料可以看出,網路速度主要慢在北京網通與北京聯通的網路介面219.158.28.214上.