Re: Slow lmtpd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2 Mar 2007, Andre Nathan wrote:

On Fri, 2007-03-02 at 09:21 -0300, Andre Nathan wrote:
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.

I did that, and the lock contention problem with deliver.db is gone. I'm
still seeing the problem in some users' cyrus.header files though.
Searching the archives, I found some threads regarding this issue [1,2],
or more recently in [3]. From the discussion on these threads it seems
that the lock problem actually is happening with the quota files. The
first two threads are old (from 2003), and they mention a bug filed in
bugzilla which is marked as fixed, but the situation I'm seeing, and the
one on the third thread (from 2006) seems to be the same problem.

Has anyone ever been through that? I have no idea what could be causing
the lock contention only for some users, so I'm not sure of any
workaround for the problem :/

[1]http://marc.theaimsgroup.com/?l=info-cyrus&m=106434064805178&w=2
[2]http://marc.theaimsgroup.com/?l=info-cyrus&m=106434491911478&w=2
[3]http://www.irbs.net/internet/info-cyrus/0610/0390.html

Items [1,2] are me...   :)

The problems I was having went away when I upgraded Cyrus. I can't remember specifically which version it was fixed in, but you shouldn't be running anything older than v2.2.13 these days anyways.

In my case, I had an imaps process that was stuck waiting for input from the network for a client that had long since disconnected. The imaps process had a write lock open on the user's quota file, therefore any incoming mail for that user was stuck waiting for the write lock to become available.

I doubt this is the problem you are seeing. It sounds to me like you may be hitting the limits of your storage system. I would be fascinated to see the output of the command "iostat -x sdb 5" (where 'sdb' is the device you have cyrus on) on your system. Even if you aren't saturating your Gigabit Ethernet link to the ATA-over-Ethernet storage, you may be exceeding the number I/O operations per second.

Here is an example of the iostat output on one of my cyrus systems:

---------------------------------------------------------
avg-cpu:  %user   %nice    %sys %iowait   %idle
           0.75    0.00    0.35    1.11   97.79

Device:    rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sdb          0.20  91.11 13.13 107.68  195.56 1587.07    97.78   793.54    14.76     0.30    2.50   1.34  16.16
---------------------------------------------------------

This is one of two murder backends running v2.2.13. The server is a Dell 2850 with two 3.0GHz Xeons and 2GB of RAM. It is attached to an EMC Cx500 SAN, specifically a 7 disk RAID5 array of 10k 146GB Fibre-channel drives.


You can view the load average and process counts for these servers at:

 https://secure.onid.oregonstate.edu/cacti/graph_view.php?action=tree&tree_id=4


	Andy
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux