Archive

Archive for the ‘IIS’ Category

MS CRM 2011 Enable WCF Compression to Improve Network Performance

March 29th, 2013 DynamicsMSCRM Comments off

If you have ever analyzed network traffic you would notice that IIS will automatically compress many types of content including images, jscript, and css pages. Compression is used improve the network performance by decreasing the number of round trips required to transfer data from the server to the client machine.

The CRM 2011 Outlook client uses WCF to retrieve data from the server. By default IIS will not compress WCF responses which have a mimeType of  ‘application/soap+xml;charset=utf-8′.  Since the WCF traffic is not compressed you may notice there is increased network traffic or performance is degraded when comparing CRM 2011 to CRM 4.0.  Typically I have seen a 30-40% reduction in response size once compression is enabled for the WCF responses. However once SSL is enabled on the CRM website the compression can reduce the size by 80-90%.

Below is a chart showing response size before and after compression is enabled within IIS. This is captured from a non-customized CRM 2011 environment with the sample data loaded. This shows improvements when loading the various views in the Outlook client.

No Compression Compression Compression + SSL
Activities View
Bytes Sent: 82,234
Bytes Received: 971,139
Bytes Sent: 82,234
Bytes Received: 722,786
Bytes Sent: 53,249
Bytes Received: 36,658
Accounts View
Bytes Sent: 105,084
Bytes Received: 219,102
Bytes Sent: 105,084
Bytes Received: 149,424
Bytes Sent: 67,586
Bytes Received: 25,837
Contacts View
Bytes Sent: 78,286
Bytes Received: 177,504
Bytes Sent: 78,286
Bytes Received: 122,090
Bytes Sent: 50,283
Bytes Received: 19,791
Leads View
Bytes Sent: 78,286
Bytes Received: 202,589
Bytes Sent: 78,286
Bytes Received: 141,021
Bytes Sent: 50,274
Bytes Received: 19,769

How to Enable WCF compression

You may enable compression either by using a command line or by manually modifying the ApplicationHost.config file on the CRM Server. Below are the steps for each process.

Note: You may notice an increase in CPU utilization with compression enabled so be sure to monitor CPU accordingly.

Enable compression using a command line.

a. Open the Command Prompt on the CRM Server.

b. Run the following command:

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

c. Reset IIS for the setting to take effect.

Enable compression by manually updating the ApplicationHost.Config

a. On the CRM Server Navigate to:C:\Windows\System32\Inetsrv\Config\applicationHost.config and open it with notepad.

b. Search for the Section:“<dynamicTypes>” and in that section you should fine an entry that looks like this:
<add mimeType=”application/x-javascript” enabled=”true” />

c. Below that, add the following line:
<add mimeType=”application/soap+xml; charset=utf-8″ enabled=”true”/>

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

Note: For additional information about configuring HTTP compression, on TechNet, see the article Configuring HTTP Compression in IIS 7 at: http://technet.microsoft.com/en-us/library/cc771003(WS.10).aspx

The Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure whitepaper also includes a section on HTTP compression .

Sourced From:  Jeremy Morlock Microsoft Premier Field Engineer

  • Share/Bookmark
Categories: 2011, 2013, IIS, Performance Tags:

How to disable loopback check for local IIS websites:

July 21st, 2010 DynamicsMSCRM No comments

How to disable loopback check for local IIS websites:
There are 2 ways to get past this anoyance.
In my case I could have just ignored it and loaded up CRM from another computer, but it would be anoying to not be able to see the CRM webpage from the App server.
Both solutions require registry editing, so remember to create a backup first.
Solution 1 (Preferred): Specify which host names that does not cause loopback check.

1: Open up the registry editor by typing regedit under Run.
2: Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
3: Right-click MSV1_0 and click New and choose to make it a Multi-String Value.
4: Enter BackConnectionHostNames as name for the entry, and double-click it to modify it.
5: Type the hostnames you need to use (code-journey.com for instance).
6: Restart IISAdmin Service (”Start” -> “Administrative Tools” -> “Services”)

Solution 2 (Not recommended):
1: Open up the registry editor by typing regedit under Run.
2: Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
3: Right-click Lsa and click New and choose to make it a DWORD Value.
4: Enter DisableLoopbackCheck as name for the entry, and double-click it to modify it.
5: Set the value to 1 and click OK

You should now be able to log in to CRM, or any other IIS website, locally from the server.

Sourced From Code-Journey

  • Share/Bookmark
Categories: Friendly URL, IIS, Loopback Tags: