Storage Sizing: IOPS per mailbox
Ian Batten
ian.batten at uk.fujitsu.com
Thu Jan 8 10:53:13 EST 2009
On 08 Jan 09, at 1508, Blake Hudson wrote:
> -------- Original Message --------
> Subject: Storage Sizing: IOPS per mailbox
> From: ram <ram at netcore.co.in>
> To: info-cyrus <info-cyrus at lists.andrew.cmu.edu>
> Date: Friday, January 02, 2009 10:40:17 PM
>> When sizing a storage device for a large cyrus server, the typical
>> question asked by storage vendors is what is the IOPS required per
>> mailbox
>> M$$ Exchange has this concept of IOPS. and they suggest 1.5 IOPS per
>> mailbox ( heavy users )
>>
>> If I use postfix and cyrus , on my imap server ( pure IMAP
>> server .. All
>> spam filtering , outgoing mails , authentication etc happens on
>> different servers )
>>
>>
>> If the storage is used only for imap storage , what is the typical
>> "IOPS" requirement per user
>> We will probably assume 30-50 mails a day of average 100k , and an
>> email
>> client checking for new mail every 5minutes
>>
>>
>>
> In my experience I would estimate 0.1 IOPS per user for heavy users
> (thousands of emails per day, checked every few minutes) and 0.01 IOPS
> per user for typical ISP accounts (under a dozen emails, checked a few
> times daily).
Our IMAP server has as I type 1020 imap connections up, representing
most of our staff. The metadata (both /var/imap and per-mailbox) is
in a ZFS pool configured as a two-way mirror of two-way stripes of SAS
drives. The load on that is low. The zfs statistics on the metadata
are as an example:
mailhost-new# zpool iostat 1
capacity operations bandwidth
pool used avail read write read write
---------- ----- ----- ----- ----- ----- -----
pool1 54.4G 23.6G 12 77 489K 499K
pool1 54.4G 23.6G 0 785 0 3.74M
pool1 54.4G 23.6G 0 14 0 135K
pool1 54.4G 23.6G 0 24 0 877K
pool1 54.4G 23.6G 0 33 0 242K
pool1 54.4G 23.6G 0 10 0 43.6K
pool1 54.4G 23.6G 0 417 1.48K 2.06M
pool1 54.4G 23.6G 0 22 0 139K
pool1 54.4G 23.6G 0 1 0 7.92K
pool1 54.4G 23.6G 0 7 0 31.7K
pool1 54.4G 23.6G 0 20 0 83.2K
pool1 54.4G 23.6G 0 504 1013 1.93M
pool1 54.4G 23.6G 0 23 0 574K
pool1 54.4G 23.6G 2 17 96.5K 123K
pool1 54.4G 23.6G 0 40 0 285K
pool1 54.4G 23.6G 0 26 0 123K
pool1 54.4G 23.6G 0 698 1.98K 3.41M
pool1 54.4G 23.6G 0 3 0 15.8K
pool1 54.4G 23.6G 0 24 0 744K
pool1 54.4G 23.6G 0 16 0 713K
pool1 54.4G 23.6G 3 15 209K 147K
pool1 54.4G 23.6G 5 569 760K 2.71M
pool1 54.4G 23.6G 0 16 0 222K
^Cmailhost-new#
You can see the five-second sync. The first line, average, figures
aren't representative because they of course include backup activity.
The actual messages are stored in the lowest (`archive') QoS band of a
Pillar Axiom 500, in NAS mode. The load is very small on each of two
2TB-ish partitions (it's approaching four pm, so the business is going
at close to full load):
mailpool1
I/O Operations
Read I/Os per second: 58.677
Write I/Os per second: 7.129
Average Request Time: 4.475 ms
Current MB per second: 1.003
General Statistics
Read/Write Cache Hit Percentage: 69%
Read/Write I/O Ratio: 89:11
mailpool2
I/O Operations
Read I/Os per second: 46.733
Write I/Os per second: 9.467
Average Request Time: 1.923 ms
Current MB per second: 0.544
General Statistics
Read/Write Cache Hit Percentage: 56%
Read/Write I/O Ratio: 83:17
More information about the Info-cyrus
mailing list