事情发生在Dynamics CRM 8.2.2版本,客户新升级到这个版本几个月的时间。

突然有一天,客户反映为什么我们打开CRM Form页面的时候loading的时间这么长呢?大概会需要5-15分钟呢!并且每一个user的加载时间还不一样 >_<

我第一个反映就是,最近我们没更新环境啊,为什么突然会出现这个问题呢,一定是微软的bug,哼哼。

但冷静下来细想一下,还是需要提供一些东西的,比如如何证明是微软的bug?对此经过一系列推理、诊断、Google后,大概定位了一个方向RecentlyViewedXml的缓存。

或者也可能是网络问题?再或者也可能是DB性能问题?

对于以上几点猜测,于是总结了以下几点检查条件:

1、 让加载慢的User浏览器中输入https://CRMUrl/tools/diagnostics/diag.aspx,点击Run,等待测试结果,这个是对于网络延迟、带宽的诊断

2、 同样让加载慢的User打开加载慢的Entity Form,比如Case,加载完成后按CTRL+Shift+Q,弹出页面中点击Enable后刷新页面,页面再次加载完成后CTRL+Shift+Q,最后Create CSV Report

3、 收集CRM Trace log,为了后续根据CSV中的耗时多的RequestID查Log中对应的SQL之类信息

4、 最后Disable #2打开的form

5、 对于RecentlyViewedXml引起的问题诊断,可以通过浏览器中输入https://CRMUrl/api/data/v8.2/userentityuisettingsset?$ filter=_owninguser_value eq <user guid> and objecttypecode eq <entity object type code>,结果应该只返回5-10个,只看结果个数应该诊断不出来

6、 如果 #5 速度很慢,需要清理DB以及浏览器的local storage,只清一个地方不管用,这俩地方是互相同步的

最后问题的确是由于RecentlyViewedXml导致。这东西是在这里使用的:

从DB看了一下它里面到底存的什么,呵呵,一个大的xml,存了好多东西,每次读取更新,结果真的好惊喜,反正如果是我,我决定不会这么做。

好吧,既然定位了问题所在,接下来就好解决了。

啊,忘记说了,这个RecentlyViewed是UserEntityUISettings表的一个字段。

由于客户CRM DB我们没办法连接,所以通过WebAPI将这个字段内容按照客户需要的过滤条件删掉就可以了。

随便说一嘴,只有自己(包含admin也不可以)才能删除自己的RecentlyViewed数据。

然后删除完之后记得清一下本地浏览器的localstorage缓存,localstorage会跟DB中的数据双向同步!!没想到吧 ^_^

Dynamics CRM Performance Issue when CRM Forms Opening的更多相关文章

  1. Dynamics CRM项目实例之八:CRM 2015的产品系列,克隆,修订

    关注本人微信和易信公众号: 微软动态CRM专家罗勇,回复139或者20150106可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!       今天的博客主要是关于D ...

  2. 介绍Dynamics 365 Performance Center

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复257或者20170517可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  3. Java高级项目实战之CRM系统01:CRM系统概念和分类、企业项目开发流程

    1. CRM系统介绍 CRM系统即客户关系管理系统, 顾名思义就是管理公司与客户之间的关系. 是一种以"客户关系一对一理论"为基础,旨在改善企业与客户之间关系的新型管理机制.客户关 ...

  4. Dynamics CRM 2011 2013-(An error occurred while opening mailbox xxx@xx.com Microsoft.Crm.Tools.Email.Providers.)

    An error occurred while opening mailbox  Microsoft.Crm.Tools.Email.Providers. Whenever I check how C ...

  5. Dynamices CRM Permission Issue (Security role UI to privilege mapping)'s solution

    select * from privilege where  privilegeid = 'a4736385-9763-4a64-a44b-cd5933edc631' Security role UI ...

  6. Dynamics CRM安装教程九(续):自建证书的CRM项目客户端设置CRM访问

    配置完IFD之后就可以为客户端电脑配置访问CRM了首先到CA证书服务器中把证书下载下来,打开CA服务器的浏览器,输入地址http://stg-ad/certsrv/ 其中stg-ad是机器名之后点击下 ...

  7. How To Tune or Test PLSQL Code Performance in Oracle D2k Forms

    You can test or tune your program unit performance in Oracle forms with Ora_Prof package.Suppose you ...

  8. 通用型CRM还是行业型CRM?-定制为王

    大数据时代,怎样利用工具摆脱繁杂的数据管理之苦,洞察有价值的销售信息,是每一个管理者的迫切须要.Zoho  CRM问世10年来,见证了一个个行业客户怎样在CRM帮助下实现了效率和业绩提升.相同,广泛的 ...

  9. After 2 years, I have finally solved my "Slow Hyper-V Guest Network Performance" issue. I am ecstatic.

    Edit - It should be known that I was initially researching this issue back in 2012 and the solution ...

