Re: Low throughput with HTTP2

2020-09-25 Thread Mark Thomas
On 25/09/2020 12:18, Berneburg, Cris J. - US wrote: > Thanks again Mark :-) > > mt> how that Map is pruned (it is currently too aggressive) > > mt> if Tomcat is processing 10k req/s just keeping track of > mt> the last 30s is potentially 300k streams. How to do that > mt> efficiently for all

RE: Low throughput with HTTP2

2020-09-25 Thread Berneburg, Cris J. - US
Thanks again Mark :-) mt> how that Map is pruned (it is currently too aggressive) mt> if Tomcat is processing 10k req/s just keeping track of mt> the last 30s is potentially 300k streams. How to do that mt> efficiently for all usage patterns is a problem that mt> needs some thought. Sounds a

Re: Low throughput with HTTP2

2020-09-23 Thread Mark Thomas
On 23/09/2020 15:50, Berneburg, Cris J. - US wrote: > Hi Mark > > Thanks for taking the time to explain that to me. :-) > > A few more questions, if you don't mind. > > cjb> TC thinks the stream should be closed when the client > cjb> thinks the stream is still open? Basically RST_STREAM >

RE: Low throughput with HTTP2

2020-09-23 Thread Berneburg, Cris J. - US
Hi Mark Thanks for taking the time to explain that to me. :-) A few more questions, if you don't mind. cjb> TC thinks the stream should be closed when the client cjb> thinks the stream is still open? Basically RST_STREAM cjb> is a keep-alive? mt> No. The stream closed cleanly. The client is

Re: Low throughput with HTTP2

2020-09-23 Thread Martin Grigorov
Hi, I've debugged further with Wireshark: 1) Golang: https://pasteboard.co/Jsnvx1z.png (SETTINGS, HEADERS+DATA) 2) Nodejs: https://pasteboard.co/JsnwRNV.png (SETTINGS, HEADERS+PARTIAL DATA, DATA) 3) Rust: https://pasteboard.co/JsnxvKGU.png (SETTINGS, HEADERS+PARTIAL DATA+DATA) 4) Netty:

Re: Low throughput with HTTP2

2020-09-22 Thread Martin Grigorov
On Mon, Sep 21, 2020 at 4:46 PM Rémy Maucherat wrote: > On Mon, Sep 21, 2020 at 2:49 PM Martin Grigorov > wrote: > > > Hi Remy, > > > > On Mon, Sep 21, 2020 at 2:56 PM Rémy Maucherat wrote: > > > > > > > > > > > > 2020-09-21 14:25:04.850 DEBUG 232086 --- > [https-jsse-nio-18080-exec-8] > > >

Re: Low throughput with HTTP2

2020-09-22 Thread Mark Thomas
On 22/09/2020 13:47, Berneburg, Cris J. - US wrote: > Hi Mark > > As with most topics here, I struggle to understand what is being discussed. > :-) So please bear with me. > >> improving how Tomcat handles traffic like this. >> >> Looks like Tomcat could prune the closed streams >> less

RE: Low throughput with HTTP2

2020-09-22 Thread Berneburg, Cris J. - US
Hi Mark As with most topics here, I struggle to understand what is being discussed. :-) So please bear with me. > improving how Tomcat handles traffic like this. > > Looks like Tomcat could prune the closed streams > less aggressively. > > At the moment it waits until there are >

Re: Low throughput with HTTP2

2020-09-21 Thread Martin Grigorov
On Mon, Sep 21, 2020 at 9:31 PM Martin Grigorov wrote: > > > On Mon, Sep 21, 2020 at 5:52 PM Mark Thomas wrote: > >> On 21/09/2020 13:48, Martin Grigorov wrote: >> > Hi Remy, >> > >> > On Mon, Sep 21, 2020 at 2:56 PM Rémy Maucherat wrote: >> > >> > >> > >> > >> >>> 2020-09-21 14:25:04.850

Re: Low throughput with HTTP2

2020-09-21 Thread Martin Grigorov
On Mon, Sep 21, 2020 at 5:52 PM Mark Thomas wrote: > On 21/09/2020 13:48, Martin Grigorov wrote: > > Hi Remy, > > > > On Mon, Sep 21, 2020 at 2:56 PM Rémy Maucherat wrote: > > > > > > > > > >>> 2020-09-21 14:25:04.850 DEBUG 232086 --- [https-jsse-nio-18080-exec-8] > >>>

Re: Low throughput with HTTP2

2020-09-21 Thread Mark Thomas
On 21/09/2020 15:52, Mark Thomas wrote: > That doesn't > exclude, of course, the possibility of improving how Tomcat handles > traffic like this. Looks like Tomcat could prune the closed streams less aggressively. At the moment it waits until there are maxConcurrentStreams + 10% in the map

Re: Low throughput with HTTP2

2020-09-21 Thread Mark Thomas
On 21/09/2020 13:48, Martin Grigorov wrote: > Hi Remy, > > On Mon, Sep 21, 2020 at 2:56 PM Rémy Maucherat wrote: > > > > >>> 2020-09-21 14:25:04.850 DEBUG 232086 --- [https-jsse-nio-18080-exec-8] >>> o.a.coyote.http11.Http11NioProtocol : Found processor [null] for >>> socket

