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