cancel
Showing results for 
Search instead for 
Did you mean: 

stm32H747-DISCRO NETXDUO iperf TCP only has 55MBits,but UDP have 95MBits,i want to promote tcp speed.so how I do?

Hhaon.1
Associate II

CubeIDE NETXDUO configuration keep default

#define PAYLOAD_SIZE 1536

#define NX_PACKET_POOL_SIZE ((PAULOAD_SIZE +sizeof(NX_PACKET))*40)

2 REPLIES 2
Piranha
Chief II

Looked at the NetX Duo stack's driver for H7. The driver is zero-copy, but it allocates buffers by software, not DMA. Overall that is still acceptable design, just that it will not sqeeze out the absolute maximum performance it could.

Fast, near wirespeed TCP packet processing:

RX 93 Mbps on 100 Mbps Ethernet, MCU @100MHz, 20% MCU utilization

TX 94 Mbps on 100 Mbps Ethernet, MCU @100MHz, 27% MCU utilization

https://docs.microsoft.com/en-us/azure/rtos/netx-duo/overview-netx-duo

But they don't say on what hardware with what driver. And then on another page TCP receive achieves only 71 Mbps also with unknown hardware:

https://docs.microsoft.com/en-us/azure/rtos/netx-duo/netx-duo-iperf/chapter3

Anyway, look for a configuration options, of which TCP has a lot:

https://docs.microsoft.com/en-us/azure/rtos/netx-duo/chapter2#configuration-options

MSG_ST
ST Employee

Hi @Hhaon.1​ ,

Could you please try to test again with the following recommendation :

  • Use the last CubeFirmwareH7 package
  • Use interrupt mode
  • Use iperf version_2 (recommendation from Microsoft)
  • Increase TCP_WND_SIZE
  • Make sure to launch the server before the client

Please keep us updated on new performance value.

Regards

Mahdy