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
GOUPDATE DeploymentProperties SET IntColumn=9000 WHERE
ColumnName='SqlCommandTimeout'
USE MSCRM_CONFIG
GOUPDATE 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
Dynamic CRM 2013学习笔记(七)追踪、监控及性能优化的更多相关文章
- Dynamic CRM 2013学习笔记 系列汇总
这里列出所有 Dynamic CRM 2013学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址: Dynamic CRM 2013学习笔记 系列汇总 ...
- Dynamic CRM 2013学习笔记(一)插件输入实体参数解析
1. 问题描述 最近新建了一个post事件的插件,传入的参数处理如下: 1: if (context.InputParameters.Contains("Target") &a ...
- Dynamic CRM 2013学习笔记(二)插件基本用法及调试
插件是可与 Microsoft Dynamics CRM 2013 和 Microsoft Dynamics CRM Online 集成的自定义业务逻辑(代码),用于修改或增加平台的标准行为.也可 ...
- Dynamic CRM 2013学习笔记(四)单据编号及插件批量注册工具
基本上每个实体form上都会有单据编号,而且不同的实体编号要求还不太一样,这时就需要一个通用的单据编号插件,可配置以应对不同的需求. 下面简单介绍下实现步骤: 1. 创建二个实体,以保存各实体所要求的 ...
- Dynamic CRM 2013学习笔记(五)禁止修改、删除审批通过后的单据
审批通过后的单据,一般要对其进行控制,不能修改,不能添加,删除等,下面分别介绍下如何实现: 一. 禁止修改: 1. 主表控制,如果页面上审批状态为审批中或审批通过,就把整个页面都disable掉 1: ...
- Dynamic CRM 2013学习笔记(十二)实现子表合计(汇总,求和)功能的通用插件
上一篇 Dynamic CRM 2013学习笔记(十一)利用Javascript实现子表合计(汇总,求和)功能 , 介绍了如何用js来实现子表合计功能,这种方法要求在各个表单上添加js方法,如果有很多 ...
- Dynamic CRM 2013学习笔记(十三)附件上传 / 上传附件
上传附件可能是CRM里比较常用的一个需求了,本文将介绍如何在CRM里实现附件的上传.显示及下载.包括以下几个步骤: 附件上传的web页面 附件显示及下载的附件实体 调用上传web页面的JS文件 实体上 ...
- Dynamic CRM 2013学习笔记(十四)复制/克隆记录
经常有这样的需求,一个单据上有太多要填写的内容,有时还关联多个子单据,客户不想一个一个地填写,他们想从已有的单据上复制数据,克隆成一条新的记录.本文将介绍如何克隆一条记录,包括它的子单据以生成一条新的 ...
- Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务
1. 添加service: 2.调用WCF BasicHttpBinding myBinding = new BasicHttpBinding(); myBinding.Name = &q ...
随机推荐
- Myeclipse以及Genymotion工具的使用以及java后台开发小结
1. 服务端的Servlet程序修改并保存后,需要重启tomcat服务器才能使其修改有效.重新部署web项目是没有什么卵用的. 2. servers选项卡若是移走了看不到,在window-show v ...
- MSSQLSERVER之发布-分发-订阅
一.环境 发布服务器 O S: Windows servier 2003 64位 Soft: Microsoft SqlServer 2008 R2 I P: 192.168.3.70 HOST-NA ...
- ajax 提交數據
$.ajax({ type: "get", async: false, url: "/book/UpdateSession", data: { }, dataT ...
- TIJ读书笔记04-方法重载
TIJ读书笔记04-方法重载 为什么会有方法重载 方法签名 如何区分重载 关于基本类型的重载 为什么会有方法重载 OOP的编程方式就是让程序的逻辑更加接近现实世界的逻辑. 而在现实世界中,自然语言本身 ...
- JS中的for/in语句和arguments参数
在js应用中,有时候我们会遇到希望定义一个函数可以被不同情况调用,比如参数个数不固定的情况. 可以使用for/in语句和arguments参数解决. 举个简单例子:定义一个计算总和的函数,需要计算的数 ...
- QtCreator动态编译jsoncpp完美支持x86和arm平台
如果是做嵌入式开发. 在Qt下支持JSon最好的办法,可能不是采用qjson这个库.QJson这个库的实例只提供了x86环境下的编译方法. Installing QJson-------------- ...
- 使用VisualVM监控远程服务器JVM
VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用.JVM堆内存消耗.线程.类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很 ...
- 《C和指针(Pointer on c)》 学习笔记
转载:http://dsqiu.iteye.com/blog/1687944 首先本文是对参考中三个连接的博客进行的整理,非常感谢三位博主的努力,每次都感叹网友的力量实在太强大了…… 第一章 快速上手 ...
- 在Linux下使用RAID--使用mdadm工具创建软件Raid 0(1)
在Linux下使用RAID--使用mdadm工具创建软件Raid 0(1) RAID即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护.RAID是一些磁盘的集合, ...
- Quartus调用modelsim
1.Quartus 调用modelsim Test Bench Name :是test bench的文件名 Top Level module in test bench:test bench文件内的m ...