Re: Low throughput with HTTP2

2020-09-21 Thread Rémy Maucherat
On Mon, Sep 21, 2020 at 2:49 PM Martin Grigorov wrote: > Hi Remy, > > On Mon, Sep 21, 2020 at 2:56 PM Rémy Maucherat wrote: > > > > > > > 2020-09-21 14:25:04.850 DEBUG 232086 --- [https-jsse-nio-18080-exec-8] > > > o.a.coyote.http11.Http11NioProtocol : Found processor [null] for > > >

Re: Low throughput with HTTP2

2020-09-21 Thread Martin Grigorov
On Mon, Sep 21, 2020 at 3:48 PM Martin Grigorov wrote: > Hi Remy, > > On Mon, Sep 21, 2020 at 2:56 PM Rémy Maucherat wrote: > > > > >> > 2020-09-21 14:25:04.850 DEBUG 232086 --- [https-jsse-nio-18080-exec-8] >> > o.a.coyote.http11.Http11NioProtocol : Found processor [null] for >> > socket

Re: Low throughput with HTTP2

2020-09-21 Thread Martin Grigorov
Hi Remy, On Mon, Sep 21, 2020 at 2:56 PM Rémy Maucherat wrote: > > 2020-09-21 14:25:04.850 DEBUG 232086 --- [https-jsse-nio-18080-exec-8] > > o.a.coyote.http11.Http11NioProtocol : Found processor [null] for > > socket [org.apache.tomcat.util.net.SecureNioChannel@2b435926 > >

Re: Low throughput with HTTP2

2020-09-21 Thread Rémy Maucherat
On Mon, Sep 21, 2020 at 1:36 PM Martin Grigorov wrote: > On Mon, Sep 21, 2020 at 12:08 PM Martin Grigorov > wrote: > > > > > > > On Mon, Sep 21, 2020 at 11:23 AM Mark Thomas wrote: > > > >> On 21/09/2020 08:18, Martin Grigorov wrote: > >> > On Fri, Sep 18, 2020 at 6:16 PM Mark Thomas wrote: >

Re: Low throughput with HTTP2

2020-09-21 Thread Martin Grigorov
On Mon, Sep 21, 2020 at 12:08 PM Martin Grigorov wrote: > > > On Mon, Sep 21, 2020 at 11:23 AM Mark Thomas wrote: > >> On 21/09/2020 08:18, Martin Grigorov wrote: >> > On Fri, Sep 18, 2020 at 6:16 PM Mark Thomas wrote: >> > >> >> On 18/09/2020 14:07, Martin Grigorov wrote: >> >> >> >> >> >>

Re: Low throughput with HTTP2

2020-09-21 Thread Mark Thomas
On 21/09/2020 10:44, Martin Grigorov wrote: > On Mon, Sep 21, 2020 at 12:08 PM Martin Grigorov > wrote: >> On Mon, Sep 21, 2020 at 11:23 AM Mark Thomas wrote: >>> RFC 7540 allows the connection to be closed with a protocol error if the >>> reset is received "a significant time after sending

Re: Low throughput with HTTP2

2020-09-21 Thread Martin Grigorov
On Mon, Sep 21, 2020 at 12:08 PM Martin Grigorov wrote: > > > On Mon, Sep 21, 2020 at 11:23 AM Mark Thomas wrote: > >> On 21/09/2020 08:18, Martin Grigorov wrote: >> > On Fri, Sep 18, 2020 at 6:16 PM Mark Thomas wrote: >> > >> >> On 18/09/2020 14:07, Martin Grigorov wrote: >> >> >> >> >> >>

Re: Low throughput with HTTP2

2020-09-21 Thread Martin Grigorov
On Mon, Sep 21, 2020 at 11:23 AM Mark Thomas wrote: > On 21/09/2020 08:18, Martin Grigorov wrote: > > On Fri, Sep 18, 2020 at 6:16 PM Mark Thomas wrote: > > > >> On 18/09/2020 14:07, Martin Grigorov wrote: > >> > >> > >> > >>> What is the difference > >>> between

Re: Low throughput with HTTP2

2020-09-21 Thread Mark Thomas
On 21/09/2020 08:18, Martin Grigorov wrote: > On Fri, Sep 18, 2020 at 6:16 PM Mark Thomas wrote: > >> On 18/09/2020 14:07, Martin Grigorov wrote: >> >> >> >>> What is the difference >>> between org.apache.coyote.http2.StreamStateMachine.State#CLOSED_RX >>> and

Re: Low throughput with HTTP2

2020-09-21 Thread Martin Grigorov
On Fri, Sep 18, 2020 at 6:16 PM Mark Thomas wrote: > On 18/09/2020 14:07, Martin Grigorov wrote: > > > > > What is the difference > > between org.apache.coyote.http2.StreamStateMachine.State#CLOSED_RX > > and org.apache.coyote.http2.StreamStateMachine.State#CLOSED_TX ? > > Compare the

Re: Low throughput with HTTP2

2020-09-18 Thread Mark Thomas
On 18/09/2020 14:07, Martin Grigorov wrote: > What is the difference > between org.apache.coyote.http2.StreamStateMachine.State#CLOSED_RX > and org.apache.coyote.http2.StreamStateMachine.State#CLOSED_TX ? Compare the parameters used to construct the enums. > I read some parts of

Re: Low throughput with HTTP2

2020-09-18 Thread Martin Grigorov
On Fri, Sep 18, 2020 at 10:48 AM Martin Grigorov wrote: > Hi, > > On Wed, Sep 16, 2020 at 10:24 AM Martin Grigorov > wrote: > >> Hi Remy, >> >> On Tue, Sep 15, 2020 at 6:16 PM Rémy Maucherat wrote: >> >>> On Tue, Sep 15, 2020 at 5:08 PM Martin Grigorov >>> wrote: >>> >>> > Hi Mark, >>> > >>>

Re: Low throughput with HTTP2

2020-09-18 Thread Martin Grigorov
Hi, On Wed, Sep 16, 2020 at 10:24 AM Martin Grigorov wrote: > Hi Remy, > > On Tue, Sep 15, 2020 at 6:16 PM Rémy Maucherat wrote: > >> On Tue, Sep 15, 2020 at 5:08 PM Martin Grigorov >> wrote: >> >> > Hi Mark, >> > >> > On Tue, Sep 15, 2020 at 3:34 PM Mark Thomas wrote: >> > >> > > On

Re: Low throughput with HTTP2

2020-09-16 Thread Martin Grigorov
Hi Remy, On Tue, Sep 15, 2020 at 6:16 PM Rémy Maucherat wrote: > On Tue, Sep 15, 2020 at 5:08 PM Martin Grigorov > wrote: > > > Hi Mark, > > > > On Tue, Sep 15, 2020 at 3:34 PM Mark Thomas wrote: > > > > > On 15/09/2020 12:46, Martin Grigorov wrote: > > > > On Tue, Sep 15, 2020 at 2:37 PM

Re: Low throughput with HTTP2

2020-09-15 Thread Rémy Maucherat
On Tue, Sep 15, 2020 at 5:08 PM Martin Grigorov wrote: > Hi Mark, > > On Tue, Sep 15, 2020 at 3:34 PM Mark Thomas wrote: > > > On 15/09/2020 12:46, Martin Grigorov wrote: > > > On Tue, Sep 15, 2020 at 2:37 PM Martin Grigorov > > > wrote: > > > > > >> Hi, > > >> > > >> I am running some load

Re: Low throughput with HTTP2

2020-09-15 Thread Martin Grigorov
Hi Chris, On Tue, Sep 15, 2020 at 5:09 PM Christopher Schultz < ch...@christopherschultz.net> wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA256 > > Martin, > > On 9/15/20 07:37, Martin Grigorov wrote: > > I am running some load tests on Tomcat and I've noticed that when > > HTTP2 is

Re: Low throughput with HTTP2

2020-09-15 Thread Martin Grigorov
Hi Mark, On Tue, Sep 15, 2020 at 3:34 PM Mark Thomas wrote: > On 15/09/2020 12:46, Martin Grigorov wrote: > > On Tue, Sep 15, 2020 at 2:37 PM Martin Grigorov > > wrote: > > > >> Hi, > >> > >> I am running some load tests on Tomcat and I've noticed that when HTTP2 > is > >> enabled the

Re: Low throughput with HTTP2

2020-09-15 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Martin, On 9/15/20 07:37, Martin Grigorov wrote: > I am running some load tests on Tomcat and I've noticed that when > HTTP2 is enabled the throughput drops considerably. > > Here are the steps to reproduce: > > 1) Enable HTTP2, e.g. by commenting

Re: Low throughput with HTTP2

2020-09-15 Thread Mark Thomas
On 15/09/2020 12:46, Martin Grigorov wrote: > On Tue, Sep 15, 2020 at 2:37 PM Martin Grigorov > wrote: > >> Hi, >> >> I am running some load tests on Tomcat and I've noticed that when HTTP2 is >> enabled the throughput drops considerably. >> >> Here are the steps to reproduce: >> >> 1) Enable

Re: Low throughput with HTTP2

2020-09-15 Thread Martin Grigorov
On Tue, Sep 15, 2020 at 2:37 PM Martin Grigorov wrote: > Hi, > > I am running some load tests on Tomcat and I've noticed that when HTTP2 is > enabled the throughput drops considerably. > > Here are the steps to reproduce: > > 1) Enable HTTP2, e.g. by commenting out this connector: > >

Low throughput with HTTP2

2020-09-15 Thread Martin Grigorov
Hi, I am running some load tests on Tomcat and I've noticed that when HTTP2 is enabled the throughput drops considerably. Here are the steps to reproduce: 1) Enable HTTP2, e.g. by commenting out this connector: