Cyrus Postfix LMTP tuning
Henrique de Moraes Holschuh
hmh at debian.org
Fri Oct 14 10:53:41 EDT 2011
On Thu, 13 Oct 2011, John Madden wrote:
> > Our Postfix relays (there are 3) seem to make one lmtp connection per
> > message, rather than sending multiple messages down a single connection.
> > Do any Cyrus+Postfix users out there have tuning recommendations? I see a
> > lot of postfix lmtp_* config options, but I know little about Postfix.
> I make no guarantees about these, but try this out:
> lmtp_destination_concurrency_limit = 50
> lmtp_destination_recipient_limit = 5000
> lmtp_connection_cache_on_demand = no
> lmtp_data_done_timeout = 3600s
> It's been a couple years, but I definitely had oddball issues with LMTP
> under load and somewhere along the line these options fixed them. YMMV.
> The usual RTFineM about these applies too:
You should name an specific LMTP transport for cyrus deliveries in postfix'
master.cf. That way, you can use <transport_name>_<parameter_name> to
configure it, without affecting other potential users of the same transport
E.g. if you created a cyruslmtp transport (which uses the lmtp binary), you
cyruslmtp_destination_concurrency_limit = 50
cyruslmtp_destination_recipient_limit = 5000
cyruslmtp_connection_cache_on_demand = no
cyruslmtp_data_done_timeout = 3600s
Obviously you must not do something that would make it impossible to batch
the deliveries into a single ESMTP/LMTP transaction. If you use a mailing
list, that means you must not enable VERP.
You also want to let cyrus hardlink multi-recipient deliveries when possible
(but watch out for your backups if they duplicate hardlink files, backup
space will be much larger than spool space):
in imapd.conf, add:
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
More information about the Info-cyrus