Performance tuning continues to be one of the top requests from customers. When looking at performance from a client side perspective I will often use Fiddler (www.fiddlertool.com) to inspect HTTP traffic as the CRM pages are being loaded. Below is a screenshot that shows what the application looks like and then some of the top features I use.
This tool has many features that give you good insight into what is happening during the page load. The data I use most often is:
Total number of requests and request size to pull up a page.
Time per request or per page. This will help to locate specific calls or pages that may be taking the longest.
Breakdown of response codes that occur during page request. This is useful to locate requests that would slow down page load such as excessive 401 (access denied), or 404 (not found) responses.
Ability to inspect each request/response. This is very useful to see Web Service request and responses when troubleshooting or debugging an issue. This way you can see what type of data the server is returning.
See Web Service Request/Reponses:
Check file contents such as Jscript:
See which files are cached or being requested each time. This way you may be able to fine tune caching settings to prevent as many page requests. For example, the following screenshot shows us in total how many requests are made on the initial load and then for the subsequent load. Most of the files are cached in this scenario.
Initial Page Load:
Subsequent Page Load (After files are cached):
How to start using Fiddler
1. Download Fiddler from the website http://fiddlertool.com.
2. Install Fiddler on the machine that will be making the web requests.
3. Launch Fiddler from Start|Programs|Fiddler2 or from the IE menu Tools|Fiddler2. It will automatically start capturing http traffic once it’s loaded.
4. Launch CRM or open a record to generate the HTTP traffic.
Once you have some data captured you can select individual rows to see information specific to that request. You may use shift-click to select multiple items or use Ctrl+A to select all rows which allow you to inspect information about those requests as a group.
How use Fiddler with SSL Traffic
In some scenarios the CRM traffic will be encrypted such as with CRM Online. This can often make troubleshooting issues a little more complicated, however, Fiddler can decrypt the traffic making it readable. The following steps can be used to allow Fiddler to decrypt the SSL traffic.
NOTE: All SSL traffic will be decrypted while this is tracing, which includes usernames and passwords.
1. Launch Fiddler and enter the options (Tools | Fiddler Options)
2. Select the HTTPS tab and check Decrypt HTTPS traffic.
3. You will receive the two prompts below. Select Yes to both prompts.
4. Select OK on Fiddler Options.
5. Now start capturing traffic and it will show up as if it were not over SSL.
Results after Allowing Fiddler to Decrypt Traffic:
Since you installed and trusted the certificate, it is very important that you remove it after you have completed troubleshooting. Please use these steps to fully remove the certificate.
1. Launch Internet Explorer and open Internet Options
2. Select the Content tab and select the Certificates button
3. Remove all certificates under the Personal tab that are issued by DO_NOT_TRUST_FiddlerRoot
4. Remove all certificates under the Trusted Root Certificate Authorities tab that are issued by DO_NOT_TRUST_FiddlerRoot
a. You will receive a prompt stating it may prevent some Windows components from working properly – select Yes to this message.
b. You will receive a second prompt asking if you are sure you want to DELETE the certificate from the Root Store – select Yes to this message as well.
5. Select Close on the Certificates window and OK on the Internet Options window.
6. Restart Internet Explorer
The Fiddler certificate should not be trusted anymore. You can confirm this by navigating to a SSL enabled website while Fiddler is capturing. You should receive a certificate error message “There is a problem with this website’s security certificate.” This is what we should see at this point, since we no longer trust the Fiddler certificate.