Load spikes when new email arrives

Andrew Morgan morgan at orst.edu
Thu Jan 24 16:06:50 EST 2013


On Thu, 24 Jan 2013, francis picabia wrote:

> In another email discussion on the Redhat mailing list, I've confirmed we
> have
> an issue with partition alignment.  This is getting to be quite the mess
> out there.  I saw one posting where it is speculated there are thousands of
> poorly set up disk partitions for their RAID stripe size.  fdisk and
> OS installers were late getting updated for the new TB disks
> and SSD disks as well.  Partition alignment might account
> for 5 to 30% of a performance hit.

Yeah, I read about partition alignment the last time I built a new Cyrus 
server.  I don't remember how it came to my attention, but it was wrong on 
all of my servers too.  The latest stable release of Debian Linux seems to 
do the right thing during installation, but previous versions did not.

I followed the recommendations that I found and set the starting sector to 
2048 for my partition (2048 * 512bytes = 1MB):

root at cyrus-be1:~# fdisk -lu /dev/sda

Disk /dev/sda: 536.9 GB, 536870912000 bytes
214 heads, 31 sectors/track, 158060 cylinders, total 1048576000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x88aa51ee

    Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  1048575999   524286976   83  Linux

I don't know how much of a performance difference it would actually make, 
but I'm trying to squeeze all I can out of it!

> I've checked and my cyrus lmtpd process count
> never exceeds 11 under work load.
> await jumps up to 150-195 at worst.
>
> If I'm already at IO saturation, I can't see how a higher lmtpd limit
> would help.

I was going to suggest setting a LOWER lmtpd limit.  :)

It sounds like you have already done that (reading the rest of this email 
thread).

> My goal is to keep the system load reasonable so it is responsive for
> mailbox access by the end users.  Right now we get nagios alerts
> about 6 times a day for excessive load.  If I can move the mail
> queue workload into a hill instead of a sharp peak on the cacti
> load graph, it would be good.  There are minutes around the peaks
> where the queue is emptied and we have only 5 messages
> inbound per minute.

Hmmm, what options are there that don't involve rebuilding the disk...

Definitely check that you have Write-Back caching enabled on the PERC.

I don't know if remounting the filesystem as ext4 would help, but that's 
worth a shot.

Are you mounting the filesystem with the "noatime" option?  There is no 
need to track atime on a Cyrus mailstore and those extra writes can add 
up.  Here are my mount options:

LABEL=be1data1  /var/spool/cyrus/mail/data1     ext4    rw,auto,data=ordered,noatime   0       2

Perhaps there are some tweaks on the Postfix side that will put less 
strain on Cyrus.  I don't know much about Postfix though.

> In hind sight, I agree RAID 10 should have been implemented.
> At the time, four years ago, getting lots of space was the
> priority as space needs always grow.  We've never seen load
> issues until this month, and it seems to coincide with a
> general increase of all email volume and traffic.  Our primary
> MX is also getting hit more than normal.

Well, if none of the easy stuff helps enough, then maybe you'll get to 
build a new Cyrus filesystem from scratch!  :)

 	Andy


More information about the Info-cyrus mailing list