本文将介绍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

 

 

Dynamic CRM 2013学习笔记 系列汇总

Dynamic CRM 2013学习笔记(七)追踪、监控及性能优化的更多相关文章

  1. Dynamic CRM 2013学习笔记 系列汇总

    这里列出所有 Dynamic CRM 2013学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址: Dynamic CRM 2013学习笔记 系列汇总 ...

  2. Dynamic CRM 2013学习笔记(一)插件输入实体参数解析

      1. 问题描述 最近新建了一个post事件的插件,传入的参数处理如下: 1: if (context.InputParameters.Contains("Target") &a ...

  3. Dynamic CRM 2013学习笔记(二)插件基本用法及调试

      插件是可与 Microsoft Dynamics CRM 2013 和 Microsoft Dynamics CRM Online 集成的自定义业务逻辑(代码),用于修改或增加平台的标准行为.也可 ...

  4. Dynamic CRM 2013学习笔记(四)单据编号及插件批量注册工具

    基本上每个实体form上都会有单据编号,而且不同的实体编号要求还不太一样,这时就需要一个通用的单据编号插件,可配置以应对不同的需求. 下面简单介绍下实现步骤: 1. 创建二个实体,以保存各实体所要求的 ...

  5. Dynamic CRM 2013学习笔记(五)禁止修改、删除审批通过后的单据

    审批通过后的单据,一般要对其进行控制,不能修改,不能添加,删除等,下面分别介绍下如何实现: 一. 禁止修改: 1. 主表控制,如果页面上审批状态为审批中或审批通过,就把整个页面都disable掉 1: ...

  6. Dynamic CRM 2013学习笔记(十二)实现子表合计(汇总,求和)功能的通用插件

    上一篇 Dynamic CRM 2013学习笔记(十一)利用Javascript实现子表合计(汇总,求和)功能 , 介绍了如何用js来实现子表合计功能,这种方法要求在各个表单上添加js方法,如果有很多 ...

  7. Dynamic CRM 2013学习笔记(十三)附件上传 / 上传附件

    上传附件可能是CRM里比较常用的一个需求了,本文将介绍如何在CRM里实现附件的上传.显示及下载.包括以下几个步骤: 附件上传的web页面 附件显示及下载的附件实体 调用上传web页面的JS文件 实体上 ...

  8. Dynamic CRM 2013学习笔记(十四)复制/克隆记录

    经常有这样的需求,一个单据上有太多要填写的内容,有时还关联多个子单据,客户不想一个一个地填写,他们想从已有的单据上复制数据,克隆成一条新的记录.本文将介绍如何克隆一条记录,包括它的子单据以生成一条新的 ...

  9. Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务

      1. 添加service:     2.调用WCF BasicHttpBinding myBinding = new BasicHttpBinding(); myBinding.Name = &q ...

随机推荐

  1. IIS7中配置FastCGI运行PHP

    环境说明: 操作系统:使用windows 2008 server 64位系统,IIS7.5PHP版本:官方下载PHP 5.4.16 VC9 x86 Non Thread SafeZIP版本.PHP路径 ...

  2. archlinux更新错误

    问题1 初始化下载: http://repo.archlinuxcn.org/x86_64/wps-office-10.1.0.5672_a21-2-x86_64.pkg.tar.xz 文件大小: 1 ...

  3. [华清远见]FPGA公益培训

    本套视频教程为华清远见 网络公益培训活动,主讲人:姚远老师,华清远见高级讲师. ------------------------------------------------------------ ...

  4. Linux内核分析第六周学习总结:进程的描述和进程的创建

    韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.进程的描述 ...

  5. mysqldb模块的简单用法

    # - *- coding:utf-8-*-import urllib2import reimport MySQLdbimport sysreload(sys)sys.setdefaultencodi ...

  6. eclipse新建项目,报错“Error: workspace\appcompat_v7\res\values-v21\styles_base.xml No resource found that matches the given name”

    新建项目报错,不知道为什么,以前从未出现过的错误,把sdk更新之后,出现莫名错误,自己也是一知半解,在网上找了好久的错误,终于在一个english网站找到了解决方法,soga,从未觉得english如 ...

  7. 心情闲适,发几个tatanic的图

    第一次看这个是98年在高一的同学家里. 唯一的月末休息时,那时没有电话,老父以为我会在下午到caojp,结果老父在寒风中等我一个下午,发火了.

  8. Java核心知识点学习----线程中如何创建锁和使用锁 Lock,设计一个缓存系统

    理论知识很枯燥,但这些都是基本功,学完可能会忘,但等用的时候,会发觉之前的学习是非常有意义的,学习线程就是这样子的. 1.如何创建锁? Lock lock = new ReentrantLock(); ...

  9. hihocode 1077 : RMQ问题再临-线段树

    #1077 : RMQ问题再临-线段树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到:小Hi给小Ho出了这样一道问题:假设整个货架上从左到右摆放了N种商品,并 ...

  10. c#开发Mongo笔记第三篇

    今天主要测试了一下查询功能了,当然了主要还是为了让查询可以和我们平时使用的实体对象关联起来,并且 那些BsonDocument和Collection我们操作起来不是太方便的 还是首先定义了一个用户类, ...