Microsoft Subnet An independent Microsoft community View more

Comprehensive Guide on Addressing Slow / Sluggish Outlook Performance to Microsoft Exchange

Identifying and Solving Performance Issues with Microsoft Outlook and Exchange

For organizations using Microsoft Outlook and Exchange server with users complaining that Outlook is REALLY slow and sluggish, and there are performance issues with Outlook 2003, Outlook 2007, even Outlook 2010, there are known problems and known fixes to the performance problems. I've been meaning to write this blog post for years, never found the time, but after getting FIVE calls in the past 48-hours for companies (large and small) having a LOT of users complaining about Outlook performance issues, I finally broke down and wrote this guide.

This is not a guide based on opinions, theories, or mere observations, but I took the time to actually grab Microsoft TechNet articles and other authoritative documents to back the information I'm providing as I find there's a lot of "opinions" out on the Web, lots of incorrect information, or stuff that you just can't take to management and say that some unknown guy said the problem is X, and the solution is Y.  In addition to authoritative reference materials, I'm also going to explain (hopefully in clear English) why the problem exists as well as common steps to FIX the performance issues.  And if that's still not good enough, I have an FAQ section at the bottom to address anything I didn't address in the main body of this post.

Here you go…

Exchange 2003

If you're running Exchange 2003 still and your Exchange server is pretty maxed out (old servers, old hard drives, you've added a lot of users to Exchange since the server was originally implemented, etc), then Exchange 2003 is commonly a place to start for consideration to improve user experience and performance.  Exchange 2003 was a 32-bit environment that only supported a maximum of 4gb of RAM in the server, was not extremely efficient in how it read/wrote messages to disk, and as email demands have grown (users sending large attachments, mobile phones slamming the server on top of desktop users hitting the server, users keeping lots of email, etc), Exchange 2003 was just not built to support the current world of email.  Exchange 2007 and Exchange 2010 are 64-bit environments, adding more memory provides a LOT more buffer space for the management of messages, and with Exchange 2010 a shift from a random read/write Exchange database to one that defrags and writes messages sequentially makes the latest Exchange servers significantly more efficient (5-10 times or more efficient) than Exchange 2003.  More benefits of Exchange 2007 up on: http://msexchangeteam.com/archive/2006/09/08/428860.aspx, and workshops I've done on improvements in Exchange 2010 up on http://www.cco.com/online.htm   (sorry, I said I'd focus on fact, not opinions, the rest of the bullets in this post gets more factual, but I had to start with recommending orgs to get off Exchange 2003 because the rest of what I note will have more impact if the backend is on Exchange 2007 or preferably Exchange 2010)

Outlook 2003 / 2007 Limitations of Mailbox Size

Original releases of Outlook 2003 and Outlook 2007 have limitations on mailbox size (which is 2gb), although Outlook users can continue to grow their mailbox as large as they want, Outlook starts to slow down when the user's mailbox exceeds 2gb.  See Microsoft KB Article http://support.microsoft.com/kb/932086/en-us    As this article notes, "Microsoft Office Outlook 2007 momentarily stops responding during typical operations. This includes when you read e-mail messages, move e-mail messages, or delete e-mail messages."  Microsoft did release an update to Outlook 2007 (http://support.microsoft.com/kb/933493/) so you can theoretically extend your mailbox up to 75gb (and Outlook 2010 also supports this out of the box 75gb capability), however the larger the mailbox (beyong 2gb, even with an update Outlook 2007 or Outlook 2010), the slower the performance you will experience.  See the next note on "Too Many Messages in a Folder" for more information.

Technical Background:  The 2gb limit is a 32-bit filesystem limitation, the operating system cannot handle contiguous files greater than 2gb as a single file, it has to break the file up into smaller blocks to manage the file.  So despite the Outlook 2007 or 2010 support for greater than 2gb OST file (which is where Cachemode Outlook stores the offline data), maintaining a mailbox with less than 2gb of storage will optimize the filesystem access to Outlook (ie: will allow Outlook to run more efficiently, and thus not as "sluggish" or "slow")

Solution:  For users that need more than 2gb of storage, implement an archiving solution (like Symantec Enterprise Vault, Iron Mountain NearPoint for Exchange, etc) or even Exchange 2010 Archiving that is built into Exchange 2010 to keep the user's primary mailbox under 2gb, and allow the archive to hold the user's excess mail.

Too Many Messages in a Folder

Users with more than 10,000 mail messages in any single folder will tend to complain that Outlook is "slow", and I've seen mailboxes where users have 80,000-100,000 mail messages in their Inbox.  This is a HUGE problem with Outlook/Exchange, especially for any of the default folders like Inbox, Sent Mail, and Calendar.  Microsoft has a KB article that addresses this:  http://support.microsoft.com/kb/905803  Specifically in the article, it states "We recommend that you maintain a range of 3,500 to 5,000 items in a folder depending on the capacity of the Exchange Server environment. Additionally, you can create more top-level folders or create sub-folders underneath the Inbox and Sent Items folders. When you do this, the costs that are associated with index creation will be greatly reduced if the number of items in any one folder does not exceed 5,000." (Updated 7/29/2010 - Thanks to a comment from Michael Lundgren, this update KB article notes that Exchange 2010 recommended max messages in a folder is 100,000 http://technet.microsoft.com/en-us/library/ee832791.aspx.  Point to note, Exchange 2010 has NOT changed the number of indexed views (still only 11 views) so the notation in that KB article of 100,000 is relative to running in "cache mode" Outlook 2010.  If you are using Outlook 2003 not in cache mode against Exchange 2010, the recommended maximum is still back to the 5,000 level)

Technical Background:  There are a standard list of "default views" that each Outlook mailbox caches the view for quick access by users, views such as the default Inbox view, Sent Mail view, Calendar view, Contacts view, Inbox view sorted by Sender name, Inbox view sorted by Date, Inbox view sorted by Subject, etc.  When a user opens their mailbox, the cache queues up the default content views.  Whenever a user clicks to re-sort a view (ie: user wants to sort messages in their Inbox by date, and then sort messages in their Inbox by sender name), Outlook re-casts the view.  When the Inbox has more than about 10,000 messages, the cache buffer in Outlook is exceeded, so Outlook then has to grab all of the message headers (date, sender, subject info) and re-sorts the information in memory real time), this causes a significant delay in how long it takes for a user to open their Outlook or access a folder.  If the user is using Cachemode for Outlook, the data access and sort is done locally.  However, if the user is not using Cachmode, then the access or sort is done between Outlook and the Exchange server, meaning that ALL headers for ALL messages in the folder need to be retrieved from Exchange to Outlook before the sort can occur.  This puts a huge load on the local Outlook to slowly gather info from Exchange to do the sort, and a huge load on Exchange to query the entire Exchange database to gather all of the messages in the folder to send the message headers to the user.  This holds true for ANY folder, so if a user has thousands of calendar entries going back years, or thousands of Sent Items when they click on the Sent Item folder, or thousands of items in some custom folder the user creates, once the Outlook view buffer is exceeded, each and every time the user clicks on a folder, a query has to be done to manually sort and display the messages on screen.

Solution:  Keep all folders under 5,000 messages.  Create subfolders and move messages out of the Inbox, Sent Mail, and Calendar folders at a minimum into other folders, but better yet, use an email archiving solution to minimize the amount of messages stored in Outlook.  Remember, it's not just Inbox / Sent Mail folders, but calendars, which periodically archiving old calendar appointments is just as important as archiving and cleanring up mail message folders.   Another option is consider upgrading to Exchange 2010 and use Outlook 2010 in cache mode to increase the potential limit up to 100,000 messages in the folder, however the optimal limits are still well under 20,000 messages in a folder as the performance impact of stressing Exchange to index on the fly beyond the default 11 indexes puts excessive strain on Exchange.

Anti-Virus Programs on Performance

Anti-virus programs put a load on Outlook, especially if realtime message scanning (which is usually on by default) is enabled.  That means every time a message is opened, the anti-virus software scans the message and the attachment.  This can take 5-20 seconds dependent on the speed of the computer system and the load the system has with other applications on how quickly a real time scan is performed.  There have also been bugs in anti-virus programs such as one by McFee with Outlook 2007 referenced on the McAfee Website:  https://kc.mcafee.com/corporate/index?page=content&id=KB50523   Per the tech note, there is a "Known problem with Outlook 2007 and McAfee that identifies a buffer overflow in Outlook's 'auto-complete' function and 'hangs' Outlook for 5-10 seconds as McAfee works out the issue with Outlook"

Solution:  A best practice with Exchange 2007 and Exchange 2010 is to do anti-malware scanning on the Exchange Hub Transport servers.  Since Exchange 2007 and 2010 have ALL inbound and outbound messages as well as user to user messages go through a Hub Transport server, simply having the HT server scan the messages in transit ensures that malware is not transferred from user to user.  With messages scanned in transit, an organization can choose to disable real time scanning of messages at the Outlook client, thus eliminating the 5-20 second delay (and scanning performance load) caused by the anti-malware product on the opening of each and every message at the client desktop.  Messages at the client or on the Exchange server store can be scanned periodically (ie: during idle cycles or off hours to ensure files "at rest" are clean).  This will improve performance on the client side.

Apple iOS 4 Bug

Apple has acknowledged (June/2010) there was a bug in the initial release of their iOS 4.0 operating system that shipped with all of its iPhone 4 devices and for any user who upgraded their iPhone to the iOS 4 operating system.  The Apple technote explains:  http://support.apple.com/kb/TS3398   Specifically from the tech note "Immediately after updating to iOS 4.0, some users may notice that Exchange ActiveSync Mail, Contacts, or Calendars do not sync, or sync very slowly. In addition, some Exchange Server administrators may notice their servers running slowly."

Technical Background:  Effectively what this bug did was create an I/O error between iPhones and Exchange, one that has caused Exchange servers running ActiveSync (basically any Exchange 2003, 2007, or 2010 server) to effectively get stuck trying to connect to the iPhone with iOS 4.  While getting stuck communicating with an unpatched iPhone, the Exchange server cannot service other ActiveSync requests, and thus the experience has been Windows Mobile and iPhone 3 users complaining that Exchange mobile access is not available, users cannot connect to sync their mobile phones, or sluggishness for all other users accessing the Exchange frontend or Client Access servers.

Solution: Anyone with the original release of iPhone iOS 4.0 needs to update their iOS with the patch/update noted in the Apple support note.

Outlook Indexing

Outlook added indexing in Outlook 2007 which is a GREAT function that allows you to look-up messages throughout the mailbox very quickly.  The problem with indexing is that it takes a while for the index to be created, and any major change in a user's mailbox (ie: users moves a LOT of messages from one folder to another) requires re-indexing.  While the system is reindexing Outlook, the performance of Outlook and the entire user's system is impacted.

