We have customized the Account form to give our users the 360 degree overview they want on our customers. However, we now experience severe performance problems as it takes approx. 13 seconds before the Account form has finished and is displayed. It is unacceptable for our users, especially in cases where the customer is on phone and they have to small talk until the form is finally displayed.
We are running an on-premise CRM2011 installation in a clustered environment. Database and CRM servers are not overloaded. Thus we believe the performance problem is related to our form customization and/or our CRM client environment.
Our users run IE8 on XP i.e. they run the CRM web client. Our account form customization has eight sub-grids with various custom and standard CRM entities that are important for our users to give a good customer overview. In addition we have added five IFRAMES but two of them are hidden by default.
We also have a number of java scripts to calculate/update some fields on the fly. We believed our performance problem could be caused by these JavaScripts. Thus we made some experiments where we disabled these scripts to analyze their performance impact. They clearly have some impact because they call other web services. However using Fiddler to analyze the timings on each web request we observe a significant delay of 6 seconds from the entity page is loaded with data (edit.aspx) until data is loaded into the first sub-grid – see figure.
Does anyone have a clue to why this delay occurs? And even better how to prevent it?
When we enable the java scripts we also observe delays. In this case it comes in two parts, one delay of 4 seconds (after edit.aspx) and another 2 seconds delay after some of the IFRAMES have displayed.
We suspect one cause could be the number of sub-grids resulting in some kind of resource exhausted. Therefore we tried to remove two of the sub-grids as they were also available as related links. It reduced the first delay to 2 seconds (in contrast to 4), and it takes approx. 11 seconds to finish and display the form.
I appreciate advice on how to make this form perform better. I also welcome comments on general experience about customizing the Account form to give a good 360 degree overview. I suspect there are some pitfalls we should observe in particular when we load information from many related entities and have a lot of java script running.