The Microsoft Dynamics CRM Blog
News and views from the Microsoft Dynamics CRM Team

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

  • Comments 1

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

Leave a Comment
  • Please add 2 and 4 and type the answer here:
  • Post