yum install -y epel-release
yum install -y iperf
iperf-doc中介绍iperf的参数。
$iperf -p 5201 -s
-s: server模式
-p: 监听端口,默认5001
$iperf -p 5201 -c 192.168.10.2 -l 1M -t 120
-p: server端口,默认5001
-c: server地址
-l: 每次发送的数据的长度,默认tcp是128K,UDP是8K。
-t: 持续的时间
tools-NetBenchmark中收录了netperf。
在两台机器上执行下列操作:
yum install -y gcc make git
git clone https://github.com/lijiaocn/tools-NetBenchmark.git
cd tools-NetBenchmark/netperf
./0_install.sh
在脚本1_start_server.sh中设置监听的端口:
$cat 1_start_server.sh
#!/bin/bash
netserver -4 -p 7777
ps aux|grep netserver
然后Server的机器上执行:
./1_start_server.sh
这时候Server上应当开启了7777端口:
$netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:7777 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
在作为client的机器上,进入目录tools-NetBenchmark/netperf/cases。
在config中配置服务端地址:
$cat config
PORT=7777
HOST=192.168.10.2
IPVERSION=4
case目录中创建了与测试类型同名的脚本,测试时,直接运行对应的脚本即可。
$ls
DG_RR.sh LOC_CPU.sh STREAM_RR.sh TCP_STREAM.sh
DG_STREAM.sh REM_CPU.sh STREAM_STREAM.sh UDP_RR.sh
DLCL_RR.sh SCTP_RR.sh TCP_CRR.sh UDP_STREAM.sh
DLCL_STREAM.sh SCTP_RR_MANY.sh TCP_MAERTS.sh config
DLCO_RR.sh SCTP_STREAM.sh TCP_RR.sh
DLCO_STREAM.sh SCTP_STREAM_MANY.sh TCP_SENDFILE.sh
譬如,进行TCP流传输测试:
$./TCP_STREAM.sh
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 87380 87380 10.31 728.66