Best Practices and Performance Tuning
In USD 101 – Part 1 we reviewed the high-level Unified Service Desk (USD) architecture to gain an understanding of the USD landscape. In Part 2 we covered getting a sandbox environment ready. During this third installment let’s review some best practice considerations to keep the solution healthy and performing at an acceptable rate.
We have found that in some situations the USD client can become largely unusable or unstable if not cared for properly or by ignoring best practices. This can include having the software crash outright, become unresponsive, or automatically minimize itself during usage. The variables surrounding each implementation can vary wildly but, hopefully, some or all of these tips can keep yours on track.
Locate the problem
Whether cloud based or on-premise you can consider Dynamics a traditional n-tier architecture. USD simply adds another n to the stack. With this in mind you may need to investigate many areas to identify where slowdowns are occurring.
Issues with the client machine
While Dynamics itself is web-based the USD client is an installed software package. It is important to consider many traditional system constraints such as available CPU, memory, and network throughput when troubleshooting a poor performing USD implementation. If your users will typically have 4-5 other applications open while also using USD it is important to understand that upfront so that a proper workstation analysis can be done and changes can be implemented if necessary. Similarly, your testing should be conducted under as close to real-life conditions as possible.
Issues with the solution
You likely have many customizations and configurations as part of your overall Dynamics implementation. If the user’s hardware looks to be in good shape (even under load) then the slowdown could be due to large, complex, or poorly written customizations. This may also manifest itself in the Dynamics web client outside of USD as a larger issue. Experiencing a slow loading webpage inside an otherwise snappy USD client can exacerbate a perceived slowdown.
Issues in the network
Another non-USD bottleneck can be the user’s network connectivity. Dynamics has a hidden utility that can be used to test a user’s network performance. Simply, have the user navigate to the following url and capture the results displayed to them.
http://<CRMServerURL>/tools/diagnostics/diag.aspx
In general, you are looking for Bandwidth to exceed 50 kilobytes per second and Latency less than 150 milliseconds.
Fix the problem
Once you have found where performance bottlenecks are you may be able to remedy them with one or more of the following solutions.
Version
The first thing to check is your installed USD version. We have found that the more recent versions (3+) handle memory use and multiple session management better than their predecessors. As of this writing version 3.3 is the latest. Check out this link for a list of recent versions and look into upgrading if your installed version is lagging.
IE Process
Certain hosted controls allow for changing the hosting methods. We have found the “IE Process” hosting method to be the best performing for CRM Dialog, CRM Page, KM Control, and Standard Web Application.
Process Termination Threshold
You may alter the timeout used by USD for long running processes. While this won’t fix a performance problem it can free the user from a lockup and allow them to pursue a different path.
Out of Memory Threshold
Use this setting to control when USD refuse additional processes in terms of bytes.
User Workstation Considerations
- 32-bit implementations have the most issues with USD. While this is a supported architecture you will be limited with it. We strongly recommend a 64-bit architecture for all user workstations.
- Turn on the “High Performance” power plan.
- Do not delete browsing history on exit.
- Automatically check for newer versions of stored pages and bump the temporary internet files cache to 250MB.
- Select the Enable Protected Mode check box for the Local Intranet security zone in Internet Explorer.
- Add the following URLs to the Restricted Sites security zone in Internet Explorer:
- http://close
- http://event
- http://uii
Best Practices Analyzer
Run the USD BPA utility to detect and mitigate issues with your USD implementation.
Review the Microsoft published Best Practices
Some of our tips overlap with what you’ll find here but it’s still a good idea to review the published best practices from Microsoft.