完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 概述
在设计或引入某带有网络需求的方案时,我们需要知道该方案对应的网络吞吐率,从而评估实际应用是否可以满足。例如,一个网络摄像机(IPC)方案,如果其网络吞吐率只有1Mbps,那么要想实现图像数据的实时传输,那么风险就会比较大。因此,正确地测量网络吞吐率对于方案评估非常重要。 在嵌入式设备上,我们一般使用iperf来测试网络性能。iperf是一款在PC及各种嵌入式设备上广泛使用的网络性能测量工具,支持测试TCP及UDP下的网络性能,即网络吞吐率。iperf有windows和linux两个发布版本,其它平台的iperf版本,需要用户根据平台特性自己适配。 2 基于YoC的iperf使用 2.1 YoC使能iperf功能 YoC上已经提供了成熟的iperf适配,其源码在/components/lwip/cli/cli_iperf.c。用户只需在自己的应用中调用注册iperf的接口cli_reg_cmd_iperf,即包含了iperf功能。 int main() { board_yoc_init(); ... ... cli_reg_cmd_iperf(); ... ... }2.2 iperf使用方法 2.2.1 iperf参数介绍 在运行YoC的设备上,输入cli命令iperf -h,则返回iperf的帮助信息: -g:Set sockopt send timeout -u:use UDP rather than TCP -l:length of buffer in bytes to read or write (default:10KB) -c:run in client mode, connecting to -x:stop iperf test -s:run in server mode -t:time in seconds to transmit for (default 10 secs) -p:server port to listen on/connect to -i:seconds between periodic bandwidth reports YoC上支持的iperf参数如上面帮助信息所示,下面对常见的参数进行详细说明。 2.2.1.1 -c -s参数 iperf分为客户端(client)和服务端(server),client向service发送数据包然后各自进行统计。 对于待测试设备来说,如果要测量设备的发送吞吐率(Tx),那么设备作为client,向server端发送数据。iperf作为client端的指令如下: iperf -c 这里server_ip是iperf server端的ip地址,如果以安装了iperf的PC机作为server端,那么这个地址就是同一局域网下PC机的ip地址,如192.168.1.2; 反之,如果要测量设备的接收吞吐率(Rx),那么设备作为server,接收client发送的网络数据。iperf作为server端的指令如下: iperf -s2.2.1.2 -u参数 前文有提到,iperf支持TCP/UDP的网络性能测试。iperf默认使用TCP方式进行网络数据包的收发,这里-u参数指定iperf使用UDP发送和接收网络数据包。 2.2.1.3 -i参数 该参数设定iperf每隔多少秒(s)报告一次吞吐率。YoC上默认为1s报告一次吞吐率数据。 2.2.1.4 -t参数 该参数设定iperf总的运行时间,单位为秒(s)。YoC上默认运行时间为10秒。 2.2.1.5 -p参数 该参数指定iperf的端口号,YoC上默认端口是5001。 2.2.2 iperf使用示例 我们准备一台运行YoC的网络设备,通过WiFi连接到AP,其ip地址为192.168.1.2;另外一台安装了iperf的PC以有线方式连接到AP,其ip地址为192.168.1.3。 2.2.2.1 TCP方式测试Tx吞吐率 以TCP方式测试待测设备的发送吞吐率,每隔10秒报告一次性能数据,共运行600秒。其它参数使用默认参数,YoC端命令: iperf -c 192.168.1.3 -i 10 -t 600 PC端命令: iperf -s2.2.2.2 TCP方式测试Rx吞吐率 以TCP方式测试待测设备的发送吞吐率,每隔10秒报告一次性能数据,共运行600秒。其它参数使用默认参数,YoC端命令: iperf -s -i 10 PC端命令: iperf -c 192.168.1.2 -i 10 -t 6002.2.2.3 UDP方式测试Tx吞吐率 以TCP方式测试待测设备的发送吞吐率,每隔10秒报告一次性能数据,共运行600秒。其它参数使用默认参数,YoC端命令: iperf -c 192.168.1.3 -u -i 10 -t 600 PC端命令: iperf -s -u2.2.2.4 UDP方式测试Rx吞吐率 以TCP方式测试待测设备的发送吞吐率,每隔10秒报告一次性能数据,共运行600秒。其它参数使用默认参数,YoC端命令: iperf -s -u -i 10 PC端命令: iperf -c 192.168.1.2 -u -i 10 -t 600文章转载自:平头哥芯片开放社区 作者:何佩奇 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
【平头哥Sipeed LicheeRV 86开发板试用体验】Waft初体验
15643 浏览 1 评论
13693 浏览 4 评论
【平头哥Sipeed LicheeRV 86开发板试用体验】四、烧写waft系统&搭建waft测试环境
19609 浏览 2 评论
59001 浏览 19 评论
【限时福利】加入芯片开发社区,领100G电子工程师资料大礼包
87562 浏览 121 评论
邀请函 | 3月2日 来上海参加平头哥“玄铁RISC-V生态大会”
733浏览 0评论
读书分享会 | 玄铁RISC-V处理器入门与实战电子书免费下载!
620浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 13:20 , Processed in 0.658323 second(s), Total 49, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号