Slow lmtpd
Andrew Morgan
morgan at orst.edu
Fri Mar 2 15:59:13 EST 2007
On Fri, 2 Mar 2007, Andre Nathan wrote:
> On Thu, 2007-03-01 at 16:41 -0600, Blake Hudson wrote:
>>> Actually it's still happening :( I read in the archives that the only
>>> way to actually avoid the locking in deliver.db is to also disable
>>> sieve, is that true?
>
> So, I'm willing to recompile cyrus and comment the calls to
> dupicate_check() and duplicate_mark() that are done in deliver_mailbox()
> in imap/lmtpd.c... would that break anything (other than duplicate
> checking :) ?
You'll lose the ability to effectively use vacation/out-of-office
messages. The vacation system uses deliver.db to determine which person
has already received the vacation message, to prevent multiple messages
from being sent.
> Is there a cyrus version where specifying "duplicatesuppression: 0"
> actually prevents the duplicate check and thus the database locking
> issues I could upgrade to a newer version too, no problem.
"duplicatesuppression: 0" does prevent Cyrus from blocking duplicate
messages. However, deliver.db is still used to track message-ids for the
purpose of vacation messages, which is why Cyrus is still updating
deliver.db. I'm not aware of any configure option that will disable
deliver.db entirely.
>From the earlier discussion on this topic, it sounds to me like you are
simply pushing your available hardware too hard without further tuning.
You mentioned using ATA-over-Ethernet storage for your mail spool. Have
you considered putting your configdirectory files on a local hard drive
instead of on the ATA-over-Ethernet storage? There is a *lot* of
contention for the files in the config directory, so maybe it would be
better to move them onto a drive separate from the mail spool.
After running iostat on my cyrus partition (both config and mail spool are
kept on a SAN), I'm wondering if I should separate them out as well. This
sounds related to the new metapartition and metapartition_files options
that were added in v2.3.x.
Does anyone have any recommendations or guidance on this topic?
Andy
More information about the Info-cyrus
mailing list