- 1. 概述
- 2. 测试工具
- 3. ESP32以太网吞吐性能测试
- 3.1 UDP测试
- 3.1.1 ESP32 UDP发送
- 3.1.1.1 命令
- 3.1.2 PC UDP发送
- 3.1.2.1 命令
- 3.1.2.2 测试输出
- 3.1.2.2.1 带宽100M
- 3.1.2.2.1 带宽60M
- 3.2 TCP测试
- 3.2.1 ESP32 TCP发送
- 3.2.1.1 命令
- 1.2.1.2 输出
- 3.2.2 PC TCP发送
- 3.2.2.1 命令
- 3.2.2.2 输出
- 4. 总结
最近在研究ESP32芯片以太网的驱动,在这里记录一下以太网开发过程中的测试记录。
做以太网吞吐性能测试的时候,官方例程描述的是测试UDP上行和下行的速率即可,这里将UDP上下行、TCP上下行都测试一下。
- 网络吞吐性能测试工具iperf2
- ESP32板卡
- 网线
- IDE:Vscode
ESP32作为发起方,PC作为接收方测试,测试ESP32的上行速率。
3.1.1.1 命令- PC端命令
iperf2.exe -u -s -l 1024 -i 3
iperf2.exe提示数据包过大的错误,直接使用iperf3。
指令解析:
-u选项:指定传输协议为udp协议
-s选项:指定为服务端
-l选项:指定发送的报文的长度,为什么要指定,因为默认会报错:
E (195576) esp.emac: emac_esp32_transmit(235): insufficient TX buffer size E (195576) iperf: udp client send abort: err=113
-I选项:指定输出报告的频次,这里值为3,代表每3秒输出一次统计报告,不开启这个选项,日志非常少,只有总体统计数据。
- ESP32端命令
iperf -u -c 192.168.5.11 -i 3 -t 30 -l 1024
指令解析:
-c选项:指定为客户端,后面跟的是服务端的IP地址
-t选项:指定测试次数
-l选项:同上,两者的值必须设定为一样的值,否则会报错
执行测试之前读一下package checker的统计数据,读一次后会清零,便于统计测试中的异常报文数据。package cheker为芯片自带的发送、接收、错误统计计数器,驱动中实现即可。
pkg_checker info
输出如下:
I (16147) ETH_IPerf: mdi_rx_pkg_count:363
I (16147) ETH_IPerf: mdi_rx_pkg_count_greater_than_1518B:0
I (16147) ETH_IPerf: mdi_rx_pkg_count_less_than_64B:0
I (16157) ETH_IPerf: mdi_rx_crc_err_pkg_count:0
I (16157) ETH_IPerf: mdi_rx_crc_err_pkg_count_greater_than_1518B:0
I (16177) ETH_IPerf: mdi_rx_crc_err_pkg_count_less_than_64B:0
I (16187) ETH_IPerf: mdi_rx_pkg_count:0
I (16187) ETH_IPerf: rmii_tx_pkg_count:2
I (16187) ETH_IPerf: rmii_tx_pkg_count_greater_than_1518B:0
I (16197) ETH_IPerf: rmii_tx_pkg_count_less_than_64B:0
I (16197) ETH_IPerf: rmii_tx_crc_err_pkg_count:0
I (16207) ETH_IPerf: rmii_tx_crc_err_pkg_count_greater_than_1518B:0
I (16207) ETH_IPerf: rmii_tx_crc_err_pkg_count_less_than_64B:0
I (16217) ETH_IPerf: rmii_tx_sfd_missed_count:0
-
命令输出
- ESP32
mode=udp-client sip=192.168.5.10:5001, dip=192.168.5.11:5001, interval=3, time=30 I (2364177) iperf: Socket created, sending to 184920256:5001 Interval Bandwidth 0- 3 sec 91.90 Mbits/sec 3- 6 sec 92.71 Mbits/sec 6- 9 sec 92.62 Mbits/sec 9- 12 sec 92.53 Mbits/sec 12- 15 sec 92.64 Mbits/sec 15- 18 sec 92.66 Mbits/sec 18- 21 sec 92.66 Mbits/sec 21- 24 sec 92.77 Mbits/sec 24- 27 sec 92.78 Mbits/sec 27- 30 sec 92.69 Mbits/sec 0- 30 sec 92.60 Mbits/sec I (2394187) iperf: UDP Socket client is closed I (2394187) iperf: iperf exit
- PC端输出
PS C:\Users\25267> iperf2.exe -u -s -l 1400 -i 3 ------------------------------------------------------------ Server listening on UDP port 5001 UDP buffer size: 64.0 KByte (default) ------------------------------------------------------------ [ 1] local 192.168.5.11 port 5001 connected with 192.168.5.10 port 51783 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 1] 0.00-3.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [ 1] 3.00-6.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [ 1] 6.00-9.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [ 1] 9.00-12.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [ 1] 12.00-15.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [ 1] 15.00-18.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [ 1] 18.00-21.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [ 1] 21.00-24.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [ 1] 24.00-27.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) recvmsg failed: Connection timed out. [ 1] 27.00-30.00 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [ 1] 0.00-31.49 sec 0.000 Bytes 0.000 bits/sec 0.000 ms 0/0 (-1.$%) [356] WARNING: ack of last datagram failed.
PC端速率显示有异常,用抓包工作wireshark怕捕获一下数据。
从抓包工具抓取的报文来看,ESP32已经将数据发出来了,怀疑是iperf工具版本匹配的问题。将来使用udp测试程序测试一下。另外,测试了一下从PC端发起一个iperf客户端,使用wireshark的报文,发现其是有数据的,而不像esp32的iperf发送的全为0,而是有规律的数据,通过将iperf的发送数据改为字符‘0’之后,就有吞吐速率了,但是会报错:包序号错乱。这样看来esp32实现的iperf并不完全兼容iperf2,后面将使用这个工程自带的iperf_test.py自动化测试工具再次做进一步的测试。
-
查看包统计
I (2486747) ETH_IPerf: mdi_rx_pkg_count:618353 I (2486747) ETH_IPerf: mdi_rx_pkg_count_greater_than_1518B:0 I (2486747) ETH_IPerf: mdi_rx_pkg_count_less_than_64B:0 I (2486757) ETH_IPerf: mdi_rx_crc_err_pkg_count:0 I (2486757) ETH_IPerf: mdi_rx_crc_err_pkg_count_greater_than_1518B:0 I (2486777) ETH_IPerf: mdi_rx_crc_err_pkg_count_less_than_64B:0 I (2486787) ETH_IPerf: mdi_rx_pkg_count:0 I (2486787) ETH_IPerf: rmii_tx_pkg_count:4367927 I (2486797) ETH_IPerf: rmii_tx_pkg_count_greater_than_1518B:0 I (2486797) ETH_IPerf: rmii_tx_pkg_count_less_than_64B:0 I (2486807) ETH_IPerf: rmii_tx_crc_err_pkg_count:0 I (2486807) ETH_IPerf: rmii_tx_crc_err_pkg_count_greater_than_1518B:0 I (2486817) ETH_IPerf: rmii_tx_crc_err_pkg_count_less_than_64B:0 I (2486817) ETH_IPerf: rmii_tx_sfd_missed_count:0
从统计数据中可以看到,数据集中在mdi_rx_pkg_count和rmii_tx_pkg_count两个数据项上,这两个数据表示mdi接口接收的大于等于64Bytes小于1518Bytes的正常报文数量,无异常报文数据。
3.1.2 PC UDP发送PC作为UDP的发起方,ESP32作为UDP的接收方,测试ESP32的下行速率。
3.1.2.1 命令- PC作为客户端
iperf2.exe -u -c 192.168.5.10 -i 3 -t 30 -b 100M -l 1024
命令解析
-b选项:指定网络带宽,这里指定的是100Mbps,和phy的标称速率匹配,预期的测试速率应该是100Mbps。
- ESP32作为服务端
iperf -u -s -i 3 -t 45
3.1.2.2 测试输出 3.1.2.2.1 带宽100M命令解析:
-t选项:可以看到pc端设置为30, esp32端为45,是为了保证pc端能够完整做完测试,防止esp32到30即推出,而pc端还没收到反馈。
- PC端
PS C:\Users\25267> iperf2.exe -u -c 192.168.5.10 -i 3 -t 30 -b 100M
------------------------------------------------------------
Client connecting to 192.168.5.10, UDP port 5001
Sending 1470 byte datagrams, IPG target: 112.15 us (kalman adjust)
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[ 1] local 192.168.5.11 port 63175 connected with 192.168.5.10 port 5001
[ ID] Interval Transfer Bandwidth
[ 1] 0.00-3.00 sec 33.4 MBytes 93.5 Mbits/sec
[ 1] 3.00-6.00 sec 34.2 MBytes 95.6 Mbits/sec
[ 1] 6.00-9.00 sec 34.2 MBytes 95.5 Mbits/sec
[ 1] 9.00-12.00 sec 34.2 MBytes 95.6 Mbits/sec
[ 1] 12.00-15.00 sec 34.2 MBytes 95.7 Mbits/sec
[ 1] 15.00-18.00 sec 34.0 MBytes 95.1 Mbits/sec
[ 1] 18.00-21.00 sec 34.1 MBytes 95.4 Mbits/sec
[ 1] 21.00-24.00 sec 33.7 MBytes 94.1 Mbits/sec
[ 1] 24.00-27.00 sec 33.9 MBytes 94.7 Mbits/sec
[ 1] 27.00-30.00 sec 33.2 MBytes 92.9 Mbits/sec
[ 1] 0.00-30.01 sec 339 MBytes 94.8 Mbits/sec
[ 1] Sent 241861 datagrams
[356] WARNING: did not receive ack of last datagram after 10 tries.
pc端的测试速率显示正常。
- ESP32端
mode=udp-server sip=192.168.5.10:5001, dip=0.0.0.0:5001, interval=3, time=30
I (851877) iperf: Socket created
I (851877) iperf: Socket bound, port 35091
Interval Bandwidth
0- 3 sec 1.09 Mbits/sec
3- 6 sec 0.04 Mbits/sec
6- 9 sec 0.08 Mbits/sec
9- 12 sec 0.11 Mbits/sec
12- 15 sec 0.25 Mbits/sec
15- 18 sec 0.80 Mbits/sec
18- 21 sec 0.50 Mbits/sec
21- 24 sec 0.68 Mbits/sec
24- 27 sec 0.38 Mbits/sec
27- 30 sec 0.00 Mbits/sec
0- 30 sec 0.39 Mbits/sec
可以看到ESP32端的速度有点不对劲,应该为100Mbps才对,查一下包统计器输出
- 包统计器输出
I (931087) ETH_IPerf: mdi_rx_pkg_count:242096
I (931087) ETH_IPerf: mdi_rx_pkg_count_greater_than_1518B:0
I (931087) ETH_IPerf: mdi_rx_pkg_count_less_than_64B:0
I (931097) ETH_IPerf: mdi_rx_crc_err_pkg_count:0
I (931097) ETH_IPerf: mdi_rx_crc_err_pkg_count_greater_than_1518B:0
I (931107) ETH_IPerf: mdi_rx_crc_err_pkg_count_less_than_64B:0
I (931127) ETH_IPerf: mdi_rx_pkg_count:0
I (931127) ETH_IPerf: rmii_tx_pkg_count:4
I (931127) ETH_IPerf: rmii_tx_pkg_count_greater_than_1518B:0
I (931137) ETH_IPerf: rmii_tx_pkg_count_less_than_64B:0
I (931137) ETH_IPerf: rmii_tx_crc_err_pkg_count:0
I (931147) ETH_IPerf: rmii_tx_crc_err_pkg_count_greater_than_1518B:0
I (931157) ETH_IPerf: rmii_tx_crc_err_pkg_count_less_than_64B:0
I (931157) ETH_IPerf: rmii_tx_sfd_missed_count:0
从包统计器来看,没有异常包,需要从其它地方找原因,降低带宽至60M,发现esp32端的速率仍然在1Mbps左右,此时更换测试工具,在windows子系统中安装ubuntu20.04,安装iperf再行测试。
简要安装方法:
- 安装ubuntu20.04子系统
wsl.exe --install -d Ubuntu-20.04
- 安装iperf
sudo apt install iperf
3.1.2.2.1 带宽60M
- PC端(使用wsl.exe在20.04环境下使用iperf)
zhou@LAPTOP-DI0T6VVM:/mnt/c/Users/25267$ iperf -u -c 192.168.5.10 -i 3 -t 30 -b 60M
------------------------------------------------------------
Client connecting to 192.168.5.10, UDP port 5001
Sending 1470 byte datagrams, IPG target: 186.92 us (kalman adjust)
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 172.28.64.184 port 55058 connected with 192.168.5.10 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 3.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 3.0- 6.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 6.0- 9.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 9.0-12.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 12.0-15.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 15.0-18.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 18.0-21.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 21.0-24.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 24.0-27.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 27.0-30.0 sec 22.5 MBytes 62.9 Mbits/sec
[ 3] 0.0-30.0 sec 225 MBytes 62.9 Mbits/sec
[ 3] Sent 160498 datagrams
[ 3] WARNING: did not receive ack of last datagram after 10 tries.
- ESP32端
mode=udp-server sip=192.168.5.10:5001, dip=0.0.0.0:5001, interval=3, time=45
I (644907) iperf: Socket created
I (644907) iperf: Socket bound, port 35091
Interval Bandwidth
0- 3 sec 62.70 Mbits/sec
3- 6 sec 62.84 Mbits/sec
6- 9 sec 62.83 Mbits/sec
9- 12 sec 62.84 Mbits/sec
12- 15 sec 62.86 Mbits/sec
15- 18 sec 62.85 Mbits/sec
18- 21 sec 62.87 Mbits/sec
21- 24 sec 62.86 Mbits/sec
24- 27 sec 62.86 Mbits/sec
27- 30 sec 62.86 Mbits/sec
将PC端的带宽降低至60M时,ESP32的速率也能保持一致了,再高就会出现ESP32端的速率降低的情况。
后来将pause流控关闭和启动jumbo后,带宽略有提升,能够指定带宽到70M,两侧的测试速率能够到67Mbps。后面再增加,仍然会出现ESP32端速度下降的情况。
- 包统计数据如下
I (1416717) ETH_IPerf: mdi_rx_pkg_count:1129366
I (1416717) ETH_IPerf: mdi_rx_pkg_count_greater_than_1518B:0
I (1416717) ETH_IPerf: mdi_rx_pkg_count_less_than_64B:0
I (1416727) ETH_IPerf: mdi_rx_crc_err_pkg_count:0
I (1416727) ETH_IPerf: mdi_rx_crc_err_pkg_count_greater_than_1518B:0
I (1416747) ETH_IPerf: mdi_rx_crc_err_pkg_count_less_than_64B:0
I (1416757) ETH_IPerf: mdi_rx_pkg_count:0
I (1416757) ETH_IPerf: rmii_tx_pkg_count:464875
I (1416767) ETH_IPerf: rmii_tx_pkg_count_greater_than_1518B:0
I (1416767) ETH_IPerf: rmii_tx_pkg_count_less_than_64B:0
I (1416777) ETH_IPerf: rmii_tx_crc_err_pkg_count:0
I (1416777) ETH_IPerf: rmii_tx_crc_err_pkg_count_greater_than_1518B:0
I (1416787) ETH_IPerf: rmii_tx_crc_err_pkg_count_less_than_64B:0
I (1416787) ETH_IPerf: rmii_tx_sfd_missed_count:0
没有异常包。
鉴于两侧的iperf软件可能存在不兼容的情况,将来会做进一步的分析研究。
3.2 TCP测试 3.2.1 ESP32 TCP发送 3.2.1.1 命令- PC端
iperf2.exe -s -i 3
- ESP32端
iperf -c 192.168.5.11 -i 3 -t 30
1.2.1.2 输出
- ESP32端
mode=tcp-client sip=192.168.5.10:5001, dip=192.168.5.11:5001, interval=3, time=30
iperf> I (3059417) iperf: Successfully connected
Interval Bandwidth
0- 3 sec 32.68 Mbits/sec
3- 6 sec 34.43 Mbits/sec
6- 9 sec 33.34 Mbits/sec
9- 12 sec 31.15 Mbits/sec
12- 15 sec 31.28 Mbits/sec
15- 18 sec 33.42 Mbits/sec
18- 21 sec 32.59 Mbits/sec
21- 24 sec 33.64 Mbits/sec
24- 27 sec 33.47 Mbits/sec
27- 30 sec 33.07 Mbits/sec
0- 30 sec 32.91 Mbits/sec
I (3089417) iperf: TCP Socket client is closed.
I (3089417) iperf: iperf exit
- PC端
PS C:\Users\25267> iperf2.exe -s -i 3
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 1] local 192.168.5.11 port 5001 connected with 192.168.5.10 port 60386
[ ID] Interval Transfer Bandwidth
[ 1] 0.00-3.00 sec 11.7 MBytes 32.8 Mbits/sec
[ 1] 3.00-6.00 sec 12.3 MBytes 34.4 Mbits/sec
[ 1] 6.00-9.00 sec 11.9 MBytes 33.4 Mbits/sec
[ 1] 9.00-12.00 sec 11.1 MBytes 31.1 Mbits/sec
[ 1] 12.00-15.00 sec 11.2 MBytes 31.3 Mbits/sec
[ 1] 15.00-18.00 sec 12.0 MBytes 33.4 Mbits/sec
[ 1] 18.00-21.00 sec 11.7 MBytes 32.6 Mbits/sec
[ 1] 21.00-24.00 sec 12.0 MBytes 33.6 Mbits/sec
[ 1] 24.00-27.00 sec 12.0 MBytes 33.5 Mbits/sec
[ 1] 27.00-29.99 sec 11.8 MBytes 33.1 Mbits/sec
[ 1] 0.00-29.99 sec 118 MBytes 32.9 Mbits/sec
- 包统计数据
I (3339747) ETH_IPerf: mdi_rx_pkg_count:704697
I (3339747) ETH_IPerf: mdi_rx_pkg_count_greater_than_1518B:0
I (3339747) ETH_IPerf: mdi_rx_pkg_count_less_than_64B:0
I (3339757) ETH_IPerf: mdi_rx_crc_err_pkg_count:0
I (3339757) ETH_IPerf: mdi_rx_crc_err_pkg_count_greater_than_1518B:0
I (3339777) ETH_IPerf: mdi_rx_crc_err_pkg_count_less_than_64B:0
I (3339787) ETH_IPerf: mdi_rx_pkg_count:0
I (3339787) ETH_IPerf: rmii_tx_pkg_count:196784
I (3339787) ETH_IPerf: rmii_tx_pkg_count_greater_than_1518B:0
I (3339797) ETH_IPerf: rmii_tx_pkg_count_less_than_64B:0
I (3339807) ETH_IPerf: rmii_tx_crc_err_pkg_count:0
I (3339807) ETH_IPerf: rmii_tx_crc_err_pkg_count_greater_than_1518B:0
I (3339817) ETH_IPerf: rmii_tx_crc_err_pkg_count_less_than_64B:0
I (3339817) ETH_IPerf: rmii_tx_sfd_missed_count:0
没有异常包。
TCP上行速率有点差强人意,接下来会跟分析原因。
3.2.2 PC TCP发送PC端作为TCP的数据的发起方,ESP32作为接收方。
3.2.2.1 命令- PC端
iperf2.exe -c 192.168.5.10 -i 3 -t 30 -b 100M
- ESP32端
iperf -s -t 45
3.2.2.2 输出
- PC端
PS C:\Users\25267> iperf2.exe -c 192.168.5.10 -i 3 -t 30 -b 100M
------------------------------------------------------------
Client connecting to 192.168.5.10, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 1] local 192.168.5.11 port 20064 connected with 192.168.5.10 port 5001
[ ID] Interval Transfer Bandwidth
[ 1] 0.00-3.00 sec 8.75 MBytes 24.5 Mbits/sec
[ 1] 3.00-6.00 sec 8.50 MBytes 23.8 Mbits/sec
[ 1] 6.00-9.00 sec 8.63 MBytes 24.1 Mbits/sec
[ 1] 9.00-12.00 sec 8.88 MBytes 24.8 Mbits/sec
[ 1] 12.00-15.00 sec 9.13 MBytes 25.5 Mbits/sec
[ 1] 15.00-18.00 sec 8.75 MBytes 24.5 Mbits/sec
[ 1] 18.00-21.00 sec 8.75 MBytes 24.5 Mbits/sec
[ 1] 21.00-24.00 sec 8.75 MBytes 24.5 Mbits/sec
[ 1] 24.00-27.00 sec 8.63 MBytes 24.1 Mbits/sec
[ 1] 27.00-30.00 sec 8.50 MBytes 23.8 Mbits/sec
[ 1] 30.00-60.01 sec 128 KBytes 34.9 Kbits/sec
[ 1] 0.00-60.01 sec 87.4 MBytes 12.2 Mbits/sec
- ESP32端
mode=tcp-server sip=192.168.5.10:5001, dip=0.0.0.0:5001, interval=3, time=45
I (2084607) iperf: Socket created
iperf> I (2105297) iperf: accept: 192.168.5.11,20064
Interval Bandwidth
0- 3 sec 24.26 Mbits/sec
3- 6 sec 23.92 Mbits/sec
6- 9 sec 23.94 Mbits/sec
9- 12 sec 24.90 Mbits/sec
12- 15 sec 25.54 Mbits/sec
15- 18 sec 24.44 Mbits/sec
18- 21 sec 24.22 Mbits/sec
21- 24 sec 24.53 Mbits/sec
24- 27 sec 24.07 Mbits/sec
27- 30 sec 24.07 Mbits/sec
- 包统计数据
I (2491167) ETH_IPerf: mdi_rx_pkg_count:653077
I (2491167) ETH_IPerf: mdi_rx_pkg_count_greater_than_1518B:0
I (2491167) ETH_IPerf: mdi_rx_pkg_count_less_than_64B:0
I (2491177) ETH_IPerf: mdi_rx_crc_err_pkg_count:0
I (2491177) ETH_IPerf: mdi_rx_crc_err_pkg_count_greater_than_1518B:0
I (2491197) ETH_IPerf: mdi_rx_crc_err_pkg_count_less_than_64B:0
I (2491207) ETH_IPerf: mdi_rx_pkg_count:0
I (2491207) ETH_IPerf: rmii_tx_pkg_count:126939
I (2491207) ETH_IPerf: rmii_tx_pkg_count_greater_than_1518B:0
I (2491217) ETH_IPerf: rmii_tx_pkg_count_less_than_64B:0
I (2491227) ETH_IPerf: rmii_tx_crc_err_pkg_count:0
I (2491227) ETH_IPerf: rmii_tx_crc_err_pkg_count_greater_than_1518B:0
I (2491237) ETH_IPerf: rmii_tx_crc_err_pkg_count_less_than_64B:0
I (2491237) ETH_IPerf: rmii_tx_sfd_missed_count:0
从两端的TCP测试来看,与预期的带宽速率均有较大的差距。
4. 总结汇总一下:
UDP上行速率为92Mbps,下行速率为67Mbps;
TCP上行速率为33Mbps,下行速率为24Mbps;
鉴于两端的iperf可能存在不兼容的情况,接下来会做2个事情:
1、使用工程自带的自动化测试工具iperf_test.py测试;
2、自己编写udp测试程序测试吞吐量;
好了,ESP32以太网吞吐量性能测试就到这里。接下来的2个测试敬请关注博客。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)