Solution:  To check to see if indexing may be a performance problem, check the Indexing Status in Outlook, see if Outlook is indictating that Indexing is being performed.  While indexing is being performed, expect system performance to be degraded.  You may find that the system never finishes indexing messages (http://office.microsoft.com/en-us/outlook-help/instant-search-is-not-finding-items-HA010198085.aspx), that typically indicates that the index is corrupt, however while an index is corrupt, the Indexing service is still attempting to index Outlook, so not only is your index not getting updated, but the system is chewing up system cycles to continuously index the system and never completes.  In the case where Indexing never seems to be completing, delete the index and choose to reindex the entire mailbox.  This may take a long time with a large mailbox, and during that time system performance for the user will be degraded, but once the indexing has been completed, performance will be improved.

Too Many Folder Rules / Inbox Rules

A not so common problem but one worthy to not are users that have a lot of Inbox or Folder "Rules" in Outlook experience slowdown of Outlook.  Outlook has a limited (32kb) memory space allocated for rules.  Users that add in too many rules not only have Outlook slow down because the rules have to fire off and process the rules before the user actually sees the message in their Inbox, but also having too many rules causes Outlook to slow down in general.  This KB article details the issue: http://support.microsoft.com/kb/886616   Effectively, there is a 32-kilobyte (KB) "packed data" memory limit for the rules on each folder in the Inbox or in a public folder, each inbox rule takes about 660 bytes, therefore the maximum number of rules is 40-50 rules per folder, and the more rules the user has, the slower performance they will receive in Outlook.

Solution:  Evaluate the rules in use and try to minimize the number of rules being used.

Local Workstation Performance

A user's workstation can impact performance of Outlook, so a 10 year old system with 512m of RAM and a lot of applications will run slower than a brand new i7 processor system with 4gb of RAM and only a handful of applications.  However workstation performance frequently masks real problems.  A user who had a slow system with 50,000 messages in their Inbox that gets a faster system (and still has too many messages in their inbox) may experience acceptable performance after the system upgrade, but the inherent problem of having too many messages still exists.  In many cases, the faster system will appease the user as their personal performance problem will seem to have gone away, however their impact on the Exchange Server (having to deal with a system with too many messages in a folder) will continue to impact the performance of the Exchange server and thus the performance of other users.  Additionally, disk defragmentation is also something to consider.  A fragmented hard disk with a user who has a large OST can find that the access to the Cachemode file is a source of performance problems.

Solution:  Get a faster system for the user and defragment the user's hard drive using a tool like Microsoft's Sysinternals http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx to get faster client system speed, however make sure that all other issues like mailbox size, number of messages in a folder, number of inbox rules, and the like have all been addressed, otherwise inherent performance problems will still exist.

Caching Shared Folders

A nasty default setting in Outlook 2007 and Outlook 2010 when a user is running Cachemode for Outlook is a setting that caches "Shared Folders".  It is selected by default and when a user opens another person's calendar, it downloads the other person's entire calendar so that it does a Cachemode on other user's calendars.  This is great if you work offline and want to potentially look at someone else's calendar, however when a user is online, each and every time another calendar is open, Outlook goes out to the other user's calendar, checks for changes, and does a complete calendar synchronization before the user's calendar is visible.  This is frequently reported as "slow performance for calendar access" as it can be 5, 10, 20 seconds before a user's calendar appointments are visible.

Solution:  Turn off the caching of Shared Folders by going into the Outlook profile (File / Info / Account Settings in Outlook 2010; or Tools / Options / Account Settings in Outlook 2003 or 2007), click on the Advanced Tab, and uncheck the Download Shared Folders checkbox as shown in the graphic below.

Limitations of MAPI

Pretty much everything in the Exchange/Outlook world uses MAPI as the method of communications (other than Apple Macs that are now using Exchange Web Services (EWS), or Outlook Web Access that is also now using EWS)), but everything else (Outlook, Outlook Anywhere, Blackberry, most email archiving solutions, most integrated voicemail solutions, most faxing solutions) all use MAPI.  When too many things are using MAPI, there is a bottleneck on the server or the client.  For the client system that has Outlook, Microsoft CRM, integrated voicemail to Exchange, email Archiving, etc, it is possible for all of those applications to choke the performance of a client system, so despite having a super high CPU performing system with a lot of RAM, there's only a single network adapter that all MAPI communications is sequentially trying to send and receive information.  On the server side, the server is receiving MAPI requests from dozens / hundreds / thousands of users each with potentially dozens / hundreds of MAPI requests.  Add on to that the Blackberry Service where each Blackberry device generates over 3.6 IOPS (http://technet.microsoft.com/en-us/library/aa996376(EXCHG.65).aspx), which is equivalent to adding 4 users to a server, an organization with 500 users, 250 iPhones and Windows Mobile devices, and 125 Blackberries is really hosting over 1,250 "users" from a load perspective, not just 500 "users".

Solution:  Scale your environment to take in account not just the number of "users" you have, but the number of "devices" (and the performance impact of each of those devices) which considering most organizations now have users with mobile phones and the MAPI impact of Blackberries, servers are frequently not designed to handle the true load the network.  Minimize the number of MAPI applications in use, many organizations are getting rid of their Blackberry Enterprise System (BES) servers and adding ActiveSync applets to the Blackberry devices (products from companies like NotifySync, AstraSync, or the like) making all mobile devices (including Blackberries) communicate over native ActiveSync.  Scaling Exchange and managing MAPI devices and applications can help to improve overall Outlook/Exchange performance.

DNS and DSACCESS Problems

