本文將介紹CRM的三個內容追蹤、監控及性能優化。追蹤是CRM里一個很有用的功能,它能為我們的CRM調試或解決錯誤、警告提供有價值的信息;我們可以用window的性能監控工具來了解CRM的性能狀況;最后就是對CRM及其DB進行性能調整以讓CRM達到最佳狀態。
一、追蹤
有二種追蹤方式,一種是部署級,這種方式追蹤所有的CRM 服務器上的角色、服務,默認情況,log文件在C:\crmdrop\logs;另一種是服務器級追蹤,這種方式只追蹤當前機器上運行的服務器角色、服務。默認情況,log文件在C:\Program Files\Microsoft Dynamics CRM\Trace.
如果一台服務器上同時激活了這二種追蹤,那么只會運行部署級追蹤。
1. 部署級追蹤
- 通過run-> powershell打開powershell
- 引用CRM command:
Add-PSSnapin Microsoft.Crm.PowerShell
- 先查看當前追蹤狀態: Get-CrmSetting TracSettings
- 啟用追蹤:
$Setting = Get-CrmSetting TraceSettings$Setting.Enabled = $True $Setting.CallStack=$True$Setting.Categories="*:Verbose"Set-CrmSetting $setting- 禁用追蹤:
$Setting = Get-CrmSetting TraceSettings$setting.Enabled = $FalseSet-CrmSetting $setting
2. 服務器級追蹤
- 打開注冊表
- 找到HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSCRM
- 創建一個新的DWORD 值 TraceEnabled , 如果把值設成0,表示禁用,1表示啟用
- 創建一個新的DWORD 值 TraceRefresh, 范圍為0-99,
- 添加String or Multi-String類型的值 TraceCategories,格式為Category.Feature:TraceLevel, 例如:Application.*.Error 將捕獲應用程序下所有的錯誤。
下面是TraceCategories的列表,默認值為 *:Error
- 創建一個新的DWORD 值 TraceCallStack,1表示call stack將包括追蹤的 log,0表示不包括追蹤 log, 默認為0
- 創建一個新的DWORD 值 TraceFileSizeLimit,范圍為1-100, 這個值將指定追蹤文件的最大值,默認為5
二、監控
1. 登錄到CRM服務器,運行 開始 -> run –> perfmon.msc 打開Performance Monitor
2. 選擇 Monitoring Tools –> Performance Monitor
3. 點擊下面加號
4. 添加下面的Counters
5. 最后點ok完成。
三、性能優化
- DB優化
1. 把數據文件與log文件分別放在不同的物理硬盤,這樣就可以允許數據與log I/O活動同時進行。
2. 考慮到3-6個月的數據量增加,設置適當的數據庫文件大小
3. 考慮 3-6 個月的數據量增加,設置適當的自動增加大小
4. 增加tempdb的初始化及自動增漲大小
5. 為擴展和自定義實體創建index
6. 設置 maximum degree of parallelism (MAXDOP)為1
7. 增加 SQLCommandTimeout 及AggregateQueryRecordLimit
USE MSCRM_CONFIG
GO
UPDATE DeploymentProperties SET IntColumn=9000 WHERE
ColumnName='SqlCommandTimeout'
USE MSCRM_CONFIG
GO
UPDATE DeploymentProperties SET IntColumn=100000 WHERE Colum
nName='AggregateQueryRecordLimit '
- 系統優化
1. 根據角色把CRM部署在不同的服務器上,同時使用網絡負載平衡
2.IIS里對動態、靜態內容都壓縮
3.設置 MaxConcurrentRequestsPerCPU 為5000
4. 設置iis 應用程序池為1小時左右
5. 設置IIS里輸出緩存,下圖為js的配置
6. 設置超時的值
HKEY_LCAL_MACHINE\Software\Microsoft\MSCRM
- OLEDBTimeout 86400
- ExtendedTimeout 1000000