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 usa

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 bi

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 > cjb

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 s

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: https

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 aggres

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 > maxConcurrent

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 DEBU

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] > >>> o.a.coyote.http11.Http11

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 and

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 [org.apache.

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 > > > sock

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 > > :java.nio.ch

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 EN

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 org.apache.coyote.http2.StreamS

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 org.apache.coyote.http2.StreamState

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 parameters

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 https://tools.

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 15/09/20

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 Mart

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 tes

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 enab

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 throughpu

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 o

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 HTT

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: > > https://git

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: https://github.com/apache/tomcat/blob/d381d87005fa89d1f19d9091c0954f317c135d9d/conf/s