Welcome! Log In Create A New Profile

Advanced

Re: HTTP/2: allow unlimited number of requests in connection

March 04, 2020 02:58PM
Hi Maxim,

Does the allocated memory from connection memory pool for a given connection grow as the number of request grows? If so could you elaborate on how much it grows for a new request? If not, I guess the main reason to limit the request number is to limit the lifetime of a connection so the connection pool size is under control, right? Is there an parameter to control the lifetime of a http2 connection instead?

Thanks, ChienHsing


--------------------------------------------------------------------------------------------------------------------
Maxim Dounin mdounin at mdounin.ru<mailto:nginx-devel%40nginx.org?Subject=Re%3A%20HTTP/2%3A%20allow%20unlimited%20number%20of%20requests%20in%20connection&In-Reply-To=%3C20190712142454.GM1877%40mdounin.ru%3E>
Fri Jul 12 14:24:54 UTC 2019


Hello!



On Mon, Jul 01, 2019 at 11:24:28AM +0200, Michael Würtinger wrote:



> thanks a lot for your reply. Could you please elaborate a little bit

> which memory resources need to be freed periodically? How much memory

> can be held by a connection? What's the worst case scenario?

> We are currently running it in production with http2_max_requests set

> to a value so high that the connection practically lives forever and

> so far we cannot spot any problems but maybe we're missing something?



And example of "wost case" can be seen here:



http://mailman.nginx.org/pipermail/nginx/2018-July/056525.html



Memory can be allocated from the connection memory pool. And this

memory have to be freed at some point - so you have to close

the connection to do this. And that's why number of requests in a

particular connection is limited by default.



Whether or not memory allocations happens in your particular use

case - doesn't really matter, especially given that things can

change with seamingly minor configuration and/or client behaviour

changes.



In most cases we try to limit allocations from the connection

memory pool to a minimum, yet it is not always possible/convinient to

completely avoid allocations from connection memory pool. This

allows processing of thousands of requests on a single connection

without observable memory impact. Likely millions will also work

except may be in some specific use cases, yet I wouldn't recommend

allowing that many requests, just to be on the safe side.



--

Maxim Dounin

http://mdounin.ru/

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

HTTP/2: allow unlimited number of requests in connection

Michael Würtinger 295 June 26, 2019 01:42PM

Re: HTTP/2: allow unlimited number of requests in connection

Maxim Dounin 70 June 29, 2019 06:06AM

Re: HTTP/2: allow unlimited number of requests in connection

Michael Würtinger 116 July 01, 2019 05:26AM

Re: HTTP/2: allow unlimited number of requests in connection

Maxim Dounin 143 July 12, 2019 10:26AM

Re: HTTP/2: allow unlimited number of requests in connection

chienhsw 32 March 04, 2020 02:58PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 79
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready