Why too much memory can hurt Exchange Server 2007 performance

Because Exchange Server 2007 runs on 64-bit hardware, it's tempting to add more memory to improve server performance; but don't. Find out why too much memory can actually hurt Exchange Server 2007 performance, and learn more about Microsoft's reasons for limiting RAM on Exchange Server 2007 mailbox servers.

One of the fundamental rules of working with Microsoft hardware and software has been that if you want to achieve optimal performance, just add more memory. Believe it or not, though, Exchange Server 2007 breaks this rule. There comes a point when adding additional memory to an Exchange 2007 mailbox server can hurt Exchange Server's performance.

Microsoft's memory recommendations

Microsoft recommends a bare minimum of 2 GB of memory for an Exchange 2007 mailbox server. It also recommends adding an additional 2 MB to 5 MB for each mailbox on the server, depending on how heavily mailboxes are used. This means that 2.5 GB of memory could support up to 100 mailboxes in a heavy-use scenario. Of course installing 4 GB, or even 8 GB of memory, can improve the Exchange server's performance.

As you know, Exchange Server 2007 requires a 64-bit operating system, running on a 64-bit server. Theoretically, 64-bit servers can support up to 16 exabytes (EB) of RAM. Currently, there are no servers that can accommodate even close to this amount of memory, but some servers can accommodate 64 GB of RAM and possibly even more.

Even though both the server hardware and Windows can comfortably support 64 GB or more of RAM, Microsoft recommends that you do not install more than 32 GB of RAM onto an Exchange mailbox server. The company gives three reasons for this limitation.

More Exchange Server performance tips and advice:
Microsoft's Exchange Server 2007 memory recommendations

Best practices for optimizing Exchange disk performance

Prevent Window's hot-add memory issues on Exchange Server 2003

1. Cost

There's no arguing that cutting-edge servers cost more money than servers with mainstream hardware.

2. Non-transactional I/O

This reason for limiting mailbox servers to 32 GB of RAM doesn't have anything to do with poor performance, but rather with the server reaching a point where adding more memory does nothing to increase performance. This has to do with the difference between transactional and non-transactional I/O.

Transactional I/O consists of disk operations that are related to database transactions. For example, receiving email or creating a calendar entry can cause transactional I/O, because data is written to the transaction logs, which is ultimately written to the database.

Non-transactional I/O is I/O that is not related to database transactions. Online defragmentation and other maintenance tasks are examples of non-transactional I/O.

Earlier versions of Exchange Server typically required high-performance disk arrays because transactional I/O placed such a high burden on the disk subsystem. In Exchange Server 2007, though, most transactional I/O can be cached to RAM. This reduces Exchange's impact on the disk subsystem.

On the contrary, non-transactional I/O is not cached. This means that for any Exchange 2007 server, there will be a point where adding additional memory no longer reduces the disk subsystem's workload. Non-transactional I/O will always occur and transactional data will eventually have to be written to the disk subsystem.

3. Cold state operations

Adding excessive memory to an Exchange 2007 mailbox server is a waste of resources, but what about diminished server performance? Diminished server performance can occur when Exchange Server 2007 caches transactional I/O. When Exchange boots up, the cache is completely empty. As transactions occur, the cache gradually grows until it reaches its optimal size.

The more physical memory a server has, the longer it takes for the cache to reach its optimal size. Until the cache reaches this point, end users may experience slower-than-normal performance. If your mailbox server has more than 32 GB of memory, users may experience poor performance for an extended period of time after each reboot.


Do you have comments on this tip? Let us know.


This was first published in September 2008

Dig deeper on Microsoft Exchange Server Performance






Forgot Password?


Your password has been sent to: