]> Sergey Matveev's repositories - public-inbox.git/commit
www+httpd: lower priority of large mbox downloads
authorEric Wong <e@80x24.org>
Tue, 28 Sep 2021 07:53:49 +0000 (07:53 +0000)
committerEric Wong <e@80x24.org>
Tue, 28 Sep 2021 20:23:53 +0000 (20:23 +0000)
commit205599c0814e1031760e54cce9d8880e747cbb08
tree5bda9afd681100d640288236e143e7ca215276b2
parent3dbd6dc31dd7e34bea87dbb626f811e093b6860b
www+httpd: lower priority of large mbox downloads

While each git blob request is treated fairly w.r.t other git
blob requests, responses triggering thousands of git blob
requests can still noticeably increase latency for
less-expensive responses.

Move large mbox results and the nasty all.mbox endpoint to
a low priority queue which only fires once per-event loop
iteration.  This reduces the response time of short HTTP
responses while many gigantic mboxes are being downloaded
simultaneously, but still maximizes use of available I/O
when there's no inexpensive HTTP responses happening.

This only affects PublicInbox::WWW users who use
public-inbox-httpd, not generic PSGI servers.
lib/PublicInbox/GzipFilter.pm
lib/PublicInbox/Mbox.pm
lib/PublicInbox/WWW.pm