Optimizing Performance in CRM Online

There are a number of things you can do to improve the performance of your CRM Online deployment.  Most of this will happen at the client level.  Microsoft, of course, handles (nearly) all of the performance optimization at the server level.  The “nearly” part really applies to things you can do to with respect to your customizations and form designs.

First and foremost, I recommend you download the white paper, Optimizing and Maintaining Microsoft Dynamics CRM 4.0.  Keep in mind there is a lot of content in this paper that applies to on-premises deployments of CRM, and what can be done at the server level.  You’ll want to focus on the section entitled, “Optimizing and Maintaining Client Tier Performance."  This blog post will reference several items from the white paper.

 

Bandwidth v. Latency

Dynamics CRM makes a number of roundtrips to the server to retrieve forms and data. This has real implications when it comes to latency. Even a high bandwidth connection can appear slow if the connection has a high degree of latency.  Satellite links are an excellent example of this.  A typical broadband Internet connection has latency of less than 100 ms, and 25 ms is desirable. A satellite Internet connection normally suffers from latency above 500 ms. When you have a lot of latency in your connections, you rarely “fill the pipe” with the amount of data it could theoretically handle.

There are a number of simple tools out there to measure bandwidth and latency, such as ping and traceroute.  You may also want to consider Visual Round Trip Analyzer and httpwatch.

If your users are on high latency connections it is critically important to optimize your forms and customizations.  Review the CRM Team blog post on Customizing Microsoft Dynamics CRM 4.0 for High-Latency and Low-Bandwidth Environments.

 

Client Tier – What End-Users Can Do to Improve Performance

In this section I’ll share some ideas on what end-users can do to improve performance with the CRM web client and the CRM for Outlook plug-in.

Service Updates

In addition to the major Service Updates that we publish about twice a year, we also publish monthly updates to the service that include performance improvements, bug fixes, and other general maintenance.  While most of this is transparent to the users of the service, some of these monthly updates include updates to the CRM for Outlook plug-in.  Please make sure you are accepting and installing these updates when we publish them.

Client-Side Caching

As detailed in the “Optimizing” white paper, configuring client-side caching is a simple way to improve performance over slower connections.  Increasing your cache size will reduce the number or required roundtrips CRM makes to retrieve frequently used elements.  To increase cache size in Internet Explorer (IE), go to Tools > Internet Options > Browsing History Settings.  Change the disk space to 200-300MB.

image

Improve Outlook Startup Time

Rather than simply duplicate information, I encourage you to review this section of the “Optimizing” white paper.

Optimize the Outlook Synchronization Process

The “Optimizing” white paper has a good section on this, and I’ll add on a few things.  The white paper discusses options for synchronizing only the record types that you require, managing synch intervals, and setting up Address Book synchronization.

In addition, you may want to disable automatic email tagging.  This is especially helpful for those with lots of email in their inboxes.  When automatic email tagging is enabled, each received email will result in email tagging cycle processing, and when email background promote is enabled, each received email will be processed to see if it should be tracked in CRM.

Individual users can disable this.  Just go to Start > All Programs > Microsoft Dynamics CRM 4.0 > Diagnostics.  When the Diagnostics window comes up, click Support Mode.  Remove the mark from the Automatic E-Mail Tagging box, and other services you may want to disable.

image 

Alternatively, you can provide a registry update to your users or implement this through Group Policy.  The registry values for disabling email tagging are

HKCU\Software\Microsoft\MSCRMClient
DWORD: TagDisabled
Value: 1

Internet Explorer Download Limits

By default, Internet Explorer 7 and earlier versions limit the number of files that you can download at one time to two. IE8 limits the number of files that you can download at one time to six. This change reflects the faster connection speeds that are now typical for most users. For dial-up connections, the limits from earlier versions still apply.  You can now increase the number of files that you can download at one time to 10.  Just navigate to KB Article 282402, and click the “Fix it” button.  The KB article also details how this can be set via Group Policy.

image

Tabbed Browsing

One last end-user tip.  This one won’t really improve performance, but it will improve the overall experience.  This is simply to take advantage of tabbed browsing in Internet Explorer, which I’ve blogged about before.

 

System Customization and Design

As mentioned above in the Bandwidth v. Latency section, I recommend you read the CRM Team blog post on Customizing Microsoft Dynamics CRM 4.0 for High-Latency and Low-Bandwidth Environments.

There are a couple of things you can do as you design your forms that will optimize performance:

  1. A few lines of javascript can greatly enhance the user experience.  If you are using any jscript on your forms, make sure that code is optimized.  It really can affect form load times, for example.  There are a few good posts about this at blogs.msdn.com/jscript/archive/tags/JavaScript+Performance+IE/default.aspx.
  2. Consider your use of iFrames.  More iFrames on a form will result in slightly longer form load times.  If your iFrame is not on the form’s primary tab, use onClick jscript for the tab on which the iFrame resides.  This way the iFrame isn’t loading everytime a record is opened, only when a user clicks that tab.
  3. Remove extraneous fields.  I recently analyzed my team’s CRM instance and found a number of fields being used less than 3% of the time.  No one was entering data in these fields.  So, I removed them.  “Don’t pour the concrete until you know where people walk,” as my old boss would say.

Finally, if you have a lot of users performing a lot of searches, consider reducing the number of fields that are searched during a lookup or Quick Find.  More on this function in a previous post.  Also, while the following cannot be enforced at an administrative level, you can ask your users to set the number or records shown per page to 25 or 50 (screenshot below).  These suggestions really only impact customers with thousands of users with high system utilization.

image

I hope these simple tips and tricks will make CRM Online a more enjoyable experience for you and your users.

Cheers!

Kevin