Monday, May 10, 2010

Impact of BlackBerry Enterprise Server on Exchange.

RIM has published a new performance benchmarking guide  that should help remove the misconception about the BES's impact on performance of Exchange. But before I deal with the numbers, let me go through some historical facts on Exchange.

Background.

Few years back during Exchange 2003, an average Exchange user would generate 0.5 IOPS. There were few large clients I worked that had an average IOPS of about 1.0. During this time period, it was a common assumption to profile a BES user to be 3 to 5 times a normal outlook user. The number was cooked and mashed up by RIM's old performance benchmark guide and chatter in the BESAdmin community. I am sure SAN vendors just loved this multiplying factor and adapted their marketing materials to sell larger systems. Personally, I cannot confirm the IOPS generated by BES during Exchange 2003 days, but I do remember seeing Exchange Server drives churning heavily after every BES restarts and every few minutes (probably rescans). This made designing of Exchange Systems really complex taking into account the IOPS that would be generated for each exchange user. Adding to it were factors like Mailbox size and the number of items in the most common folders like Inbox. SAN was becoming the norm to host Exchange Server databases, mainly to handle the increased IOPS.
With the release of Exchange 2007, Microsoft was successfully able to tweak the Jet Database schema and along with other technology factors like 64 bit OS, increased RAM, increased page size from 4k to 32K helped reduce the IOPS by 70%. In Exchange 2010 it was further reduced further by 70%. This means the IOPS has reduced to 90% in Exchange 2010 as compared to Exchange 2003.
Let me illustrate it by giving an example of an organization with 1000 Exchange and BlackBerry Users. 



Users    Avg                 IOPS/User Total IOPS for   Exchange Total IOPS with BES Users



EX2003  1000   0.5                     500                                2500


EX2007  1000   0.15                   150                                750


EX2010  1000   0.045                 45                                  225


As shown in above table, it would have taken a about 2500 IOPS disk system to support 1000 users on Exchange 2003 Server. While today it would require only 225 IOPS on Exchange 2010 Server. A reduction of 90% just due to Exchange 2010.



RIM's new magical number for BES impact.
As per the recent performance benchmark guide from RIM, the new magical number is equal to the load generated by an outlook client. This means an average user with with BES on Exchange would generate .045X2 = .09 IOPS. For 1000 users this equates to only 90 IOPS.
1000 BES Users on Exchange 2003(5X factor)          2500 IOPS
1000 BES Users on Exchange 2010(2X factor)          90 IOPS
This is a huge reduction of IOPS requirement.

I think that the reduction of IOPS due to BES may primarily be due to the architectural changes made in the BES in terms of how the rescan, reconciliation, MAPI property updates etc is performed. But a part of it may also be due to the advances in Exchange 2010 and the amount of memory cache available to it. Another factor that could come into play is the way lab tests are conducted, the way data can be massaged and sweetened etc.

What else could be done to reduce the impact of BES on Exchange.
Some of the possible steps that could reduce impact of BES on Exchange can be 
- Remove all non active users from BES.
- Increase the checkpoint depth on Exchange Server. (Understand it well before doing this)
- Spread the BES users across multiple transactional logs - more storage groups in Exchange 2007 and more databases in Exchange 2010.
- Training users to exit outlook when not in use. This reduces one client load on Exchange Server.
- Reduce the number of items in the Mailbox commonly used folders like Inbox, Sent Items, Calendar etc.
- Avoid unnecessary shutdown and restarting of BES Server or Services. 



No comments:

Post a Comment