Home > Javista, Microsoft, Microsoft Dynamics, Performances, Tips and Tricks > Customizing Microsoft Dynamics CRM 4.0 for High-Latency and Low-Bandwidth Environments

Customizing Microsoft Dynamics CRM 4.0 for High-Latency and Low-Bandwidth Environments

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.

Testing Plan

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

Business Scenario

To meet the criteria of for the business scenario, we specified that the customer:

  • Has offices located in four, geographically dispersed regions with varying network characteristics
  • Uses Microsoft Dynamics CRM 4.0 for account and contact management
  • Has customized the CRM deployment for optimal levels of network performance across all regions

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.

  • Customized the Account and Contact forms
    • Disabled Forms Assistant
    • Changed the Default Public View to display two fields
    • Removed selected fields and search fields
  • Changed Number of Fields returned to 25
  • Specified to show only Sales in Workplace Pane
  • Changed the security role to only allow the Contact and Account Entities
  • Disabled Duplicate Detection
  • Removed as many items as possible from the left Navigation Bar (except Workplace)
  • Customized Accounts and Contacts grid to show only the Name and a few other key fields
  • Removed the majority of items in the left Navigation Bar of the Account and Contact forms

Detail of Customizations

The actions, rationale, benefits, and potential caveats that are associated with each of the customizations are shown in the following table:

Customization Rationale Benefit/Caveat
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
Removed fields:

  • 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 Reduces the amount of data sent to/from the CRM Client
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 Simplifies navigation 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

 

Testing Results

Overview

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

Deployment Home Page Create Account Create Contact Find Account Find Contact Open Account Open Contact Update Account Update Contact
UN-OPTIMIZED                  
Bytes Sent  98,262 170,982 173,482 115,114 114,807 160,878 160,435 174,791 173,832
Bytes Received  278,385 443,321 449,537 312,798 311,167 455,093 450,625 458,521 454,488
Roundtrips 123 222 223 141 140 220 219 226 225
UN-OPTIMIZED IFD                  
Bytes Sent 146,485 290,842 289,113 174,169 172,566 291,207 286,798 301,482 297,972
Bytes Received 191,681 357,704 353,496 226,743 225,255 364,542 359,335 367,247 361,876
Roundtrips 90 177 176 106 105 179 177 183 181
OPTIMIZED IFD                  
Bytes Sent 131,007 213,304 228,210 138,444 149,952 230,151 221,229 217,022 229,750
Bytes Received 174,321 267,011 292,400 180,052 203,839 354,941 295,024 273,788 295,251
Roundtrips 81 131 140 86 93 143 137 133 141

% Improvement between Un-optimized non-IFD and Optimized IFD

Measurement Home Page Create Account Create Contact Find Account Find Contact Open Account Open Contact Update Account Update Contact
Total Bytes Transferred 18.94% 21.81% 16.44% 25.57% 16.95% 5.01% 15.52% 22.50% 16.44%
Roundtrips 34.15% 40.99% 37.22% 39.01% 33.57% 35.00% 37.44% 41.15% 37.33%

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.

Summary

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.

Thanks,

Jim Toland

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: