Dynamics CRM Performance Issue when CRM Forms Opening
事情发生在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的更多相关文章
- Dynamics CRM项目实例之八:CRM 2015的产品系列,克隆,修订
关注本人微信和易信公众号: 微软动态CRM专家罗勇,回复139或者20150106可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 今天的博客主要是关于D ...
- 介绍Dynamics 365 Performance Center
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复257或者20170517可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- Java高级项目实战之CRM系统01:CRM系统概念和分类、企业项目开发流程
1. CRM系统介绍 CRM系统即客户关系管理系统, 顾名思义就是管理公司与客户之间的关系. 是一种以"客户关系一对一理论"为基础,旨在改善企业与客户之间关系的新型管理机制.客户关 ...
- 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 ...
- 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 ...
- Dynamics CRM安装教程九(续):自建证书的CRM项目客户端设置CRM访问
配置完IFD之后就可以为客户端电脑配置访问CRM了首先到CA证书服务器中把证书下载下来,打开CA服务器的浏览器,输入地址http://stg-ad/certsrv/ 其中stg-ad是机器名之后点击下 ...
- 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 ...
- 通用型CRM还是行业型CRM?-定制为王
大数据时代,怎样利用工具摆脱繁杂的数据管理之苦,洞察有价值的销售信息,是每一个管理者的迫切须要.Zoho CRM问世10年来,见证了一个个行业客户怎样在CRM帮助下实现了效率和业绩提升.相同,广泛的 ...
- 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 ...
随机推荐
- css布局中的垂直水平居中对齐
前言 我们都知道,固定高宽的div在网页中垂直居中很简单,相信大家也很容易的写出来,但是不是固定高宽的div如何垂直居中呢?我们在网页布局,特别是手机等web端网页经常是不固定高宽的div,那么这些d ...
- firda安装和使用
frida是一个轻量级别的hook框架. frida由两部分组成:一部分是运行在系统上的交互工具frida CLI,另一部分是运行在目标机器上的代码注入工具frida-server. 推荐使用pyth ...
- Looooops(求解同余方程、同余方程用法)【拓展欧几里得】
Looooops(点击) A Compiler Mystery: We are given a C-language style for loop of type for (variable = A; ...
- openresty用haproxy2.0实现负载均衡
安装openresty 编译安装 yum install pcre-devel openssl-devel gcc curl wget wget https://openresty.org/downl ...
- java中Proxy类初探
在java中提供了一个动态代理类,这个类位于java.lang.reflect包中的Proxy类中.什么是动态代理类呢?就是可以在运行时创建一个实现了一组给定接口的新类.听上去有点高深的样子,其实是提 ...
- 谷歌Chrome成最受欢迎的浏览器 它为啥好用?
毫无疑问,在搜索引擎领域,谷歌是绝对的主导者.但是,一般人却很容易低估我们受到的“控制”.比如,它的浏览器Chrome. 在不到九年的时间,谷歌Chrome浏览器已经成为全球使用最多的网页浏览器.目前 ...
- Windows下6款实用软件(强烈推荐!)
Windows下6款实用软件 1.notepads Notepads作为一款编辑器,美观.轻量,功能强大,支持多标签页.Markdown.日常文本编辑.查看,Notepads轻松胜任,如果厌烦了Win ...
- linux网络编程-socket(37)
在编程的时候需要加上对应pthread开头的头文件,gcc编译的时候需要加了-lpthread选项 第三个参数是线程的入口参数,函数的参数是void*,返回值是void*,第四个参数传递给线程函数的参 ...
- NET 数据结构-单链表
概念介绍: 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素. 链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元 ...
- Docker部署Python项目
简介 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取的策略就是引入虚拟机,比如在 Wind ...