Skip to main content
Visitor II
May 1, 2022
Question

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

  • May 1, 2022
  • 2 replies
  • 1323 views

CubeIDE NETXDUO configuration keep default

#define PAYLOAD_SIZE 1536

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

    This topic has been closed for replies.

    2 replies

    Graduate II
    May 1, 2022

    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

    ST Employee
    January 10, 2023

    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