Poor P2P Ethernet throughput
Posted: Tue Mar 25, 2025 8:17 pm
I'm seeing really poor Ethernet throughput and I'm at a loss as to why. I have a ESP32-Ethernet-Kit running the Ethernet iPerf example project (https://github.com/espressif/esp-idf/tr ... rnet/iperf). The ESP32-Ethernet-Kit is directly connected to my PC via RJ45 to a 2.5Gbps USB ethernet adapter. Running an iPerf test I'm seeing ~41Mbps in both directions when testing TCP throughput. To sanity check my results, I found a second USB ethernet adapter and ran the same test - 95Mbps consistently. The only modification I've made to the ESP32 ethernet iPerf example is to set the ESP's IP address to static. Here are the basic modifications to ethernet_iperf_main.c:
Is an Ethernet throughput of 41% of link budget expected? That seems really really low to me. I'd expect to see ~95Mbps.
TIA!
Code: ethernet_iperf_main.c Select all
ESP_ERROR_CHECK(esp_netif_dhcpc_stop(eth_netif));
esp_netif_ip_info_t ip;
memset(&ip, 0 , sizeof(esp_netif_ip_info_t));
ip.ip.addr = esp_ip4addr_aton("192.168.4.10");
ip.netmask.addr = esp_ip4addr_aton("255.255.255.0");
ip.gw.addr = esp_ip4addr_aton("192.168.4.1");
ESP_ERROR_CHECK(esp_netif_set_ip_info(eth_netif, &ip));
TIA!