Donnerstag, 19. Januar 2012

Dynamics CRM 2011 On-premise Outlook Performance and Network Traffic

Issue:
======
We are using CRM 2011 On-Premise and have an issue specific to the Outlook Client. We have been noticing significant delays in the Outlook Client primarily when we navigate to the Accounts and Contacts on the side bar which can take from 5 seconds (on the LAN) to 5 minutes (cell modem and VPN). I recently noticed that clicking on one of those larger queries uses a good deal of network bandwidth (hence the speed difference based on connection). I had tested running the same processes in the browser version (using IE9) and they are quite fast even over a cellular modem (5 seconds to load tops). I finally got annoyed with it enough to run Wire Shark to compare the network traffic created running the same steps in Outlook and browser versions of CRM 2011.

Here are my results:

Outlook CRM Client - Test opening Accounts, Performing Search, and Opening Account
System A
System B
Packets
Bytes
Packets A→B
Bytes A→B
Packets A←B
Bytes A←B
Rel Start
Duration
bps A→B
bps A←B
CRM Server
Laptop with Outlook CRM
53078
49,788,909
33456
48,209,788
19622
1579121
0
96.0336
4016075.03
131547.32
IE9 Browser CRM Client - Test opening Accounts, Performing Search, and Opening Account
System A
System B
Packets
Bytes
Packets A→B
Bytes A→B
Packets A←B
Bytes A←B
Rel Start
Duration
bps A→B
bps A←B
CRM Server
Laptop with IE9 CRM
3523
3,318,590
2232
3,206,123
1291
112467
0
26.5998
964256.15
33824.96

As you can see, running very similar processes on the Dynamics CRM 2011 for Outlook take 15x the packets/bandwidth and 96 seconds vs 26 for the browser. We have been updating the Rollups as they are released and are currently on Rollup 5 for the CRM server and clients. I have read through all of the online forums I can find with suggestions on how to speed up this performance and followed the MS CRM 2011 best practice guides and Outlook performance tuning guide to the letter.

Solution:
==========
You can greatly reduce the traffic wtih Microsoft Dynamics CRM 2011 Outlook clients by implementing the WCF Compression on your Microsoft CRM Server. This is documented here -http://blogs.msdn.com/b/crminthefield/archive/2011/12/29/enable-wcf-compression-to-improve-crm-2011-network-performance.aspx and is also included in the Whitepaper, Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure, at http://www.microsoft.com/download/en/details.aspx?id=27139 .

To set this http compression, you can run the command as listed below (note that the whitepaper has two percent symbols in the command which will only work if you put the command in a batch file as the extra percent symbol is for batch file character encoding): In addition to this, if you are able to enable https encryption on the Microsoft Dynamics CRM 2011 server, it will result in another reduction in the data needed to be sent since there is a larger portion of data that needs to go into the body of the WCF messages that will not be needed if using https.
After doing this, you should see a significant reduction in the traffic when using either Wireshark, Network Monitor 3.4, and/or the Fiddler Trace tool to monitor the traffic to and from the Microsoft Dynamics CRM 2011 Outlook clients.

Enable compression using a command line.


a. Open the Command Prompt on the CRM Server.
b. Run the following command:
%SYSTEMROOT%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/soap%u002bxml; charset=utf-8',enabled='true']" /commit:apphost
c. Reset IIS for the setting to take effect.
Source: http://social.microsoft.com/Forums/en/crm/thread/c156c693-4150-41b4-a9cf-7e143ca274df

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Free Samples By Mail