本文主要介紹微軟的測試工具Psping,該工具功能主要包括:ICMP Ping、TCP Ping、延遲測試、帶寬測試
需要說明一種應用場景:由於Windows Azure數據中心禁ICMP,使用Psping的TCP Ping的功能來測試聯通性或者故障排查就非常有用了。
工具下載地址: http://technet.microsoft.com/en-us/sysinternals/jj729731
下載完PSTools.zip包之後,放到任意本地磁盤內,解壓之後如下:
使用CMD命令行工具進入PSTools所在的文件夾路徑,單獨輸入psping,可見psping四個主要功能的幫助命令,四個功能分別是ICMP Ping、TCP Ping、延遲測試、帶寬測試。
【Part.1】ICMP ping功能
輸入psping -? i獲取ICMP ping相關參數
psping -4 -n 10 -w 2 -h 10 180.76.76.76
-4代表強制使用IPv4聯機
-n代表正式ping包的個數,或者定義使用秒s作爲單位
-w代表熱身ping包的個數,即正式測試前先進行多少次熱身測試連接
-h代表最小與最大延遲毫秒數
另外幾個參數解釋如下:
-i代表間隔秒數,快ping則設置爲0
-l代表ping包大小,默認單位是byte。使用 k爲單位代表kilobytes(KB),使用m爲單位代表megabytes(MB)
-q代表ping過程中不一個個輸出值
-t代表長ping不停
-6代表強制使用IPv6聯機
psping -i 0 -4 -n 10 -w 2 -h 10 -q 180.76.76.76
由於設置了-i 0這個參數,瞬間出結果
設置了-q則不再顯示中間的輸出過程,直接輸出結果
-l和-t和-6不在此演示了。
【Part.2】TCP Ping功能
使用psping -? t獲取幫助信息
psping -n 10 -w 2 -h 10 42.159.27.213:443
與ping功能相同的參數定義:
-n代表正式ping包的個數,或者定義使用秒s作爲單位
-w代表熱身ping包的個數,即正式測試前先進行多少次熱身測試連接
-h代表最小與最大延遲毫秒數
-i代表間隔秒數,快ping則設置爲0
-l代表ping包大小,默認單位是byte。使用 k爲單位代表kilobytes(KB),使用m爲單位代表megabytes(MB)
-q代表ping過程中不一個個輸出值
-t代表長ping不停
-4代表強制使用IPv4聯機
-6代表強制使用IPv6聯機
【Part.3】延遲測試
使用psping -? l獲取延遲測試時的幫助信息。
我使用Azure VM搭建了網站部署在8081端口,42.159.27.213:8081
psping -l 1500 -n 300 -h 10 42.159.27.213:8081
-l 1500代表我發送的數據包大小爲每個1500 Bytes,TCP聯機在Layer 2 Ethernet中的MTU (Maximum Transmission Unit)通常以1500 Bytes爲一個單位
-n 300代表放鬆300個封包
那麼300*1500Bytes=450000Bytes,絕大多數在5ms內響應
【Part.4】帶寬測試
psping -? b
psping -b -l 1500 -n 15000 42.159.27.213:8081
-b代表將進行帶寬測試
-l 1500代表使用大小1500Bytes的數據包
-n 15000代表使用15000個數據包
輸出結果顯示我測試我的PC與Azure VM之間帶寬爲470KB/s,其實是因爲我的工位的PC被公司IT限速爲500KB/s了,所以壓到了我PC帶寬的極限。