It's All About the IOPS, Silly…
by Michael B. Smith, MCSE/Exchange MVP
One of the common areas that people tend to overlook when
designing an Exchange Server solution is the design of the disk
subsystem. And if you didn’t design your disk subsystem well, it
is very likely that your Exchange Server will not perform well.
In Exchange Server 2003 and in earlier versions, the read:write ratio of the
Exchange database was about 4:1. In Exchange Server 2007, it’s about 1:1 for
a properly configured Exchange server. This improvement comes primarily at
the expense of memory - Exchange 2007 needs much more memory to be
performant than did Exchange 2003.
In Microsoft’s tests, Exchange 2007 requires 73% less IOPS than Exchange
2003. However, Exchange still needs to be able to perform lots of Input and
Output Operations Per Second (IOPS). In Exchange 2007, a light email user
will, on average, require 0.11 IOPS. A medium user will require 0.18 IOPS. A
heavy user will require 0.32 IOPS and a very heavy user will require 0.48
IOPS. Note that this is just for the mailbox database and that database I/O
is completely random. The transaction log will require about three-quarters
of one-half of that per user (that is, 38% of the IOPS per user).
Consider an Exchange Server with 100 users; all falling in the very heavy
user range. The database IOPS is 0.48 * 100 = 48 IOPS. The transaction log
IOP is 48 * 0.38 = 19 (rounding up). That really doesn’t sound like much,
does it?
However, consider this: your average 7,200 RPM SATA drive will only provide
you with approximately 35 IOPS. A 10K RPM SATA drive will provide you with
about 50 IOPS. This should make it immediately clear that SATA is not a
high-performing solution where a single drive is concerned.
For SCSI 10K RPM, the IOPS per drive value is about 85 IOPS. For SCSI 15K
RPM, the IOPS per drive value is about 110 IOPS. This goes to show you that
SCSI is at least twice as fast as SATA, but that still isn’t enough for
large installations. So what do you do?
Enter RAID. RAID stands for Redundant Arrays of Independent Disk. You can
create large pools of disk using RAID. Generally, mirrors (RAID-1) and
RAID-5 (where you spend one disk on parity information) are the most
commonly seen types of RAID. However, we aren’t here to talk about RAID -
except how it allows us to create more highly performing disk subsystems.
Using RAID-1, read performance is equal to (IOPS * N), where N is the number
of disks in the array and IOPS is the total IOPS available from a single
disk. Write performance is (IOPS * N / 2). Note that N must always be an
even number (such as 2, 4, 6, 8…) with RAID-1. However, the amount of disk
available is (GB * N / 2), where GB is the amount of disk space available on
a single disk.
Using RAID-5, read performance is equal to (IOPS * (N - 1)). Write
performance is (IOPS * ((N - 1)/ 4)). Note that N can be any number higher
than 2. The amount of disk space is (GB * (N - 1)).
So, once you have calculated how many IOPS you need, you can easily
determine how many disks you would need in a RAID configuration. Given RAID,
even SATA disk can be used to meet high IOPS requirements. And while RAID-1
gives better IOPS more quickly, it also requires more physical spindles than
RAID-5.
As a final note, to calculate the IOPS for a particular physical disk, you
will need the specification sheet from the manufacturer. On it, hunt for the
number for latency (normally between 1.0 and 2.0 ms) and the number for
access (normally around 15 - 20 ms). Add the two together. Divide 1,000 by
that value to get IOPS for completely random access. For example, if latency
is 2 ms and access is 20 ms, then (1000 / 22) is equal to 45 IOPS.
Resources:
Exchange Server 2007 Storage Technology
http://technet.microsoft.com/en-us/library/bb738146%28EXCHG.80%29.aspx
Mailbox Server Role Storage Requirements Calculator
http://msexchangeteam.com/archive/2007/01/15/432207.aspx
We see frequent complaints that spell check
doesn't work. While "doesn't work" can mean
almost anything, it's often one of two problems.
If the message body is not spell checked, even
though Outlook is set to spell check on send and
F7 fails it usually means you are typing in the
signature area. The easiest way to identify this
problem is to right click on the text. You should
see the standard context menu, with cut, copy,
paste and other commands. If you see a list of
signatures, you're typing in the signature area.
We recommend adding two dashes (--) as the first
line of all signatures so you can more easily
identify where the signature begins. Both Outlook
2003 (with Word editor) and 2007 are affected by
this problem.
When spell check appears to work when you send a
message but the message goes out with all the
errors intact, it's a bug in Outlook 2007. Check
for updates at Microsoft Update as this issue was
fixed some time ago.
If spell check works but the custom dictionary
doesn't, it may be corrupt. You can view the
custom.dic file in Notepad and delete any entries
that don’t look right. Otherwise, rename the file
and Outlook will create a new one.
When spell check works in Outlook 2007 but not in
Outlook Express, it’s because the new spelling
engine in Office 2007 applications is not used by
Outlook Express. See
http://www.outlook-tips.net/archives/2006/20061228.htm
for solutions.
This was the week for BCC questions. Actually,
just two questions, asked over and over. "How can
I see who the message was BCC'd to?" and "If I
Reply to All, will it go to the people who were
BCC'd on the original?"
Well, it's called "Blind Carbon Copy" for a
reason and there is no way you will know who was
BCC'd on a message you receive unless the sender
tells you because the message envelope that
contains the recipients is dropped at the SMTP
server. Reply to All will not send a copy to
BCC'd recipients, because it doesn't know if
anyone was BCC'd on the original message.
Some of the confusion may stem from a bug in an
early version of Outlook and one in Outlook
Express that allowed recipients to see who was
BCC'd on a message. These bugs were fixed years
ago. There was also a bug in Exchange (also fixed
years ago) that involved messages sent from the
Drafts folder using WebDAV that had addresses in
the BCC field.
Other frequently asked BCC questions include:
How do it see who I BCC'd a message to?
If you send a message and use the BCC field, you
can open the sent message and see the BCC field
or add the BCC field to your Sent folder view.
Is there a way to use a rule to move emails that
were received with a BCC to a folder?
Well, you can't set up a rule that says "if my
name is in the BCC field..." but you can use the
process of elimination to determine if you were
BCC'd: if your address is not in the To or CC
field, you were BCC'd. So you'd create a rule
that did not have your name in the To or CC
field. Keep in mind that this rule will apply to
many mailing lists and bulk email.
Can you BCC a meeting request to someone?
Yes. Add that person as a Resource attendee or
forward the meeting as an iCalendar.
Recipients of a forwarded message may be able to
see recipients in the Bcc box in Exchange 2000
Server or in Exchange Server 2003
http://support.microsoft.com/?kbid=894389
Error message when you try
to access Outlook Anywhere on an Exchange Server
2007 Service Pack 1 computer that is running
Windows Server 2008: "The connection to Microsoft
Exchange is unavailable"
http://support.microsoft.com/?kbid=954389
Description of the Microsoft
Office Outlook 2003 hotfix package: August 21,
2008
http://support.microsoft.com/?kbid=956310
This hotfix fixes several issues, including
issues with caused by adding new attendees to
recurring meetings and with appointment
reminders. See the KB article for the complete
list of problems it addresses.
Description of the Office 2003 hotfix package:
August 7, 2008.
http://support.microsoft.com/?kbid=956575
When you try to insert an encapsulated PostScript
(EPS) image into an Office 2003 document, you may
receive an error message.
Description of the Outlook 2003 hotfix package:
August 5, 2008
http://support.microsoft.com/?kbid=956311
This hotfix addresses the following issues: You
are unexpectedly prompted to enter credentials
for your e-mail account. When you open a plain
text e-mail message that contains Japanese text,
you cannot read the message.
GFI MailEssentials
for Exchange
http://www.gfi.com/mes/
Anti-spam, disclaimers (with variables),
archiving Internet mail, Internet mail usage
reports. Includes a POP downloader and
personalized server-based autoreplies that can
include attachments and tracking numbers. Can
archive to an ODBC database. Version 14 includes
Overall improved anti-spam technology, an
additional anti-spam engine called SpamRazer
along with improved performance and a real-time
dashboard.
Lucatec Mask
http://www.slipstick.com:80/redirect.asp?id=mask
The Lucatec Mask Add-in for Outlook is used with
Exchange server accounts which allows you to
reply from a shared mailbox or public folder,
automatically entering the folder or mailbox's
email address in the From field. Lucatec Mask
will automatically determine the correct sender
address to use based on the mailbox or public
folder the user is currently using in Outlook. It
also offers the option to move or copy the sent
message to the relevant account's Sent Items
folder (or Public Folder). It supports shared
Exchange Server mailbox accounts and Public
Folders with email addresses. Works with
Microsoft Outlook 2000/2002/2003/2007. Version
2.2.1