Exchange 12 and the IOPS Issue

In my most recent commentary, I wrote about Microsoft's announcement of its plans for supporting 64-bit CPUs from AMD and Intel with future versions of its products. One key part of the announcement was the news that Exchange 12, the next version of Exchange, will run on only 64-bit versions of Windows. Now it's time to dive into more details about Microsoft's specific plans for Exchange 12.

The first question I typically hear is, "What about Exchange Server 2003 on 64-bit Windows?" Exchange 2003 runs on 32-bit Windows Server 2003. A 64-bit version of Windows 2003 exists, and it supports running 32-bit applications in a compatibility mode. However, Exchange 2003 depends on the Exchange Installable File System (ExIFS) driver. ExIFS is a kernel-mode component, and there's no provision for running 32-bit kernel-mode components in any version of 64-bit Windows. That's why you need to get 64-bit device drivers when you upgrade.

In my previous column, I talked about the potential improvements that 64-bit technology offers. From an Exchange point of view, the biggest improvements revolve around reductions in the number of disk I/O operations required to support a given set of users. This metric, usually expressed as I/O operations per second (IOPS), indicates how many concurrent I/O operations a given storage configuration can provide. A single user can generate between 0.6 and 0.9 IOPS. (Microsoft uses the planning figure of 0.75 IOPS in its storage calculations; see "How to Calculate Your Disk I/O Requirements" at .) Therefore, a 1000- user server might need up to 900 IOPS (exclusive of IOPS that are added by functions such as antivirus scanners or backup software). That's why large Exchange servers have a lot of attached disks: You need many physical disks to generate the required number of IOPS for large or busy servers.

Exchange 12 reduces the average IOPS requirement by as much as 75 percent. The reduction comes about from two changes. First, the page size that Extensible Storage Engine (ESE) uses is upped to 8KB from 4KB. This change is long overdue because the average size of email messages has passed 4KB. Larger pages means, on average, fewer IOPS required to complete a given set of transactions. The other significant change involves the availability of more RAM for caching. Exchange can already consume as much as 1GB of RAM for its ESE backing cache. That size sounds like a lot, but on a busy server, dramatic performance improvements are possible by expanding the cache size. RAM is much cheaper than disks are, and that isn't likely to change. Therefore, by increasing the amount of RAM available for caching, the 64-bit platform enables some impressive scalability gains. (We've already seen some groundbreaking TPC/C numbers from the 64-bit version of Microsoft SQL Server 2005, which takes a similar approach.)

Microsoft is still working on the Exchange 12 ESE code, which isn't yet fully optimized. I expect the IOPS numbers to look even better in the future.

Of course, to organizations that aren't primarily concerned with scalability, the move to a 64-bit platform might seem less interesting, or even negative. The good news is that because x64 hardware is already available at no price premium, moving to Exchange 12 won't require a hardware investment for many customers. In the coming months, I'll be writing about some interesting features that don't tie into the 64-bit requirements. Those features might be of broader importance to people who are upgrading.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.