[Dovecot] LMTP in 2.0: concurrency, inet sockets
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