HTTP/2: allow unlimited number of requests in connection

Michael Würtinger michael.wuertinger at egym.com
Mon Jul 1 09:24:28 UTC 2019


Hi Maxim,

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?

Regards,
Michael

On Sat, Jun 29, 2019 at 12:05 PM Maxim Dounin <mdounin at mdounin.ru> wrote:
>
> Hello!
>
> On Wed, Jun 26, 2019 at 07:41:27PM +0200, Michael Würtinger wrote:
>
> > Hello,
> >
> > we're running a gRPC service behind an NGINX load balancer and we
> > often see that the connection gets shut down with a GOAWAY message.
> > Since our request deadlines are quite small and it takes some time to
> > re-establish a connection this often leads to many failed requests.
> >
> > After analyzing the situation we realized that it is caused by the
> > "http2_max_requests" option which defaults to 1000. After setting this
> > to a ridiculously high value our problems disappeared.
> >
> > While there probably are use cases where limiting the life time of a
> > connection makes sense we were wondering why it is not possible to
> > disable this functionality and let a connection just live as long as
> > possible?
> >
> > The following patch allows to do just that by setting http2_max_requests to 0.
>
> No, thank you.  Closing connections periodically is required to
> free associated memory, and shouldn't be disabled.
>
> --
> Maxim Dounin
> http://mdounin.ru/
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel



-- 
---
Michael Würtinger
Technology Fellow
eGym GmbH

T +49 (89) 9213105 - 11 | michael.wuertinger at egym.com
egym.com/business | qualitrain.net

Einsteinstraße 172, 81677 München
Geschäftsführer: Martin Fichter, Patrick Meininger, Philipp
Roesch-Schlanderer, Florian Sauter
Gerichtsstand München | Amtsgericht München HRB 186394 | USt.-Id. DE275313632

-- 
 <https://egym.com>


More information about the nginx-devel mailing list