lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] [EXTERNAL MAIL] very poor performance of httpd


From: Sachs, Nico
Subject: Re: [lwip-users] [EXTERNAL MAIL] very poor performance of httpd
Date: Tue, 18 Aug 2020 14:18:43 +0000

Hi Felix,

I've also got very similar issues with Stm32F7,
It's somehow due to bugs in STMs HAL libraries. 
I ended up with a quick fix which just waits a little before the packet gets 
sent out within low_level_output(...).
I had this one:

//dirty solution
for(uint32_t i = 0; i < 40000; i++) __nop();
/* Prepare transmit descriptors to give to DMA */ 
HAL_ETH_TransmitFrame(&heth, framelength);

If you access the page with chrome and display developer information, you can 
see the load times of your page. And there I've seen that after a timeout of 
2seconds the files are getting requested again and then it works.

Also use Wireshark to spot what's going on. 

This quick fix might not help in your case. 

Cheers


-----Ursprüngliche Nachricht-----
Von: lwip-users <lwip-users-bounces+nico.sachs=trumpf.com@nongnu.org> Im 
Auftrag von Felix Frey
Gesendet: Montag, 17. August 2020 15:41
An: lwip-users@nongnu.org
Betreff: [EXTERNAL MAIL][lwip-users] very poor performance of httpd

Hi,

I've running an application on a STM32F429 using LwIP 2.0.3 and it's httpd.
Basically it works fine, however the performance of the httpd is very poor.

When the browser does a http request for a total of five files (statically 
linked) with a total amount of 40kB, it takes about 5sec to complete the 
request. 
It seems like the httpd gets stalled.
In the log I can see several of the entrys below:
-----
00006.560: http_poll: pcb=0x2000d7b8 hs=0x2000db08 pcb_state=ESTABLISHED        
                                      
00006.560: http_poll: try to send more data                                     
                                      
00006.560: http_send: hs=0x2000db08 pcb=0x2000d7b8 left=22030                   
                                      
00006.560: Trying to send 0 bytes                                               
                                      
00006.560: Sent 0 bytes                                                         
                                      
00006.560: send_data end.                                                       
                                      
00006.560: tcp_output
-----
This is repeated every 500ms for about 2sec until sending moves on.
It looks like it simply doesn't anything during this time. Why??

My memory settings are:
#define MEM_LIBC_MALLOC 1
#define MEMP_NUM_TCP_PCB 8
#define MEMP_NUM_PBUF 32
#define TCP_MSS 1460
#define TCP_WND 2920

I've already played with configuration settings, however, it didn't change a 
lot.
Can anybody explain this behaviour or even help to improve it?

Thanks in advance.
Felix

_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

reply via email to

[Prev in Thread] Current Thread [Next in Thread]