Hi,
I have used Netty as an HTTP/2 server for a period of time and found that it did not take full advantage of HTTP/2 multiplexing. What I mean is that Netty handles all HTTP/2 streams in one thread if they come from the same TCP connection. But that is not expected because HTTP/2 merges multiple TCP connections into one, and let the HTTP/2 to handle the concurrency. So the application handler should run concurrently to handle concurrent HTTP/2 streams.
One simple phenomenon is that if I set up an HTTP/2 client and an HTTP/2 server, letting the client sends requests quickly. But the CPU usage of the server will never exceed 100%, which means it only uses one CPU core. That will cause performance issues if the server is busy with making responses.
Any thoughts?
Johnson