groupbaseexpiry is expensive

Fletcher Mattox fletcher at cs.utexas.edu
Thu Jan 13 12:36:37 UTC 2000


If one uses groupbaseexpiry on even a modest tradspool directory,
both expireover and expire call access(2) on every article in the
spool directory (according to truss).  Is this really necessary?
Neither program had to do this in older INNs.  It is very expensive.

Even if it turns out that it really is necessary for expireover
to do this, surely expire need not repeat it a few minutes later?

To give you an idea of how expensive it is, check out this expirelog
for a database of only 2 million articles on a Sun Ultra 1.  It takes
five hours, all of it inside the locked portion of news.daily.

Expire messages:
expireover start Thu Jan 13 00:11:10 CST 2000: ( -z/news/log/expire.rm -Z/news/l
og/expire.lowmark)
    Article lines processed  2106316
    Articles dropped          124252
    Overview index dropped    158840
expireover end Thu Jan 13 02:25:26 CST 2000
lowmarkrenumber begin Thu Jan 13 02:25:26 CST 2000: (/news/log/expire.lowmark)
lowmarkrenumber end Thu Jan 13 02:25:27 CST 2000
        expirerm start Thu Jan 13 02:25:34 CST 2000
        expirerm end Thu Jan 13 03:11:40 CST 2000
expire begin Thu Jan 13 03:12:10 CST 2000: (-v1)
    Article lines processed  2024274
    Articles retained        1846722
    Entries expired           177552
    Old entries dropped       194823
    Old entries retained      339344
expire end Thu Jan 13 05:04:32 CST 2000
        all done Thu Jan 13 05:04:32 CST 2000



More information about the inn-workers mailing list