[horde] Bottleneck ? CPU or HDisk IO or RAM
Linux Advocate
linuxhousedn at yahoo.com
Thu Feb 5 12:01:45 UTC 2009
thanx for the detailed reply andy. very informative. i have picked up quite a few things.
----- Original Message ----
> From: Andrew Morgan <morgan at orst.edu>
> To: Linux Advocate <linuxhousedn at yahoo.com>
> Cc: horde at lists.horde.org
> Sent: Thursday, February 5, 2009 9:34:01 AM
> Subject: Re: [horde] Bottleneck ? CPU or HDisk IO or RAM
>
> On Tue, 3 Feb 2009, Linux Advocate wrote:
>
> > Andy,
> >
> > A. supposing its two boxes of Dual Core Dual Xeons, 8GB RAM and 7.2k rpm 750
> GB SATA disks ( 6 or more ) in a RAID10, i.e one for horde, one for
> imap/pop/webmail ,will the 7.2k rpm sata drives cut it ? since imap is hard disk
> i/o intensive ( as mentioned in one of the posts here ) ?
>
> It is very hard to know how well it will perform. It depends a lot on how
> Dovecot (I think you said Dovecot) works. I have experience using Cyrus, but
> not Dovecot. With Cyrus, there are message files which are infrequently
> accessed and require very little performance (SATA on RAID5 would be fine).
> There are also metadata files (indexes, cached headers, etc) which are read and
> updated constantly. The metadata files should be on high-speed disks (10k or
> 15k rpm) in RAID1 or RAID10.
>
> You can make some rough guesses by thinking about how IMAP works and what your
> users will do:
>
> 1. New mail is received - message must be written to disk, metadata updated.
>
> 2. Mailbox is opened - metadata files must be read to obtain the list of
> messages and the message states.
>
> 3. Message is read - message file (and possibly metadata files) must be read.
> Seen state in metadata must be updated.
>
> 4. Message marked as deleted - metadata must be updated.
>
> 5. Mailbox purged - metadata updated and message files deleted.
>
> Those are the most common things your users will do. If you can make an
> estimate of how often these will happen, you can also estimate how many I/O's
> Per Second (IOPS) you need. Once you know your IOPS requirements, you can
> determine how many disks you'll need as RAID10 and how many disks you'll need as
> RAID5.
>
> Generally, a single disk drive can do this many IOPS per disk:
>
> 15k rpm: 180-210 IOPS
> 10k rpm: 130-150 IOPS
> 7200 rpm: 80-100 IOPS
> 5400 rpm: 50-80 IOPS
>
> In a mirrored configuration:
>
> Disk IOPS = Read IOPS + (2 * Write IOPS)
>
> In a parity (RAID5) configuration:
>
> Disk IOPS = Read IOPS + (4 * Write IOPS)
>
> For example, if you estimate that you need to support 40 Read IOPS (40
> reads/sec) and 80 Write IOPS (80 writes/sec):
>
> (mirrored)
> 40 r/s + (2 * 80 w/s) = 200 Disk IOPS
> Using 7200 rpm drives, you need: 200 / 50 = 4 disk drives
>
> (parity)
> 40 r/s + (4 * 80 w/s) = 360 Disk IOPS
> Using 7200 rpm drives, you need: 360 / 50 = 7.2 disk drives
>
> And you can recalculate based on faster drives if you want to know the results
> for 10k SAS drives, etc.
>
> > C. What hardware do u use and how many users do u handle?
>
> See http://onid.oregonstate.edu/docs/technical/servers.shtml for a listing.
> Specifically, look at the Mail, Webmail, and MySQL server sections. We have
> approximately 10,000 unique Webmail users in a given day and a total user
> population of about 30,000 active accounts.
>
> It is a lot easier to start from a working system and plan upgrades, rather than
> planning for a new system where you can't measure the workload. :)
>
> Andy
More information about the horde
mailing list