前面是介绍了性能测试工具netperf,今天再分享另一款好用的网络性能测试工具iperf,基本的测试原理同netperf相似这里就不多做介绍了,iperf可以测试出网络吞吐率,延迟抖动和数据包丢失,最大组和MTU等统计信息。
第一步安装软件:基本环境两台linux服务器,两台上都安装相同版本的iperf,如果版本不一致可能会出错。按如下步骤在linux下安装iperf软件,我本地使用iperf-2.0.5.tar.gz :
-
- [root@liujing tmp]# tar zxvf iperf-2.0.5.tar.gz //解压缩文件
- [root@liujing tmp]# cd iperf-2.0.5 //进入解压后的文件夹
-
- [root@liujing iperf-2.0.5]# ./configure //配置文件
- [root@liujing iperf-2.0.5]# make //编译安装
- [root@liujing iperf-2.0.5]# make install
第二步:测试
服务器端开启服务监听:
[root@SERVER1 ~]# iperf -s
参数:-s 表示服务端
client端使用如下命令输出如下:
-
- [root@SERVER2 ~]# iperf -c 1.1.1.10 -t 10 -m -d
- ------------------------------------------------------------
-
- Server listening on TCP port 5001
- TCP window size: 85.3 KByte (default)
-
- ------------------------------------------------------------
- ------------------------------------------------------------
-
- Client connecting to 1.1.1.10, TCP port 5001
- TCP window size: 266 KByte (default)
-
- ------------------------------------------------------------
- [ 5] local 1.1.1.11 port 49772 connected with 1.1.1.10 port 5001
-
- [ 4] local 1.1.1.11 port 5001 connected with 1.1.1.10 port 48652
- [ ID] Interval Transfer Bandwidth
-
- [ 5] 0.0-10.0 sec 861 MBytes 722 Mbits/sec
- [ 5] MSS size 1448 bytes (MTU 1500 bytes, ethernet)
- [ 4] 0.0-10.0 sec 1.06 GBytes 908 Mbits/sec
- [ 4] MSS size 1448 bytes (MTU 1500 bytes, ethernet)
参数:-c 表示客户端 后跟的IP为对端服务器的IP地址。
-t 表示测试时长
-d 表示双向测试,服务端打向客户端同时客户端也打向服务端
-m 表示打印出TCP MSS大小
还有一些常用参数如:
-p 后加数字比如10 表示10个进程同时跑,如果一个网络中带宽不是瓶劲那么可以用多个进程同时跑这样可以有效利用好服务器资源。
-w 表示滑动窗口大小例:两端都配置上-w 64KB,就可以把两端的滑动窗口调整为64KB。
-u 表示使用UDP协议测试,默认情况下使用TCP协议测试。如果想用UDP测试需要两端都配置上-u。
如上我的实际测试结果可以看出我用了双向测试所以有两个进程号:
进程4是本地客户端1.1.1.11端口号5001连接服务器1.1.1.10端口号48652,这个方向的测试结果为测试10秒、发送1.06 GBytes、吞吐率908 Mbits/sec、MSS大小1448 BYTES。
进程5是本地客户端1.1.1.11端口号49772连接服务器1.1.1.10端口号5001,这个方向的测试结果为测试10秒、发送861 MByte、吞吐率722 Mbits/sec、MSS大小1448 BYTES。

2012年6月27日 上午9:00 沙发
来学习一下,好棒的内容