MSExchange.org Monthly Newsletter of May 2009 Sponsored by: Red GateWelcome to the MSExchange.org newsletter by Henrik Walther, Exchange MVP, MCA: Messaging (Exchange Ranger) Apprentice, MCTS Windows Server 2008, MCITP Exchange 2007, MCSE 2003 Messaging/Security. Each month we will bring you interesting and helpful information on Exchange Server. We want to know what all *you* are interested in hearing about. Please send your suggestions for future newsletter content to: henrik@msexchange.org 1. Storage optimizations in Exchange Server 2010Welcome to the May issue of the MSE newsletter! So this month we are going to talk about some of the optimizations that have been done to the storage section in Exchange Server 2010. As most of you know, we saw a significant reduction in I/Os per second when moving from Exchange 2003 to Exchange 2007. It was not uncommon to get a reduction of up to 70%. This was primarily due to the fact that Exchange 2007, unlike earlier versions, took advantage of a 64-bit based architecture, which then again made it possible for Exchange to access more memory and thereby use larger memory caches. The more data Exchange can retrieve directly from the virtual memory address space, the less I/Os need to be done against the disks in the underlying storage subsystem. The main benefit was a much more efficient usage of the existing storage system (typically an expensive SAN) or a great excuse to move to a less expensive direct attached storage (DAS) based solution. Because of the reduced I/O requirements, we could host a lot more mailboxes (+5000) per Exchange 2007 Mailbox server than we could with Exchange 2003. In order to avoid virtual memory fragmentation, Exchange 2003 was typically limited to 4000 mailboxes per mailbox server. Yes, I know this depended on type of servers, storage, user profiles and Exchange infrastructure. The Extensible Storage Engines (ESE) have always been the underlying database technology in Exchange, and ever since the first Exchange version (Exchange 4.0 was released in June 1996 until Exchange 2007 SP1 surfaced on the market), the Exchange Product group has made great efforts in tweaking and optimizing the ESE in order to achieve better performance. So with a 70% reduction in I/Os per second in Exchange 2007, one would think it would not be possible to optimize ESE further right? Bringing us to the question: What kind of improvements have the Exchange Product group made in regards to storage optimization in Exchange 2010? Did they even manage to do any optimization at all? The short answer is yes! As a matter of fact the Exchange Product group have managed to optimize storage more than what has been done the last 8 years! Yes you heard right! In regards to storage in Exchange 2010, the Exchange Product group focused on delivering large (+10GB) and fast mailboxes while taking advantage of cheap storage/disks. Because of the ESE changes made in this version, we now have the option to utilize low performance disks such as desktop-like SATA disks (aka SATA/Tier 2 disks). Yes, I am talking about 7200 SATA disks, just like the ones in your workstation! If you use database availability groups (DAGs) for HA (+2 DB copies), you can even use JBOD (a single 7200RPM disk storing both a DB and the transaction logs) instead of expensive RAID configurations. To achieve the above, the Exchange Product group had to make significant changes to the store schema. The primary goal was to move away from many random small-sized IOs to fewer sequential large-sized IOs. In order to move from random to sequential IOs, the store table architecture needed to be changed dramatically. In Exchange 2007 and earlier versions, each database had a mailbox table (stored all mailboxes in the DB), folders table (stored mailbox folders for all mailboxes in the DB), message table (stored messages), attachment table (stored attachments for all mailboxes in the DB), and message/folder table (stored folder views for all mailboxes in the DB). This architecture, which has not changed much since Exchange 4.0, meant that a lot of random I/Os had to be performed against the database. One of the benefits with this architecture was single instance storage. It was a great table architecture back when you had relatively small disks, but today, with 500GB SAS disks and 2TB SATA disks at our disposal, it does not make sense any longer. In Exchange 2010, the store schema has changed so that all data in a mailbox have stored-in tables close to each other in the database. Actually, each mailbox has its own folder, message header, body, and its own view table. So, the concept of single instance storage no longer exists when it comes to Exchange databases. A side effect of removing SIS from Exchange was that a database was bloated by approximately 20%. Exchange PG found a solution to this by compressing the databases (more specifically message headers and text/HTML bodies). By giving each mailbox its own set of tables, most I/Os performed against a DB are now mostly sequential I/Os. Other interesting changes that have been made in this area are that database space is allocated in a contiguous manner, database contiguity is maintained over time, the DB IO size has been increased from 8KBN to 32KB, and there is an improved async read capability. The Exchange PG is also working on increasing the cache effectiveness by changing the checkpoint depth to 100MB for HA configurations, using cache compressions and DB cache priority. The result of all the changes made in Exchange 2010 is that we can expect an additional 70% reduction in I/O compared to Exchange 2007. I only scratched the surface when it comes to storage optimizations in Exchange 2010 in this column. If you want a great insight with all the gory details on how storage was improved in Exchange 2010, I can highly recommend you grab a fresh cup of coffee and watch the recording of the Exchange 2010 Storage session Matt Gossage (Exchange PG responsible for ESE/DB) delivered at TechEd last week. It is a level 300 but although it is a complex topic, Matt does a great job of explaining it in plain English. Watch it here (you don't need to have attended TechEd in order to watch it). Cheers, Henrik Walther Note: 2. Order Henrik Walther's Exchange Server 2007 book
3. MSExchange.org Learning Zone Articles of InterestWe have a great group of articles in the Learning Zone that will help you get a handle on your most difficult configuration issues. Here are just a few of the newer and more interesting articles:
4. KB Articles of the MonthSince Exchange 2007 SP1 Rollup Update 7 (RU7) was released this month, there are a lot of new KB articles associated with bug fixes/changes in this RU in this version of the MSE Newsletter. Exchange Server 2007
Exchange Server 2003
5. MSExchange News of the Month
6. Ask Henrik Walther a questionQUESTION: I have been playing a bit with the new archiving mailbox feature in Exchange 2010 beta 1. But when I have enabled an archive mailbox for an Exchange 2010 user, I can not see the archive mailbox in OWA 2010 or Outlook 2007. I use the following cmdlet to enable the archive mailbox: New-AlternateMailbox -Name “Online Archive” -Mailbox testuser1 -Type Archive
ANSWER: I can confirm that you are using the correct command and that you do not need to do anything else to make the archive mailbox show up in OWA 2010. Unfortunately, the beta 1 build of Exchange 2010 does not allow you to view the archive mailbox via the OWA UI. This is fixed in a later build currently only available to TAP/RDP participants, MCMs and Exchange MVPs. By the way, even though you are using a later build, the archive mailbox would not be visible in Outlook 2007 only Outlook 2010. Yes that’s right. Also, you cannot open the archive mailbox via the Additional Mailbox feature in Outlook 2007 client. The Exchange Product Group is working on a solution that makes it possible to open the archive mailbox in Outlook 2007 as well. So for now, my recommendation is to use your energy on many of the other exciting changes and improvements that have made it into the Exchange 2010 Beta 1 build. TechGenix Sites
|