Mark,
On 7/23/24 13:13, Mark Thomas wrote:
Prompted by some folks at $dayjob, I have been looking at the
performance of Tomcat's HTTP/2 implementation using [1]
Initially, I was seeing ~79k req/s.
Restoring lazy init for the StreamInputBuffer increased that to ~106k
req/s.
O_O
Moving the HttpParser from Processor to Protocol increased that to ~108k
req/s.
Now I am looking at recycling and reusing the coyote request and
response. That increases throughput to 124k req/s.
This information would be good to put (with a datestamp and
environmental details) into the documentation for discardFacades and/or
similar capabilities.
In Bratislava, we idly speculated that "throwing those objects away
should not affect performance much and improve security" but if it
really is a 15% speed improvement, it might be really critical for some
applications.
Given the significant performance increase I am considering the following:
- switching HTTP/2 to recycle and reuse coyote request and response
objects by default
Note that we just changed that default in the other direction for
HTTP/1.1. I think we should probably be consistent.
- providing an option to restore the current behaviour of creating a new
coyote request and response object for every HTTP/2 stream
+1 but with a different default.
-chris
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org