CRM 2011 Performance Settings
REGISTRY
Disable Loopback checkHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
New DWORD Value: DisableLoopbackCheck = 1 (Decimal)
CRM Settings
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
New DWORD Value: OLEDBTimeout = 86400 (Decimal)
New DWORD Value: ExtendedTimeout = 1000000 (Decimal)
New DWORD Value: NormalTimeout = 300000 (Decimal)
New DWORD Value: AsyncRemoveCompletedWorkflows = 1 (Decimal)
New DWORD Value: AsyncRemoveCompletedJobs = 1 (Decimal)
TCP/IP Settings
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
New DWORD Value: MaxUserPort = 65534 (Decimal)
New DWORD Value: TcpTimedWaitDelay = 260 (Decimal)
SQL
Max Degree of Parallelism and Other SQL Settingsexec sp_configure 'show adv', 1; RECONFIGURE WITH OVERRIDE; --reduces locking by ensureing queries are only run against a single processor exec sp_configure 'max degree', 1; RECONFIGURE WITH OVERRIDE; --reduces ASYNC_NETWORK_IO locks that occur --when large queries hog all the memory on a machine --and the machine can no longer access the IO. --The value of this setting should be modified based --upon the amount of ram on your machine. exec sp_configure 'max server memory', 8192; RECONFIGURE WITH OVERRIDE; --Enable SQL CLR which can increase timezone conversion --on advanced find exec sp_configure 'clr enabled', '1'; RECONFIGURE WITH OVERRIDE; exec sp_configure;
Read Snapshot Isolation
How to check to see if it’s already turned on:
SELECT name, is_read_committed_snapshot_on FROM sys.databases
How to turn it on for a specific database:
DECLARE @DBNAME VARCHAR(100); SET @DBNAME = 'Default_MSCRM'; --Update this based upon your database name DECLARE @query varchar(max); SET @query = 'ALTER DATABASE {DATABASE} SET SINGLE_USER WITH ROLLBACK IMMEDIATE;' + 'ALTER DATABASE {DATABASE} SET ALLOW_SNAPSHOT_ISOLATION ON;' + 'ALTER DATABASE {DATABASE} SET READ_COMMITTED_SNAPSHOT ON;' + 'ALTER DATABASE {DATABASE} SET MULTI_USER;' SET @query = REPLACE(@query, '{DATABASE}', @DBNAME); exec(@query);
SqlCommandTimeout
USE MSCRM_CONFIG UPDATE DeploymentProperties SET IntColumn = 9000 WHERE ColumnName = 'SqlCommandTimeout'
IIS
WCF/SOAP Compression
Open a command promp 'As Administrator' and 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
JSON Compression
Open a command promp 'As Administrator' and run the following command:
%SYSTEMROOT%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/json; charset=utf-8',enabled='true']" /commit:apphost
http://blogs.msdn.com/b/crminthefield/archive/2011/12/29/enable-wcf-compression-to-improve-crm-2011-network-performance.aspx
Static Content Caching
This will help ensure that some static content files used by CRM will also be cached. It ensures that the Response Header is not set to * but instead to Accept-Encoding.
- Open IIS Manager
- Click on Microsoft Dynamics CRM Website
- Click on Configuration Editor
- Navigate to system.web/caching/outputCache
- Switch omitVaryStart to True and click the Apply button.
http://blogs.msdn.com/b/crminthefield/archive/2014/12/19/static-content-not-cached-properly-in-dynamics-crm-due-to-vary-header.aspx
Kerberos and Windows Auth
Update setting to reduce 401 responses when using Kerberos and Windows Auth at the same time. This will not hurt anything if they are only using windows auth.
- Run a command prompt As Administrator
- At the command prompt, type the following commands, and then press ENTER:
- At the command prompt, type the following commands, and then press ENTER:
cd %SystemRoot%\System32\inetsrv appcmd set config /section:windowsAuthentication /authPersistNonNTLM:true
http://support.microsoft.com/kb/954873
Comments
Post a Comment