本文主要介紹微軟的測試工具Psping,該工具功能主要包括:ICMP Ping、TCP Ping、延遲測試、帶寬測試ide
須要說明一種應用場景:因爲Windows Azure數據中心禁ICMP,使用Psping的TCP Ping的功能來測試聯通性或者故障排查就很是有用了。工具
工具下載地址: http://technet.microsoft.com/en-us/sysinternals/jj729731測試
下載完PSTools.zip包以後,放到任意本地磁盤內,解壓以後以下:網站
使用CMD命令行工具進入PSTools所在的文件夾路徑,單獨輸入psping,可見psping四個主要功能的幫助命令,四個功能分別是ICMP Ping、TCP Ping、延遲測試、帶寬測試。spa
【Part.1】ICMP ping功能命令行
輸入psping -? i獲取ICMP ping相關參數 3d
psping -4 -n 10 -w 2 -h 10 180.76.76.76orm
-4表明強制使用IPv4聯機xml
-n表明正式ping包的個數,或者定義使用秒s做爲單位blog
-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帶寬的極限。