Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多快的速度接收数据。
Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。
ubuntu虚拟机下作为客户端,Windows下作为服务器的测试
ubuntu下安装 Netperf
./configure
编译:
make
会在src下生成可执行文件。
Windows下运行server,为PC端的可执行文件:
ubuntu下运行客户端(IP为服务器的IP)
./netperf -t TCP_STREAM -H 192.168.0.105 -l 30
测试为千兆网络。
PC端运行server:
Windows下运行客户端:
测试结果仍为千兆网络。
Windows与开发板的测试
Windows作为服务器:
开发板作为客户端:
交叉编译可执行文件
echo "ac_cv_func_setpgrp_void=yes" > config.cache
./configure CC=arm-none-linux-gnueabi-gcc --host=arm-linux --config-cache
安装:
make
会在src目录下生成ARM架构的可执行文件
将其拷贝至开发板:
Windows端运行服务器:
开发板下运行客户端:
./netperf -t TCP_STREAM -H 192.168.0.105 -l 30
测试结果为百兆网络。
Windows端运行客户端,开发板下运行服务器:
./netperf -t TCP_STREAM -H 192.168.0.230 -l 60
测试结果为百兆网络。