硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1218|回复: 9
收起左侧

[NetX] stm32H7 netxduo iperf tcp只有55MBits,UDP 却有95MBits,找不到原因

[复制链接]

3

主题

9

回帖

18

积分

新手上路

积分
18
发表于 2022-5-1 12:33:40 | 显示全部楼层 |阅读模式
stm32H7 netxduo iperf tcp只有55MBits,UDP 却有95MBits,找不到原因
image.png
netxDUO 的参数为官方默认,
PAYLOAD_SIZE    1536
NX_PACKET_POOL_SIZE  ((PAYLOAD_SIZE+ sizeof(NX_PACKET))*40)

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2022-5-3 08:52:37 | 显示全部楼层
帮顶,后面我测测。
回复

使用道具 举报

3

主题

9

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2022-5-4 20:17:49 | 显示全部楼层
谢谢哈,我现在的想法就是把netxduo放到itcm 或者dtcm里面,看看能不能把tcp速度跑快一点
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2022-5-5 10:07:56 | 显示全部楼层
jipolun 发表于 2022-5-4 20:17
谢谢哈,我现在的想法就是把netxduo放到itcm 或者dtcm里面,看看能不能把tcp速度跑快一点

跟这个关系不大,F4系列都轻轻松松跑满速。
回复

使用道具 举报

3

主题

9

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2022-5-6 17:27:23 | 显示全部楼层
eric2013 发表于 2022-5-5 10:07
跟这个关系不大,F4系列都轻轻松松跑满速。

确实哈
我今天把数据段放DTCM里面跑,(除了dma要访问的软件)
把NETXDUO NX_*开头的文件放ITCM (全部放,放不进去。。。。。尴尬)
用iperf 测试,tcp 吞吐量没有改善
试了一下,把ETH那个dma描述符 原本是4,改为了12,发现没有啥用
回复

使用道具 举报

1

主题

75

回帖

78

积分

初级会员

积分
78
发表于 2022-5-7 15:31:11 | 显示全部楼层
请问是用的ST提供的网络驱动吗?猜想是TCP用软件计算校验和,UDP默认是关闭校验和的,所以直接就跑满了。但是即使软件计算校验和,应该也是能跑慢百兆网络的。可以看看是不是cache没有开启。
回复

使用道具 举报

3

主题

9

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2022-5-8 23:59:49 | 显示全部楼层
catro 发表于 2022-5-7 15:31
请问是用的ST提供的网络驱动吗?猜想是TCP用软件计算校验和,UDP默认是关闭校验和的,所以直接就跑满了。但 ...

您好,是用st使用的网络驱动,校验和 tcp和udp都是软件计算的
mpu和canche都已经开启了。
因为udp可以跑95MBits,所以我在想网络底层应该是没有问题的,tcp跑不上去,我在想是不是threadX netxduo d的参数没配对,因为目前用的是cube st默认提供的,我不知道到底是那个参数,我周一周二再测测看
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2024-3-15 16:11:09 | 显示全部楼层
eric2013 发表于 2022-5-5 10:07
跟这个关系不大,F4系列都轻轻松松跑满速。

大佬,请问这个问题怎么解决的?我的情况是UDP发送50Mb/s,接收96Mb/s,tcp发送只有33Mb/s
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2024-3-16 10:00:18 | 显示全部楼层
Jarm 发表于 2024-3-15 16:11
大佬,请问这个问题怎么解决的?我的情况是UDP发送50Mb/s,接收96Mb/s,tcp发送只有33Mb/s

你这个是不是用的外部QSPI Flash跑的,如果是的话,也算正常,不还可以优化提升速度。
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2024-3-19 16:05:32 | 显示全部楼层
eric2013 发表于 2024-3-16 10:00
你这个是不是用的外部QSPI Flash跑的,如果是的话,也算正常,不还可以优化提升速度。

不是,放ram里跑的,目前在netxduo上,我tcp发送78Mb/s,但是接收速度只有200k,我关闭了nagle算法,抓包发现会有周期性的100ms回复TCP window update,能指导下怎么才能让接受速率跑满吗?谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 06:25 , Processed in 0.182314 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表