lwip lwiperf 方法進行性能測試 4.5MB/S


硬件配置: STM32F407 + DP83848 + FreeRTOS V10.1.1 + LWIP 2.1.2    2018年12月5日14:31:24

 

1、先讀取 PHY 寄存器 , 查看 自主協商 結果

PHY自主協商結果:ETH_Mode      ETH_Mode_FullDuplex

PHY自主協商結果:ETH_Speed     ETH_Speed_100M

2、安裝 測試軟件 : Jperf2.0下載及使用方法介紹

 

3、添加  lwip 源文件 下的 lwip-2.1.2\src\apps\lwiperf    lwiperf.c 文件

4、407 這端 是 跑 TCP 服務器,然后 電腦客戶端去收發數據進行性能測試,代碼如下:

static void vTaskLwipPerf(void *pvParameters)
{
    
    ip_addr_t  perf_server_ip;
    
    IP_ADDR4( &perf_server_ip, 192, 168, 0, 10 ); //IP 為 407 自己的 靜態IP
   for(;;) { lwiperf_start_tcp_server( &perf_server_ip, 9527, NULL, NULL ); vTaskDelay( 2000 / portTICK_PERIOD_MS ); } }

 

實測速度如下,只有 1MB/S 不到 的 速度 ,理論應該可以到12.5MB/S 的 速度啊 

 

 

 

 TCP_MSS 280   被我改成了 1460,速度 上升了一個數量級,大概到 4.5MB/S 的 速度 !
 
/**
 * TCP_TTL: Default Time-To-Live value.
 */
#define TCP_TTL                 IP_DEFAULT_TTL /* IP 數據包中的TTL 的值 */

/* Controls if TCP should queue segments that arrive out of
   order. Define to 0 if your device is low on memory. */
#define TCP_QUEUE_OOSEQ         ( LWIP_TCP )  /* TCP是否緩沖接收到的無序報文段 */

/* TCP Maximum segment size. */
#define TCP_MSS                 (1500 - 40)      /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) TCP最大報文段大小 */

/* TCP sender buffer space (bytes). */
#define TCP_SND_BUF             (4*TCP_MSS)   /* TCP 發送緩沖區大小,增大該值可以提升TCP性能 */

/* TCP receive window. */
#define TCP_WND                 (4*TCP_MSS)   /* TCP 發送窗口大小,增大改值可以提升TCP性能 */

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM