30 day trial
The MS CRM Engineering Excellence (E2) and Dynamics Premier Field Engineering (PFE) teams recently collaborated on a benchmark testing effort designed to measure the performance improvement associated with customizing an “out-of-the-box” implementation of Microsoft Dynamics CRM 4.0 to accommodate the requirements of a specific, real-world business scenario in which the customer would encounter potential issues with network latency and bandwidth.
To derive the necessary data, we defined the following testing plan:
1. Define the specific business scenario 2. Perform a 500 user un-optimized run a. Collect network stats for first-run (cold) experience b. Execute benchmark 3. Customize CRM to accommodate requirements of business scenario 4. Optimize CRM/SQL based on the workload 5. Perform a 500 user optimized run a. Collect network stats for first-run (cold) experience b. Execute benchmark
1. Define the specific business scenario
2. Perform a 500 user un-optimized run
a. Collect network stats for first-run (cold) experience
b. Execute benchmark
3. Customize CRM to accommodate requirements of business scenario
4. Optimize CRM/SQL based on the workload
5. Perform a 500 user optimized run
b. Execute benchmark
To meet the criteria of for the business scenario, we specified that the customer:
Summary of Customizations
Based on this scenario, the teams customized the application by engineering a user interface that required fewer roundtrips and transmitted less data. Below is a summary of these customizations.
Detail of Customizations
The actions, rationale, benefits, and potential caveats that are associated with each of the customizations are shown in the following table:
Customized the Account and Contact forms
Disabled the Forms Assistant
Users do not require the Form Assistant
Application requires fewer roundtrips to load
Changed the Default Public View to display two fields
Eliminating unnecessary or unused fields
Reduces the amount of data sent to/from the CRM Client
§ Account form: Other Phone; Fax; Phone; Address2; Address3
§ Contact form: Street2; Street3; Country/Region; Phone; Salutation; Middle Name; Home Phone; Fax; Pager
Eliminating unnecessary or unused fields streamlines form layout
Removed search fields:
§ Account form: Account Number; E-mail
§ Contact form: All except FullName
Eliminates unnecessary or unused search fields
Enhances query execution; reduces the amount of data sent over the network
Changed the Number of Fields returned to 25
Users can locate specific records by reviewing 25 or fewer fields
Increases the efficiency of record searches and reduces the amount of data sent to the CRM Client, resulting in faster rendering times
Modified the Workplace Pane to show only Sales
Simplifies navigation by removing unused/un-needed options
Prevents accidental navigation; facilitates training; and reduces the amount of data that is sent to/from the CRM client and the number of associated roundtrips
Changed the security role to allow only the Contact and Account entities
“Hardens” the deployment by removing access to unused entities
Helps to lock down the application to provide access only to necessary business functions. Removing access to unnecessary entities also removes their visibility from the Workplace pane, in turn reducing the amount of data and roundtrips required by the CRM Client
Disabled Duplicate Detection
Customer anticipates that the system will not contain duplicate records
Reduces data checks on Save; limits on-screen functionality to reduce roundtrips and data sent to the CRM Client
Removed all unnecessary items (except Workplace) from the left Navigation Bar
Streamlines interface, prevents accidental navigation, facilitates training, and reduces the amount of data sent to/from the CRM Client and the associated number of roundtrips
Removed unnecessary items from the left Navigation Bar of the Account/Contact forms.
Customer only uses CRM for account/contact management
Streamlines interface, prevents accidental navigation, facilitates training, and reduces the amount of data that is sent to/from the CRM Client and the number of related roundtrips
The tests we conducted were focused on the first-run (Cold) experience of the application. The subsequent run (Warm) experience of the CRM 4.0 application is highly optimized and typically only involves a handful of roundtrips and a very small amount of data transferred.
Note: For details of a network utilization study that documents the results of an un-optimized Cold and Warm run experience, on MSDN, see Microsoft Dynamics CRM 4.0 Performance and Scalability White Papers at: http://www.microsoft.com/downloads/details.aspx?familyid=5852B14A-394C-4898-8374-CAF5E6479EB0&displaylang=en
While the performance improvements covered in this posting apply to both a Cold and Warm run experience, the savings associated with Cold runs are more significant.
Test Run Results
% Improvement between Un-optimized non-IFD and Optimized IFD
Total Bytes Transferred
IFD vs. Windows Authentication
The default authentication model (Windows Authentication) attempts to send each web request with anonymous credentials, and the server responds with a 401 response for those items that require authentication. At this point, the client sends the credentials. Items that do not require authentication are sent back immediately.
It is important to note that using the IFD deployment model reduces the roundtrips that are required to complete a business transaction because authentication credentials are sent with the web request. However, adding this credential also increases the amount of data sent to the server, which is reflected in the test results above.
Test results demonstrate that the customizing the CRM application can significantly improve performance in WAN environments. While customer business requirements will dictate the level of customization required, taking the approach described can dramatically reduce the network utilization and roundtrips required by the CRM application.
PingBack from http://microsoft-sharepoint.simplynetdev.com/customizing-microsoft-dynamics-crm-40-for-high-latency-and-low-bandwidth-environments/