Dynamic CRM 2013学习笔记(七)追踪、监控及性能优化
本文将介绍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
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?