随机推荐

  1. 移动UI系列 - 简单地使用半衰期算法来预测手势的滑动方向与速度

    前言 有一个问题, 给定一个物体的运动轨迹, 包含时间和坐标的数组, 如何使用这个数据来预测物体未来的运动走势?? 本文提供了一个很简单的方式去实现这个算法. 效果够用, 又简单, 有一定的准确程度. ...

  2. 搜索相关性算法在 DiDi Food 中的搜索

    导读:今天给大家分享的主题是搜索匹配问题在 DiDi Food 中的一些探索与应用.本文首先介绍了搜索相关性的一些背景,之后介绍了业界常见的三种匹配模型,以及在DiDi Food业务中的模型效果对比. ...

  3. App接口设计之token的php实现

    为了保证移动端和服务端数据传输相对安全,需要对接口进行加密传输. 一.ttoken的设计目的:  因为APP端没有和PC端一样的session机制,所以无法判断用户是否登陆,以及无法保持用户状态,所以 ...

  4. Python itchat.get_chatrooms() 抓取群聊不全的问题

    1 rooms = itchat.get_chatrooms() 2 f = codecs.open("3.txt","w","utf-8" ...

  5. tensorflow-TFRecord 文件详解

    TFRecord 是 tensorflow 内置的文件格式,它是一种二进制文件,具有以下优点: 1. 统一各种输入文件的操作 2. 更好的利用内存,方便复制和移动 3. 将二进制数据和标签(label ...

  6. 万级TPS亿级流水-中台账户系统架构设计

    万级TPS亿级流水-中台账户系统架构设计 标签:高并发 万级TPS 亿级流水 账户系统 背景 业务模型 应用层设计 数据层设计 日切对账 背景 我们需要给所有前台业务提供统一的账户系统,用来支撑所有前 ...

  7. 手写React的Fiber架构,深入理解其原理

    熟悉React的朋友都知道,React支持jsx语法,我们可以直接将HTML代码写到JS中间,然后渲染到页面上,我们写的HTML如果有更新的话,React还有虚拟DOM的对比,只更新变化的部分,而不重 ...

  8. SpringCloud 入门(一)

    本人也是刚接触springcloud,现在先将创建项目的过程记录下来,springcloud的理解日后再慢慢补齐,最好还是自己参考官方文档的介绍 使用工具:IDEA IDEA创建springcloud ...

  9. elasticSearch数据库、skywalking集群部署

    Centos6上面安装elasticsearc数据库的集群 安装的是6.3.2版本,安装之前首先要先安装jdk1.8版本 安装之前首先需要关闭防火墙 Centos6 sudo service ipta ...

  10. JavaWeb网上图书商城完整项目--day02-18.修改密码页面处理

    1.用户登陆成功之后会显示 当点击修改密码的时候,会进入下面的页面 对应的是pwd.jsp这个文件 我们把对jsp页面前段的校验都封装在pwd.js中,在jsp中引入该js文件 <%@ page ...