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性能 */

 

 

转载于:https://www.cnblogs.com/suozhang/p/10070440.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值