使用 PsPing进行网络测试
本文主要介绍微软的测试工具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 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带宽的极限。