On Mon, Sep 21, 2020 at 2:49 PM Martin Grigorov <mgrigo...@apache.org>
wrote:

> Hi Remy,
>
> On Mon, Sep 21, 2020 at 2:56 PM Rémy Maucherat <r...@apache.org> wrote:
>
> <snip/>
>
>
> > > 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.channels.SocketChannel[connected
> > > local=/127.0.0.1:18080 remote=/127.0.0.1:42229]]
> > > 2020-09-21 14:25:04.850 DEBUG 232086 --- [https-jsse-nio-18080-exec-6]
> > > o.a.coyote.http2.Http2UpgradeHandler     : Connection [2]
> > >
> > > java.io.IOException: Unable to unwrap data, invalid status [CLOSED]
> > >         at org.apache.tomcat.util.net
> > > .SecureNioChannel.read(SecureNioChannel.java:766)
> > >         at org.apache.tomcat.util.net
> > >
> >
> .NioEndpoint$NioSocketWrapper$NioOperationState.run(NioEndpoint.java:1468)
> > >
> >
> > When I tested HTTP/2, I used h2c (unencrypted) to get a better idea at
> > what's going on. Otherwise you don't really know what proportion of TLS
> or
> > HTTP/2 impacts performance more [and then you have to test more things
> like
> > OpenSSL, be careful that the ciphers used are the same and equally well
> > optimized in each impl, etc].
> >
> > Then once you feel happy about h2c, you can see how things go with TLS.
> >
>
> Chris also suggested that TLS might be the problem for the low throughput
> but I get good throughput for both HTTP (15-16 K) and HTTPS (12-13 K
> reqs/s). Only when HTTP2 is enabled it drops. The reason is more clear now
> - it is due to the extra RST packets being sent.
>
> Vegeta does support h2c! So I can give it a try!
>
> How one configures Tomcat to support h2c ? Just remove <SSLHostConfig> ?
> I've just tried this but I am not sure how to verify that it works.
> The browsers do not support h2c. curl and httpie neither.
> Quick search suggested me https://github.com/fstab/h2c "h2c connect
> localhost:18080" failed with "Failed to connect to localhost:18080: tls:
> oversized record received with length 20527"
>

Yes, it depends on the client. h2load works just fine without TLS for
example, and it's actually the reason why I added h2c support in Tomcat.

As for the configuration, it's a normal non TLS HTTP/1.1 config with the
UpgradeProtocol element added.

Rémy


>
>
>
> >
> > Rémy
> >
> >
> >
> >
>

Reply via email to