[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