Hi Mark,

Its the default APR connector with 150 Threads.

Chirag

On Thu, 25 Jun, 2020, 7:30 pm Mark Thomas, <ma...@apache.org> wrote:

> On 25/06/2020 11:00, Chirag Dewan wrote:
> > Thanks for the quick check Mark.
> >
> > These are the images I tried referring to:
> >
> > https://ibb.co/LzKtRgh
> >
> > https://ibb.co/2s7hqRL
> >
> > https://ibb.co/KmKj590
> >
> >
> > The last one is the MAT screenshot showing many RequestInfo objects.
>
> Thanks. That certainly looks like a memory leak. I'll take a closer
> look. Out of interest, how many threads is the Connector configured to use?
>
> Mark
>
>
> >
> >
> > Thanks,
> >
> > Chirag
> >
> > On Wed, Jun 24, 2020 at 8:30 PM Mark Thomas <ma...@apache.org> wrote:
> >
> >> On 24/06/2020 12:17, Mark Thomas wrote:
> >>> On 22/06/2020 11:06, Chirag Dewan wrote:
> >>>> Hi,
> >>>>
> >>>> Update: We found that Tomcat goes OOM when a client closes and opens
> new
> >>>> connections every second. In the memory dump, we see a lot of
> >>>> RequestInfo objects that are causing the memory spike.
> >>>>
> >>>> After a while, Tomcat goes OOM and start rejecting request(I get a
> >>>> request timed out on my client). This seems like a bug to me.
> >>>>
> >>>> For better understanding, let me explain my use case again:
> >>>>
> >>>> I have a jetty client that sends HTTP2 requests to Tomcat. My
> >>>> requirement is to close a connection after a configurable(say 5000)
> >>>> number of requests/streams and open a new connection that continues to
> >>>> send requests. I close a connection by sending a GoAway frame.
> >>>>
> >>>> When I execute this use case under load, I see that after ~2hours my
> >>>> requests fail and I get a series of errors like request
> >>>> timeouts(5seconds), invalid window update frame, and connection close
> >>>> exception on my client.
> >>>> On further debugging, I found that it's a Tomcat memory problem and it
> >>>> goes OOM after sometime under heavy load with multiple connections
> being
> >>>> re-established by the clients.
> >>>>
> >>>> image.png
> >>>>
> >>>> image.png
> >>>>
> >>>> Is this a known issue? Or a known behavior with Tomcat?
> >>>
> >>> Embedded images get dropped by the list software. Post those images
> >>> somewhere we can see them.
> >>>
> >>>> Please let me know if you any experience with such a situation. Thanks
> >>>> in advance.
> >>>
> >>> Nothing comes to mind.
> >>>
> >>> I'll try some simple tests with HTTP/2.
> >>
> >> I don't see a memory leak (the memory is reclaimed eventually) but I do
> >> see possibilities to release memory associated with request processing
> >> sooner.
> >>
> >> Right now you need to allocate more memory to the Java process to enable
> >> Tomcat to handle the HTTP/2 load it is presented with.
> >>
> >> It looks like a reasonable chunk of memory is released when the
> >> Connection closes that could be released earlier when the associated
> >> Stream closes. I'll take a look at what can be done in that area. In the
> >> meantime, reducing the number of Streams you allow on a Connection
> >> before it is closed should reduce overall memory usage.
> >>
> >> Mark
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> >> For additional commands, e-mail: users-h...@tomcat.apache.org
> >>
> >>
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

Reply via email to