CRM 2013 Quick View Menu Performance Improvements

Besides some tweaking here and there with the async processing, image pre-loading and so forth, there is a new feature to turn on or off the recently added security feature. The current security feature uses the user’s security privileges to determine if a button is displayed and an entity button will only display if they have the Read access right to the specific Entity. Turning off the security feature prevents the Quick View Menu from making a number of web requests which may improve load performance.

Available from CodePlex – http://crm2013quickviewmenu.codeplex.com/

This is an example of the Quick View Menu Solution Configuration page. Simply click the Security button to toggle security on or off.

QuickViewConfigWithSecurity

Optimise Dynamics CRM 2011 using WCF Compression

IIS automatically compresses many types of content including script, images and css files to help improve network performance by minimizing the amount of data required to be transferred between the client and server. WCF responses which have a mimetype of ‘application/soap+xml;charset=utf-8’ are not compressed by default by IIS.

Dynamics CRM 2011 Outlook client uses WCF to retrieve data from the server and minimizing the network traffic across these clients especially when there are a large number of Dynamics CRM Outlook client users can have a positive impact on network load freeing up resource for other processes.

With WCF compression enabled you may see up to 30% reduction in response size and you can discover this by analyzing network traffic before and after it is enabled. The largest benefit that can be obtained from compression is by enabling SSL for your Dynamics CRM deployment, even for on-premise. Using SSL you may be able to gain an 80% reduction in the response size for your Dynamics CRM Outlook clients. The side effect to all of this is the impact on server resource in particular CPU when it performs the compression and with SSL, the encryption. Therefore it may not provide benefits in every scenario though weighing up the different aspects of your environment including the amount of users, and performance testing these features may show a positive increase in network performance.

Enable compression using a command line

  • Open the Command Prompt on the CRM Server.
  • Run the following command:

%SYSTEMROOT%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /+”dynamicTypes.[mimeType=’application/soap+xml; charset=utf-8′,enabled=’true’]” /commit:apphost

  •  Reset IIS for the setting to take effect.

Enable compression by manually updating the ApplicationHost.Config

  • On the CRM Server Navigate to: C:\Windows\System32\Inetsrv\Config\applicationHost.config and open it with notepad.
  • Locate the Section: “<httpCompression directory=” and in that section find a child node titled <dynamicsTypes> and an entry that looks like this:
    <add mimeType=”application/x-javascript” enabled=”true” />
  • Below that, add the following line:

<add mimeType=”application/soap+xml; charset=utf-8″ enabled=”true” />

  • Save the file and reset IIS for the setting to take effect.

Enable Compression in IIS using Configuration Editor

  • Open IIS on the CRM Server
  • Open Configuration Editor and navigate to the system.webServer/httpCompression Section

  • Choose dynamicTypes and open to add the new mimeType
  • Add a new item and enter application/soap+xml; charset=utf-8 as the mimeType.

  • Enable the mimeType and close the window.
  • Select Apply on the Configuration Editor and then reset IIS for the setting to take effect.

Note: Ensure you test this thoroughly in a test environment before configuring your production environment with this setting.

CRM 2011 Client Diagnostics Tool for On Premise

Previously only available for CRM Online, the CRM Diagnostics tool is now released with CRM 2011 Update Rollup 4 for On Premise installations.

It runs a couple of tests, measuring latency to the datacenter/server, bandwidth, and performs a few Javascript performance tests to measure the CPU/browser performance of the machine.

You can access the tool using the following URL after you install UR4 or later.
http://<serverUrl>/tools/diagnostics/diag.aspx

The latency and bandwidth test the download speed across the wire from the CRM web site to the client browser. A low latency and high bandwidth is ideal. If your values show a high latency and low bandwidth then your CRM experience may be slow depending on the extremity of the range. For some performance reading you can take a look here.

Optimizing and Maintaining Client Performance for Microsoft Dynamics CRM 2011 and CRM Online
http://www.microsoft.com/download/en/details.aspx?id=23261

Optimizing Performance for CRM Online 2011
http://community.dynamics.com/product/crm/crmnontechnical/b/crmonlineteam/archive/2011/04/08/optimizing-performance-for-crm-online-2011.aspx – even though this is for Online there are some important points

Microsoft Dynamics CRM 2011 Performance and Scalability with Intel
http://www.microsoft.com/download/en/details.aspx?id=16673

Improving Microsoft Dynamics CRM Performance and Securing Data with Microsoft SQL Server 2008
http://www.microsoft.com/download/en/details.aspx?id=8438

Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure
http://www.microsoft.com/download/en/details.aspx?id=27139

The above documents should give you a solid understanding of performance related improvements you can apply to your Dynamics CRM deployment.

The JavaScript test items are testing your CPU/browser performance of your machine. Ideally you want low values here and upgrading your IE browser to the latest version should give you the best results.

Happy tuning.

Cheers,

Rhett Clinton