网络性能测试方法

网络性能测试方法


1、下载netperf工具(server和client都要下载)

wget -c "https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0" -O netperf-2.5.0.tar.gz

2、运行以下命令安装 Netperf

tar -zxvf netperf-2.5.0.tar.gz
cd netperf-netperf-2.5.0
./configure && make && make install 

3、下载iperf软件

yum install git -y
git clone https://github.com/esnet/iperf
cd iperf/
./configure && make && make install
cd src
ADD_PATH="$(pwd)"
PATH="${ADD_PATH}:${PATH}"
export PATH


4、启动服务及测试

在server端启动 netserver 进程,-p 指定不同端口:
netserver -p 11256
netstat -nlpt

在client端启动netperf 进程,指定到server端的 netserver 端口:
netperf -H 148.153.38.226 -p 11256 -t UDP_STREAM -l 30

工具名称 工具说明 主要参数 参数说明
netserver 接收端工具(server 端) -p 端口号
netperf 发送端工具(client 端) -H 指定server的 IP 地址。
-p 指定server的端口。
-l 指定运行时间。
-t 指定发包协议类型:TCP_STREAM 或 UDP_STREAM。建议使用 UDP_STREAM。

iperf3的测试方法

工具名称 工具说明 主要参数 参数说明
iperf3 收发一体 -s 表示作为 server 端接收包。
-i 间隔多久输出信息流量信息,默认单位为秒。
-p 指定服务的监听端口。
-u 表示采用 UDP 协议发送报文,不带该参数表示采用 TCP 协议
-l 表示包大小,默认单位为 Byte。通常测试 PPS 的时候该值为 16,测试 bps 时该值为 1400。
-b 设定流量带宽,可选单位包括:k/m/g。
-t 流量的持续时间,默认单位为秒。
-A CPU 亲和性,可以将具体的 iperf3 进程绑定对应编号的逻辑 CPU,避免 iperf 进程在不同的 CPU 间调度。

server端:

iperf3 -s -i 1 -p 16001

client端:

  1. iperf3 -u -l 16 -b 100m -t 120 -c 172.0.0.1 -i 1 -p 16001 -A 1
  2. iperf3 -u -b 100m -c 10.240.13.1 -i 1 -p 16001 -t 10 -R

5、分析测试结果

最终发送端每个 netperf 进程会输出如下结果,第一条数据行为发包信息概览如下。

  1. Socket Message Elapsed Messages
  2. Size Size Time Okay Errors Throughput
  3. bytes bytes secs # # 10^6bits/sec
  4.  
  5. 124928 1 10.00 4532554 0 3.63
  6. 212992 10.00 1099999 0.88

输出结果中各字段含义解释如下表所示。

字段数据 含义
124928 缓冲区大小
1 数据包大小(Byte)
10.00 测试时间(s)
4532554 数据包成功数
0 失败数
3.63 网络吞吐量(Mbit/s)

PPS = 数据包成功数/测试时间

#yum -y install sysstat  安装sar命令,也可以查看到pps
sar -n DEV 1 320

你可能感兴趣的:(运维工程师必备)