There have been isolated pockets of problems where a network DNS problem or DSACCESS problem causes client performance access.  Effectively, it has been seen where DNS is pointing a user to access the Global Catalog for a domain controller that no longer exists and/or the IP address has been assigned to another (non-DNS) server, so when Outlook goes out to query the Global Catalog, Outlook is looking at a non-existent server and has to fail look-up and do a lookup to another server to access the directory (a 5-10 second delay on look-up of user names or in sending messages).  On the server side, this type of DNS problem also affects DSACCESS which is how the Exchange server does a look-up of user names so that when the Exchange server receives an email, it knows where to send the message.  More details on DNS and DSACCESS are referred to in the following KB article: http://support.microsoft.com/kb/250570

Solution:  Make sure DNS and DSACCESS are working properly, which running the Microsoft Exchange "Best Practice Analyzer" will typically identify problems with Exchange, DNS, and the like.  Key is to make sure that after running the BPA, if any errors occur, to fix the errors.  I have seen many organizations where errors are ignored because the IT or Exchange administrator is "certain" that a specific problem is not a problem when BPA clearly identified the issue as a problem and when we went in and fixed the noted BPA error, the Exchange problem went away.  Remember, Exchange needs to have a Global Catalog server nearby (meaning on the same Ethernet segment) so if your Exchange server is far from a Global Catalog Server, make sure that a Global Catalog server is added close to the Exchange server.

Server Hardware / LAN-WAN Performance Issues

It is possible for Outlook performance issues to be related to server hardware, LAN, or WAN performance issues, however unless an organization is still running Exchange 2003 on old hardware, most organizations with Exchange 2007 and Exchange 2010 have relatively decent new 64-bit hardware as well as have tested LAN and WAN for performance and have come up with limited issues with the infrastructure.  A quick test is to run the problemsome (slow / sluggish) user access off hours, see if the problem persists at 9pm as it does 9am, and if the problem persists even at a time when the servers / LAN / WAN have limited use, then it's likely not a Server / LAN / WAN problem.  Common tests can be run on servers (perfmon) to check on the server utilization of an Exchange server.  Additional LAN/WAN performance tests can be run to make sure the LAN and the WAN are performing efficiently.   Frequently, running Outlook Web Access on a user's workstation to test performance can be a measure of whether a problem is specific to Outlook or to the LAN/WAN/Server.  If OWA runs very fast on the same workstation the user complains that Outlook runs slowly against Exchange, then likely the problem is not Server / LAN / WAN related, but like something related to Outlook, # of messages the user has in folders, size of the user's mailbox, or the like.  Other server problems include things like an anti-malware product not properly configured on a server.  If the anti-malware is not set to EXCLUDE scanning of the Exchange EDB database and LOG files, the anti-malware software will sit all day chugging away trying to scan the Exchange database and logs, taking up 10, 20, 30% of the server utilization to scan something it doesn't have the ability to scan.  Also I've seen tape backup systems running in the middle of the day trying to backup Exchange because the backup is taking more than a night to complete a backup and thus system performance is drastically degraded while Exchange is being attempted to be backed up.  These are all common server / LAN / WAN side issues that need to be checked to make sure these are not contributing factors to "slowness" of Outlook.

ActiveSync Consumption Causing Exchange Connection Problems

{Added 5/11/2011}  Microsoft has posted a knowledgebase article that addresses a problem where Exchange runs out of resources (caused by ActiveSync overload) that prevents other Exchange users (both ActiveSync as well as OWA/Outlook Anywhere users) from connecting.  http://support.microsoft.com/kb/2469722

*************

Frequently Asked Questions

Q:  My mailbox has always had a LOT of messages in the INBOX and I've always had a really large >2GB mailbox, so why all of a sudden my performance has slowed down, it must be a Server / Network problem, not me, right?

A:  Liken it to the straw that broke the camel's back, as much as your INBOX and Outlook usage has always been excessive, the issue is that today, your usage is now even more excessive than it was before (so you have added more straws to the camel's back) and likely you are no longer the only person that has added straws to the camel's back as now dozens if not hundreds of users now have tons of messages in their Inbox, Calendar, Sent Mail folders, really large >2GB mailboxes, the addition of mobile phones (which effectively 7 years ago only a handful of execs had Blackberries, now "everyone" practically has a mobile phone in addition to their desktop/laptop), in addition mailboxes are getting larger and larger, in addition things like McAfee bugs or iPhone bugs all in combination push Exchange to the point where it slows down.  So it is the combination of all these stresses on Exchange that has caused a noticeable slowdown with Exchange and thus Outlook performance issues.

