On 07/08/2019 17:42, Mark Thomas wrote:
> Just a quick update.
> 
> I started to make some progress but I have been side-tracked by the
> HTTP/2 timeout issue raised on users. I've been able to get the clean-up
> in but the priority changes aren't going to make the next set of releases.

With the HTTP/2 timeout issue resolved, I thought I'd take a quick look
at this again in case I could make progress.

I had some success in that the test at https://ishttp2fastyet.com shows
some improvements with my priority changes but there are some issues:

1. The HTTP/2 unit tests are ~50% slower. This looks to be a small
   number timing out. I suspect a timing issue in the patch.

2. I haven't looked at how to handle non-blocking I/O

3. Ignoring the 2 issues above, the patch shows some clear improvement.
   However, the result is far from the ideal. The root cause is Tomcat
   does not prioritize HTTP/2 reads over HTTP/2 writes and it really
   needs to for prioritisation to work as intended.

I'm planning on switching focus for the priority work and will look at
mechanisms for prioritizing HTTP/2 reads.

Mark


> On 01/08/2019 09:19, Mark Thomas wrote:<snip/>
>> My general thinking is some sort of priority manager where multiple
>> implementations are available. Something like:
>> - NO-OP (current behaviour)
>> - dependencies only (takes account of dependencies for write
>>   ordering but not weights
>> - full (takes account of dependencies and weights for write ordering)
>>
>> I'm not sure the 'full' implementation is viable for a Servlet
>> container. What is doable for a single thread managing the writes for
>> multiple static resources gets a lot more complicated when you have one
>> thread per resource generating those resources dynamically.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to