Hi,

I am trying to move to HTTP2 based APR connector from my HTTP1 based
connector because of some customer requirements.

I am trying to form some sort of throughput benchmark for HTTP2 in
comparison to HTTP1. I have a simple Jersey service that accepts a JSON
request and sends 200 with some headers.

I have observed that HTTP2 is somehow stuck at 6K as compared to 15K in
HTTP1.1 with the same amount of CPU and memory consumed.
My client with HTTP1.1 is based on HTTP components and opens up to 100
connections with Tomcat. On HTTP2, I have a Jetty client that opens 2
connections with multiplexing of 1024. I tried increasing the connections
to 20 as well, but that only has adverse affects.

I am running Tomcat on a K8 pod with 3Gi CPU and 2Gi memory. With both
HTTP2 and HTTP1.1 Tomcat consumes all 3 cores and approximately 800m memory.

In the thread dumps with HTTP2, I see a lot of BLOCKED threads:
[image: image.png]
Most of the threads are blocked in *writeHeaders. *

Am I missing something here? Any help is much appreciated.

Thank you
Chirag

Reply via email to