Exchange Server/Online Folder Size Limits and Impacts

Servers back then were not designed to handle the amount of emails that we receive today. This is both from a mailbox size and folder size perspective. It’s amazing how not a lot of people think about the latter. The following is buried in a performance article on TechNet:

Understand that most performance issues are not the result of large mailbox size (defined as a mailbox that is 2 GB or larger), but instead the number of items in the folder or folders that are being accessed on the server. Having many items in a folder adversely affects performance because operations in those folders will take longer. In particular, performance is largely influenced by the number of items in the critical path folders: Calendar, Contacts, Inbox, and Sent Items folder. For more information about how to plan for large mailboxes, see White Paper: Planning for Large Mailboxes with Exchange 2007.
Operations that depend on the number of items in the folder include adding a new column to the view, sorting on a new column, finds and searches. Many Outlook plug-ins perform sorts or searches as they are running, and these requests may overlap with other Outlook MAPI requests. This results in a poor user experience.
If you are running in cached-mode, (the default mode for Outlook 2003 and later versions), then client performance can be an issue as the number of items in a folder increases. One thing that you should do is keep your OST files (the local data cache) free of fragments. You can use the Windows SysInternals tool Contig for this purpose. To download the latest version of Contig, see Contig v1.55.
In addition to the number of items in critical path folders, there are other factors that affect the Outlook experience which are exacerbated by high item counts, such as the number of other MAPI applications or Outlook plug-ins running on the user’s computer. All MAPI requests require processing time with emsmdb32.dll. If a user has lots of plug-ins making requests, Outlook will run slower, and the impact on the server may increase. Additionally, the complexity of the requested action will have an impact. For example, marking all items in a folder as Read will take much longer than marking one item. Other actions that may take a long time include retrieving free-busy information for lots of users on a meeting request, or performing a search across multiple folders. If users are frequently performing complex actions, have lots of Outlook plug-ins, or have high use of the Contacts and Calendar folders, the probability that they will experience decreased performance because of high item counts is greatly increased.

When customers perform mailbox migrations to various platforms including Office 365, folder size is a major factor in determining performance. You don’t realize it because most people connect with a client that is locally cached in which the retrieval is slow but you are only retrieving the delta rather than the entire folder. Performance problems will occur when you reach the following totals in a single folder:

The Exchange team wrote an article on how to find offending folders in your organization. This is useful to do prior to migration as those mailboxes will be impacted. Run the following Exchange PowerShell command:

Get-Mailbox | Get-MailboxFolderStatistics | Where {$_.ItemsInFolder -gt 5000} | Sort-Object -Property ItemsInFolder -Descending | fl Identity, ItemsInFolder