Re: [exim] Finding system bottlenecks to speed up Exim

Top Page
Delete this message
Reply to this message
Author: Graeme Fowler
Date:  
To: exim-users
Subject: Re: [exim] Finding system bottlenecks to speed up Exim
On Fri, 2008-03-14 at 21:19 -0700, Marc Perkel wrote:
> What stat tools specifically? Yes, I think I'm IO bound. I think it's
> the number of connections and the TCP stack that's slowing me down.


You have a single SATA II drive. They (mostly) don't support TCQ (Tagged
Command Queueing) so access to them is effectively sequential; this
makes them very inefficient (and slow) for truly random accesses. More
modern drives SATA do support TCQ but a lot of controllers don't; both
devices need to in order to make use of it.

For the uninitiated, TCQ allows a drive to re-order the waiting commands
according to head position, platter rotation and seek distance/time to
get the best usage of the disk. Without TCQ, commands are processed
sequentially.

In your case, your accesses under load will be something like this:

Reading - hints databases, lookup databases, queue files, binaries,
config files

Writing - hints databases, queue files, log files

With many thousands of connections this will all be taking place at the
same time, causing the heads on the drive to ping around at a huge rate.
Your system is simply waiting for the disk to catch up.

SATA - even SATA II - is not, in my opinion, usable for high R/W
situations. You can improve it using a decent RAID controller and
multiple disks, but you might aswell invest in the largest number of
high-end SCSI, SAS (or even FC disks, depending on chassis) and put them
together in the most performant array you can build. That depends on
circumstance.

None of this is really related to Exim. It's Hardware 101 :)

Graeme