Q:  If Exchange is slowing down because of usage, can't we just add more Exchange servers and get faster servers to make the problem go away?

A:  Yeah, kind of, you can kick the can down the road by adding more servers, faster workstations, etc, but it's the same conversation I have with my doctor every 6 months about my cholesterol, that "can't I continue to eat a fatty, rich diet and just take more cholesterol medicine," with that long pause, his closing his eyes, shaking his head, and the final response of "yeah, you can do that, you'll just prolonge when you'll have a stroke and heart attack by a couple years."  Same with Exchange, you have to address the cause of the problem, change behaviors and habits, not just kick the problem down the road

Q:  Can't Microsoft fix Outlook and fix Exchange so that we can have larger mailboxes and more messages in each folder?

A:  Yes, Microsoft continues to improve Outlook and Exchange, the change to Exchange 2007 and 2010 as 64-bit servers GREATLY improved how large Exchange databases can be, and Outlook 2010 now supports 64-bit clients that also improves the storage capacity on Outlook, however at the end of the day, Exchange is just a database, and Outlook is just a client software.  As much as Exchange and Outlook are being improved to handle more, by using email archiving solutions (even Exchange 2010 built-in archiving), organizations have options today to keep a lot of messages and data without having to keep them in the "primary" mailbox, but instead put old stuff in an archive.  It's like carrying along boxes of file folders in your car year after year.  Eventually you run out of space in your car, so you get a mini-van, then you run out of space in the mini-van to carry all the boxes, so you get yourself an RV to lug along your "stuff".  You can go back to your fast 2-door sports car by putting some of the old "stuff" in a trailer or in a storage unit so you can speed around instead of carrying all of the "stuff" with you, but still have fast access to the information when using an online archiving solution.

Q:  What does Microsoft have to say about email archiving and limitations on storage?

A:  See this Microsoft Exchange Team Blog, basically it covers the background of the same information I cover above:   http://msexchangeteam.com/archive/2005/03/14/395229.aspx

Q:  What's your credentials to make these statements about Exchange and Outlook performance?

A:  I worked with Microsoft on the development of Microsoft Exchange almost 2 decades ago, of which the basis of Exchange (the concept of EDB databases, log files, TCP networking, etc) have remained the same over the years.  I have worked with every version of Exchange over 2-years prior to the product's release and have written a bestselling book on every version of Exchange since Exchange v4.0 to and through Exchange 2003, Exchange 2007, and Exchange 2010 (my latest book, the 1350-page book "Exchange 2010 Unleashed" is the #1 selling book in the world on Exchange 2010 as was my book "Exchange 2007 Unleashed").  I have a 65-person consulting firm (Convergent Computing (http://www.cco.com)) that helps organizations plan, implement, and support their Exchange environments with clients implementing beta versions of Exchange 12-18 months in production envrionments before the product is even available to the general public, so we gather up a LOT of information on Exchange long before the product is publicly available, thus the books that we write are based on literally years of experience of a product even when the books ship the day the Exchange product ships.  Every month I'm somewhere in the world at some conference or convention speaking on Microsoft Exchange (typically on Exchange migration, performance tuning and optimization, and Exchange problem solving and debugging), and the information in this blog post is based on years of experience with the product, and day to day hands-on knowledge gained from the field in working with Exchange.

note:  I just posted a companion posting that addresses Exchange Calendaring problems (lost appointments, duplicate appoinments, meeting delegate problems, etc) and fixes for those problems up on http://www.networkworld.com/community/ExchangeCalendaringProblemSolutions 

note - March/2014:  I just posted a 2014 update to this information up on: http://www.networkworld.com/community/blog/microsoft-exchange-calendaring-problems-current-perspective-mar2014

From CSO: 7 security mistakes people make with their mobile device
Join the discussion
Be the first to comment on this article. Our Commenting Policies