hashed-deferred   [plain text]


Delivering 1000 deferred messages over the loopback transport,
outbound concurrency 10. smtp-sink pipelining disabled. Machine is
P230, BSD/OS 3.1, 64MB memory.

hashing is 16 directories per level

flat deferred queue

    start: Sun Feb 21 16:42:37 EST 1999
    done: Feb 21 16:44:35
    time: 1:58 = 118 seconds

    start: Sun Feb 21 16:48:01 EST 1999
    done: Feb 21 16:49:51
    time: 1:50 = 110 seconds

hashed deferred queue, depth=1 (16 directories)

    start: Sun Feb 21 17:29:36 EST 1999
    done: Feb 21 17:31:32
    time: 1:56 = 116 seconds

    start: Sun Feb 21 17:33:36 EST 1999
    done: Feb 21 17:35:24
    time: 1:48 = 108 seconds

    start: Sun Feb 21 17:37:08 EST 1999
    done: Feb 21 17:39:02
    time: 1:52 = 112 seconds

Hashing does not slow down deliveries.

However the problem is scanning an empty deferred queue. On an idle
machine, it takes some 5 seconds to scan an empty depth=2 deferred
queue unless the blocks happen to be cached. During those 5 seconds
the queue manager will not pay attention to I/O from delivery
agents, which is bad.