In order to debug this issue, I would first try to determine if the root cause of the poor performance originates from the servers (this is unlikely based on your infrastructure), network bandwidth issues, or insufficient processing power on client machines. For example, you can run Internet Explorer on your CRM server and check the performance there. If screens still take too long to load, then you have an issue with performance either in your database or CRM server. If that is not the issue, I would move on to the client and try to access the application from several clients in different locations and preferably with different processing powers and observe screen load times for each client. You can also use an HTTP debugging proxy such as Fiddler to monitor traffic between the client and the server. If performance differs considerably, I would try to narrow the differences down further until it is obvious what the root cause of the issue is. For example, if CPU utilization on client machines spikes to 100% for more than a few seconds when a Microsoft CRM screen loads, there is a good chance that the poor performance is caused by issues with your client machines.
Finally, I wanted to point out a couple of great resources that can help you maintain your Microsoft CRM application and improve its performance:
This was first published in March 2009