当前位置:首页 > Web开发 > 正文

Netperf测试技巧

11-05 Web开发

Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据。

Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。

2.安装Netperf

(1)运行命令下载Netperf

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

 

注意:

A:如果在步骤(1)下载失败,直接拷贝地址到浏览器,下载到本地,然后通过命令将本地文件拷贝到服务器。命令如下:

scp 文件名用户名@计算机IP:远程路径

 

B:如果./configure出错,可能是受权限的问题,将命令修改为:

./configure --prefix=指定目录

 

C:服务器之间传递文件命令如下:

scp -r [文件路径]@计算机IP:远程路径

 

(3)验证安装是否成功。运行如下命令:

netperf –h

netserver -h

 

 

 

 

 

3.Netperf命令行参数

netperf的命令行参数可以分为两大类:全局命令行参数、测试相关的局部参数,两者之间使用--分隔:

netperf [global options]-- [test-specific options]

 

4.测试网络性能

Netperf 安装完成后,会生成 2 个工具:netserver 和 netperf

主要参数如下:

工具名称

 

工具说明

 

主要参数

 

参数说明

 

netserver

 

接收端工具(server 端)

 

-p

 

端口号

 

netperf

 

发送端工具(client 端)

 

-H

 

指定 ECS 实例的 IP 地址。

 

-p

 

指定 ECS 实例的端口。

 

-l

 

指定运行时间。

 

-t

 

TCP_STREAM 或 UDP_STREAM。建议使用 UDP_STREAM。

 

-m

 

指定数据包大小。

测试 PPS 时,该值为 1。

测试 bps(bit per second)时,该值为 1400。

 

4.1测试批量(bulk)网络流量的性能

根据使用传输协议的不同,批量数据传输又分为TCP批量传输和UDP批量传输

(1)TCP_STREAM

Netperf缺省情况下进行TCP批量传输,即-t TCP_STREAM。测试过程中,netperf向netserver发送批量的TCP数据分组,以确定数据传输过程中的吞吐量。

在测试机内启动 netserver

./netserver

 

陪练机内启动 netperf

./netperf -H 10.87.216.55 -l 60 TCP STREAM TEST to 10.87.216.56

 

测试结果如下:

Recv   Send    Send

Socket Socket  Message  Elapsed

Size   Size    Size     Time     Throughput

bytes  bytes   bytes    secs.    10^6bits/sec

87380  65536  65536    60.00    9034.56

 

(2) UDP_STREAM

UDP_STREAM用来测试进行UDP批量传输时的网络性能。需要特别注意的是,此时测试分组的大小不得大于socket的发送与接收缓冲大小。

陪练机启动:

./netperf -t UDP_STREAM -H 10.87.216.55 -l 60 UDP UNIDIRECTIONAL SENDTEST to 10.87.216.56

 

测试结果如下:

Socket  Message  Elapsed      Messages

Size    Size     Time         Okay Errors   Throughput

bytes   bytes    secs            #      #   10^6bits/sec

212992   65507   60.00     2257105      0    19713.49

温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/web/10086.html