On Mon, Sep 28, 2020 at 9:28 AM Martin Grigorov <mgrigo...@apache.org>
wrote:

> Hi,
>
> On Fri, Sep 25, 2020 at 4:40 PM Mark Thomas <ma...@apache.org> wrote:
>
>> On 25/09/2020 14:34, ma...@apache.org wrote:
>> > This is an automated email from the ASF dual-hosted git repository.
>> >
>> > markt pushed a change to branch master
>> > in repository https://gitbox.apache.org/repos/asf/tomcat.git.
>> >
>> >
>> >     from 519f6f8  Fix a typo in changelog
>> >      new ee25710  Reduce memory footprint of closed http/2 streams
>> >      new f6e656e  Reduce memory footprint of closed http/2 streams
>> >      new 0f66705  Reduce memory footprint of closed http/2 streams
>> >      new fa6df26  Reduce memory footprint of closed http/2 streams
>> >      new 9ee7d6a  Reduce memory footprint of closed http/2 streams
>> >      new 30df6a0  Reduce memory footprint of closed http/2 streams
>> >      new 0a78ae9  Fully replace Stream with RecycledStream
>> >      new 954cbff  Refactor the pruning so more stream info is retained
>> for longer
>> >      new 18e0e3f  Update changelog
>>
>> All,
>>
>> This set of changes provided multiple improvements to the HTTP/2
>> implementation:
>>
>> 1. The memory used by closed streams is significantly reduced (hopefully
>>    without the NPEs triggered by my previous attempt).
>> 2. We retain information on more streams in the priority tree. This
>>    enables greater latitude for clients that send frames for streams
>>    that have been closed (while not increasing memory).
>> 3. We no longer aggressively prune the priority tree to just active
>>    streams (this was causing problems in some usage patterns).
>>
>> My plan is to let this run on the CI for a few days and then - assuming
>> no issues - back-port it early next week.
>>
>
> I will cherry-pick these commits to a branch [1] that I use for testing
> and profiling.
> I'll report back with the results!
>

Good news: there are no regressions!
Neutral news: there are no performance improvements according to my tests.
I use
https://github.com/martin-g/http2-server-perf-tests/blob/128f24e27ef96ee31740db4130855bea2c021793/java/tomcat/src/main/java/info/mgsolutions/tomcat/Main.java
to test HTTP2, h2c, HTTP and HTTPS
HTTP: 28K reqs/s
H2C: 14K reqs/s
HTTP2: 11K req/s

I still use Vegeta as a test client + my patch to ignore CANCEL errors
because I haven't found a better load client.
I've reported a bug against Golang net package:
https://github.com/golang/go/issues/41570


>
> 1.
> https://github.com/martin-g/tomcat/tree/http2/use-navigateable-map-for-http2-streams
>
>
>
>>
>> Mark
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: dev-h...@tomcat.apache.org
>>
>>

Reply via email to