While extindex allows the elimination of per-inbox Xapian DB
shards, per-inbox over.sqlite3 and msgmap.sqlite3 are still
required, and they can waste system resources when there are
hundreds/thousands of inboxes and most of them sit idle..
Since reopening them isn't expensive, close them aggressively to
reduce memory pressure and the likelyhood of swapping.
We'll also take advantage of the new ->add_uniq_timer API
to amortize the cost of cleanups and avoid globals in the
inbox class.
Eric Wong (3):
www: do not bump {over} refcnt on long responses
inbox: rewrite cleanup to be more aggressive
inbox: drop memoization/preload, cleanup expires caches
lib/PublicInbox/Git.pm | 12 ++++---
lib/PublicInbox/GzipFilter.pm | 6 ++++
lib/PublicInbox/Inbox.pm | 60 ++++++++++++++---------------------
lib/PublicInbox/Mbox.pm | 29 +++++++----------
lib/PublicInbox/View.pm | 6 ++--
lib/PublicInbox/WWW.pm | 9 ------
t/nntp.t | 1 -
7 files changed, 52 insertions(+), 71 deletions(-)
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/