Recently I’ve worked with some customers that were running into issues where the Internet Explorer would hang or completely lock up while working in CRM 2011. Majority of the times this behavior would happen on Internet Explorer 7, but periodically happened in Internet Explorer 8 and Internet Explorer 9. In some cases the browser would start responding after a few seconds and then other times it would remain in a hung state until the browser was closed in task manager.
After troubleshooting the issue we found a couple things that would attribute to these issues.
The first thing is that by default Internet Explorer 7 limits the number of files that you can download at one time to two. When you load a CRM form there are several requests made to download static files, aspx pages, and then make some asynchronous calls for things such as sub-grids. By default Internet Explorer 7 can only make two of these requests at a time. If both connections are tied up it can cause the browser to hang while it waits for a connection to free up.
With Internet Explorer 8 this limit has increased and the number of files that you can download at one time is six. This improves performance by allowing more files to load concurrently and makes a hang less likely since there are more connections to the server.
Fortunately we are able to increase the download limit in Internet Explorer to avoid issues caused by lack of download connections. The Internet Explorer KB article KB282402 (http://support.microsoft.com/kb/282402) provides information on how to increase the download connection by adding a couple registry keys. It also has a “FIX IT” button that will automatically add the registry key and increase download limit to 10.
Below are screenshots from Fiddler showing the behavior loading an Account Form in Internet Explorer 7 before and after the download connection limit was increased. This is when the cache was cleared and the form was first loaded. During the initial form load there were ~100 requests required. Subsequent form load would make less requests and may not utilize all available connections.
Download Connection of 2
Download Connection of 10
Some customers also experienced issues where the browser would hang or stop responding when opening and closing the CRM forms in quick succession.
Prior to CRM 2011 Update Rollup 7 there were 2-3 asynchronous requests that fired as the form is closed. When users would close the form the browser may appear to hang while these requests are being processed. In some cases the form would close prior to the requests being finished which left the connection open. After opening and closing several forms all the Internet Explorer download connections would be left open and the browser would become unresponsive. Internet Explorer will never automatically close these connection so the browser will remain hung until the process is closed in Task Manager. This issue can also happen in Internet Explorer 8 and Internet Explorer 9, but it is less likely since they process requests much faster and have more connections available by default.
Changes were introduced in CRM 2011 Update Rollup 7 so the Asynchronous Calls are not being executed during the form OnUnload events. After this change the forms performance has improve and has eliminated issues with the browser locking up during form close.
If you are experiencing performance issues where the Internet Browser hangs you may find that increasing the download connections or applying the Latest CRM Update Rollup will resolve the issue.
Thanks, Jeremy Morlock
Microsoft Premier Field Engineer
Nice article Jeremy, I have just tried it on our on premise CRM 2011 RU7 setup with IE9 and Outlook 2010, on Win7 and from checking the fiddler output, I can see the timelines view and the requests after clearing the cache but on my timeline view I see one line per request sent, not one line per process as per your screenshot. I have checked in the Fiddler help and can't locate the option to view by process, can you shed any light ?
To see the Timeline View I used you can right click on the timeline graph and you will see the mode option in the context menu. By default it is set to "Mode:Timeline", but you can also choose "Mode:Client Pipe Map" or "Mode:Server Pipe Map".
Very helpful - Thanks Jeremy!
Thank Jeremy .. very helpful.:)