On 25/09/2020 12:18, Berneburg, Cris J. - US wrote: > Thanks again Mark :-) > > mt> how that Map is pruned (it is currently too aggressive) > > mt> if Tomcat is processing 10k req/s just keeping track of > mt> the last 30s is potentially 300k streams. How to do that > mt> efficiently for all usage patterns is a problem that > mt> needs some thought. > > Sounds a bit like garbage collection. Is aging part of the process - a > map/queue combo?
Yes, but only very simplisticly. Streams with lower IDs are removed first. > cjb> How could the closed stream footprint be reduced? > cjb> Could the structure holding a closed stream: > cjb> a. Be replaced with a smaller one? > cjb> c. Or did you already have something in mind? > > mt> A form of a). I'm looking at this now. I committed this earlier today. See dev@ for details. > cjb> b. De-reference other objects no longer needed? > cjb> Hmm... that might lead to NPE's and thus unnecessary > cjb> null checking. > > mt> Tried that. Lots of NPE regressions to the point that > mt> I reverted the change to look for a better solution. > > Hey great, I'm beginning to understand! :-D > > mt> we have all the plumbing to correctly determine > mt> relative priority [...] we don't use it to prioritise > mt> streams when flow control windows are not an issue > > mt> I started to look at this a while ago but it gets very > mt> complex quite quickly. It would be simpler if we were > mt> just serving static content. > > Ha ha, httpd! Hang on, does httpd handle a similar situation too? I don't know. I imagine so. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org