[Dovecot] LMTP in 2.0: concurrency, inet sockets

Stan Hoeppner stan at hardwarefreak.com
Sun Feb 7 15:47:22 EET 2010

Stefan Foerster put forth on 2/7/2010 6:39 AM:
> * Timo Sirainen <tss at iki.fi>:
>> On 3.2.2010, at 9.41, Stefan Foerster wrote:
>>> What about concurrent deliviers? As of now, when using the deliver
>>> LDA together with Postfix, you have to make sure that only one
>>> recipient is passed to deliver at a time, so for multi-recipient
>>> mail, the system might spawn a large number of processes (two per
>>> recipient, therefore two forks/execve calls). Is that limit still
>>> imposed with the new LMTP server?
>> Nope. Each LMTP session can handle multiple recipients. And each
>> LMTP process can handle multiple sessions. That also unfortunately
>> means that if you're using multiple UNIX UIDs, lmtp processes need
>> to run as root for now.
> The new LMTP support seems to deliver an amazing performance. I've
> done a test where I delivered 100k messages with strict test script,
> with concurrency raning from 1 for 92% up to 18 for 0.2% of all
> deliveries. Recipient concurrency was 1 for 84% up to 9 for 1.3% of
> all messages (I did some logmining to get real data).
> Both tests were using Postfix 2.7-20101117 with recipient data stored
> in Berkeley DB ("hash:") maps, and I provided the userdb and passdb
> files for both Dovecot 1.2.10 and 2.0b2 as flat text files, too.
> For 100k messages, delivery to a Maildir store using Postifx's pipe(8)
> and Dovecot's deliver took 4319s, which equals 23.15 delivieries per
> second - and that's with the pipe(8) delivery agent haning around for
> up to 100 seconds, being reused for multiple transactions.
> Dovecot 2.0, with LMTP, was finished after 4007s, which equals 24.96
> deliveries per second.
> Apart from an almost 10% difference, the system felt a lot less
> "sluggish" (read: I/O saturated) with 2.0b2 - unfortunately, I didn't
> run sysstat during the test, but I'll get that done next weekend.
> Keep up the good work!

Thanks for the test info Stefan.  What are the hardware specs of the system you
ran this test on?


More information about the dovecot mailing list