我正在使用 Dynamics CRM 201 6,我开发了指定的plug_ins。
在我的第一次测试中,我的流程保持很长时间,显示time out exception
。
我优化了我的代码,重新设置了我的plug_ins,而不是我第二次测试。它现在性能更强但我需要一些措施或静电 我被告知使用Benchmark但我找不到任何使用文档 请帮助我在我的Dynamics CRM 2016流程中集成Benchmark,我被困在这里。
答案 0 :(得分:0)
不确定Benchmark是什么,但你可以使用插件注册工具包在本地调试你的插件,或者你可以添加跟踪语句并提供你自己的时间来弄清楚花了这么长时间。
我最好的猜测是,您正在运行实体更新,并更新实体,这反过来导致您的插件再次触发,更新实体,从而导致您的插件触发再次,更新实体......无限循环,然后在CRM 2分钟后关闭。
答案 1 :(得分:0)
此外,除了Daryl所说的内容之外,请确保您不会同时删除这么多记录,因为每个查询都有最大允许执行时间。
尽可能尝试使用服务器端分页。并将列/属性的数量限制为您实际需要的最小值。
如果您使用的是OnPrem,可以使用SQL Monitor,例如,查看您是否有任何锁,长查询等...
通过一些SQL执行计划的魔力和一些耐心,您可以改善那里的任何瓶颈,并获得查询执行时间。
现在,如果这是一个在线CRM,那么您是否可以监控的内容将会受到更多限制。
祝你好运!答案 2 :(得分:0)
在CRM 2016中,当您使用ITracingService.Trace
时,输出将写入Plugin Trace Log
实体内(在“系统设置”中激活,实体本身可在“设置”区域中找到)。
您可以简单地使用跟踪来编写某些内容(即" START"在Execute
方法的开头和" END"在结尾处),然后查看插件跟踪日志实体(与所有实体一样)具有createdon
字段。
另一方面,当对插件进行基准测试变得可取时,应该最有可能使其更快(如果插件需要2秒才能运行,基准测试就变得无关紧要了)