Monthly Archives: July 2012

Folder item limits for various versions of Exchange

UPDATE, Nov 2015: I’ve added the item counts for Exchange 2013 and 2016, and the limits for Outlook in cached mode.

High item count may not be the root of all evil, but it’s certainly up there. What constitutes high item count varies according to your environment, but it’s pretty low in exchange 2003. It’s possible to mistake a high item count issue for poor hardware performance, and in any scenario where you suspect your hardware, it’s worth looking for high item count folders and trying to reduce them to the recommended maxima, or possibly below. The recommended maxima are for “good” hardware environments and optimal configurations, not your mess. You should be familiar with the literature, and think of item count whenever presented with a performance issue.

Folder item count has a huge effect on Exchange performance; more so than mailbox size. Much of the time, rather than looking at a folder, a user may be looking at a server generated view of a folder, at which point item count becomes crucial to how long it takes the server to put together the view, as each item is evaluated.
Most of our customers are familiar with the Exchange 2007 article “Understanding the Performance Impact of High Item Counts and Restricted Views”, and many have noticed the Exchange 2003 limits given in there (If you haven’t read this article, then you really, really should). What many miss, however, are the caveats Microsoft put in there. Abiding by these limits you may expect to achieve “acceptable” performance.

“With properly architected hardware”, (and exchange 2007), “an acceptable user experience can still be maintained with item counts as high as 20,000 items.”

The definition of “acceptable” may not be what you expect, however. From the same article:

“This recommended maximum also depends on the performance capability of your Exchange environment. Your specific hardware choices may result in lower maximum numbers. Ideally, it is best to keep the Inbox and Sent Items folders less than 20,000 items, and the Contacts and Calendar item counts less than 5,000. Even when maintaining item counts that are at or under the recommended maximum values, there are some operations which may still take noticeable time (usually this is approximately one minute).”

So, with properly specified and correctly performing hardware, and with an item count below the maximum recommended limit, there are some operations that will have some of your users gnashing their teeth with frustration. I know this, because people log calls with us about delays of a minute. They generally don’t call it a minute, however; usually, it’s “literally hours”.

It’s also worth noting that for commonly used folders, the “critical” ones, the limits are very much lower. The real bad boy is the calendar folder, as that is the one most likely to be accessed by other users, and requires a search to filter out private items. 20,000 calendar items will bring a server to its knees, I’ve found.

Also, the Microsoft published maxima are not necessarily the same as those the engineers believe to be reasonable. For instance, Nicole Allen, an Outlook engineer writing in the official exchange technet blog, recommends that critical folders on Exchange 2003 have no more than 1000 items in them.

So, bearing that in mind, what does good look like?

Version General Folders Critical Folders (inbox, calendar, contacts, sent items)
Exchange 2003 5,000 1,000
Exchange 2007 20,000 5,000
Exchange 2010 100,000 10,000
Exchange 2013 1,000,000 1,000,000
Exchange 2016 1,000,000 1,000,000

Critical folders vary depending on how your users interact with each other – most of us only allow one or two people to our inbox, so for 2007 and 2010 Microsoft don’t refer to it as critical; Calendar and Contacts most definitely are, though.

To summarise sources, and extract a sentence or two from each that I think you should particularly watch for:

Exchange 2003 (http://blogs.technet.com/b/exchange/archive/2005/03/14/395229.aspx):

5000, Nicole allen says 1000 for inbox and calendar, here.

I usually recommend no more than about 2500 – 5000 messages in any of the critical path folders.  The critical path folders are the Calendar, Contacts, Inbox, and Sent Item folder. Ideally, keep the Inbox, Contacts and Calendar to 1000 or less.  Other folders, particularly custom folders created by the user, can handle having larger numbers of items without having a broad impact on the user experience (20,000 items in my “Cookie Recipes” folder?  No problem – except when I need to find that recipe from last Christmas!).

exchange 2007 (http://blogs.technet.com/b/exchange/archive/2005/03/14/395229.aspx):

20000, but keep critical path folders such as inbox and calendar below 5000:

With Exchange Server 2003, the recommended maximum item count per folder was 5,000 items. In Exchange 2007, improvements in I/O, larger page size, and increased cache can help enable an increase in the recommended maximum item count. With properly architected hardware, an acceptable user experience can still be maintained with item counts as high as 20,000 items.

exchange 2010 (http://technet.microsoft.com/en-us/library/ee832791.aspx ):

100,000, but no more than 10,000 in calendar and contacts.

“A challenging scenario occurs when a user has exceeded the number of indexes that Exchange will store. This is 11 indexes in Exchange 2010. When the user chooses to sort a new way, and thereby creates a twelfth index, this causes additional disk I/O activity. Because the index isn’t stored, this additional disk activity cost occurs every time that this sort is performed. Because of the high I/O activity that can be generated in this scenario, we strongly recommend that you store no more than 100,000 items in core folders, such as the Inbox and Sent Items folders, and no more than 10,000 items in the Calendar and Contacts folders. The creation of more top-level folders, or of subfolders beneath the Inbox and Sent Items folders, greatly reduces the costs that are associated with this index creation. This is true as long as the number of items in any folder doesn’t exceed 100,000.”

Exchange 2013 and 2016:

The recommended limit for 2013 is given in a footnote to the table “Mailbox folder limits across standalone plans” in the Exchange Online Limits article. It’s the same as the hard limit in Exchange Online; 1 million items. In his presentation on the Exchange 2016 Preferred Architecture given at Ignite in May 2015, Ross Smith IV states that the recommended upper limit for 2016 is also 1 million items. He states a bunch of other interesting stuff also. go and watch it.

Outlook Cached Mode (https://support.microsoft.com/en-us/kb/2768656):

Yeah, all this nonsense applies to Exchange… so what about Outlook? These figures are for cached mode.

Version Total Folders Items per Folder
Outlook 2007 500 50,000
Outlook 2010 500 100,000
Outlook 2013 500 100,000
Outlook 2016 ? ?

There are also interactions between exchange and different versions of outlook. Outlook 2003 in particular needs to be on SP1, as there is a bug in the RTM version. Of course, you’re all on SP3, by now, and looking to upgrade before it goes completely out of support in April 2014. Outlook 2007 and Outlook 2010 have differing caching behaviours; outlook 2010 will cache other users’ MAIL folders by default, which can lead to some long delays.

So what are the indicators of a possible high item count issue? From a user perspective, “oh my god it’s so sloooooow…” is a common one. But then, it always is. Take a perfmon, and have a look – there may be obvious things on there, like disk access or high cpu, which initially will look like a hardware bottleneck. It would be easy, at this point, to say “hardware’s rubbish” and go down the canteen, rather than start running powershell commands to find high item count folders or using pfdavadmin. Sometimes, however, there’s no obvious hardware bottleneck – what then? Have a look at the “client related search” counters under msExchangeIS mailbox – the two biggies are slow findrow rate, which is explained by Mike Lagase here, and slow qp threads.

Everyone should read the following two articles on this, the first from an outlook perspective, and the second from an exchange one.
Outlook users experience poor performance when they work with a folder that contains many items on a server that is running Exchange Server
Understanding the Performance Impact of High Item Counts and Restricted Views

Advertisements