本文主要介绍微软的测试工具Psping,该工具功能主要包括:ICMP PingTCP Ping、延迟测试、带宽测试

需要说明一种应用场景:由于Windows Azure数据中心禁ICMP,使用PspingTCP Ping的功能来测试联通性或者故障排查就非常有用了。

工具下载地址:

 

下载完PSTools.zip包之后,放到任意本地磁盘内,解压之后如下:

使用CMD命令行工具进入PSTools所在的文件夹路径,单独输入psping,可见psping四个主要功能的帮助命令,四个功能分别是ICMP PingTCP Ping、延迟测试、带宽测试。

 

Part.1ICMP 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.2TCP 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 BytesTCP联机在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个数据包

 

输出结果显示我测试我的PCAzure VM之间带宽为470KB/s,其实是因为我的工位的PC被公司IT限速为500KB/s了,所以压到了我PC带宽的极限。