Miserable performance of cyrus-imapd 2.3.9 -- seems to be locking issues

Allen Chen achen at harbourfrontcentre.com
Fri Feb 29 17:23:35 EST 2008


Can you put a "-" just before /var/log/messages and 
/var/log/cyrus/imapd.log in your /etc/syslog.conf? (just like 
-/var/log/maillog)
and restart syslog: service syslog restart.


Allen


Jeff Fookson wrote:
> Allen Chen wrote:
>
>> I just got out of this kind of situation.
>> If your OS is Linux, can you post /etc/syslog.conf?
>>
>> Allen
>
>
> Allan-
>
> Yes, the installation is running under CentOS4.4, kernel 2.6.18.8. 
> I've attached our /etc/syslog.conf.
> I am really curious what you found and got out of that makes you 
> suspect syslog involvement.
> Thanks.
>
> Jeff
>
>>
>> Jeff Fookson wrote:
>>
>>> Folks-
>>>
>>> I am hoping to get some help and guidance as to why our installation 
>>> of cyrus-imapd 2.3.9
>>> is unusably slow. Here are the specifics:
>>>
>>> The software is running on a 1.6GHz Opteron with 2Gb memory 
>>> supporting a user base of about 400
>>> users. The average rate of arriving mail is on the order of 1-2 
>>> messages/sec. The active mailstore
>>> is about 200GB.  There are typically about 200  'imapd'
>>> processes at a given time and a hugely varying number of 'lmtpds' 
>>> (from about 6 to many hundreds during
>>> times of greatest pathology). System load is correspondingly in the 
>>> 2-15 range, but can spike to 50-70!
>>>
>>> Our users complain that the system is extremely sluggish during the 
>>> day when the system is most busy.
>>>
>>> The most obvious thing we observe is that both the lmtpds and the 
>>> imapds are spending HUGE times waiting
>>> on locks. Even when the system load is only 1-2, an 'strace' 
>>> attached to an instance of lmtpd or imapd shows
>>> waits of  upwards of 1-2 minutes to get a write lock as shown by the 
>>> example below (this is from a trace of an 'lmtpd')
>>>
>>> [strace -f -p 9817 -T]
>>> 9817  fcntl(10, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, 
>>> len=0}) = 0 <84.998159>
>>>
>>> We strongly suspect that these large times waiting on locks is what 
>>> is causing the slowness our users are reporting.
>>>
>>> We are under the impression that a single instance of cyrus-imapd 
>>> scales well up to about 1000 users (with about 1MB active
>>> memory per 'imapd' process),  and so we are baffled as to what might 
>>> be going on.
>>>
>>> A non-standard aspect of our installation which may have something 
>>> to do with the problem is that we are
>>> running cyrus on an lvm2 partition that itself is running on top of 
>>> drbd. Thinking that the remote writes
>>> to the drbd secondary might be causing delays, we put the primary in 
>>> stand-alone mode so that the drbd layer
>>> was not doing any network activity (the drbd link is running at 
>>> gigabit speed on its own crossover cable to
>>> the secondary box) and saw no significant change in behavior. Any 
>>> issues due to locking and the lvm2 layer
>>> would, of course, still be present even with drbd's activity reduced 
>>> to just local writes.
>>>
>>> Can anyone suggest what we might do next to debug the problem 
>>> further? Needless to say, our users get
>>> extremely unhappy when trivial operations in their mail clients take 
>>> over a minute to complete.
>>>
>>> Thank you for any thoughts or advice.
>>>
>>> Jeff Fookson
>>>
>>>   
>>
>>
>
>



More information about the Info-cyrus mailing list