如何使用 Benchmark 测试 Microsoft Dynamics CRM 2016 Plug_ins
How to test Microsoft Dynamics CRM 2016 Plug_ins with Benchmark
我正在使用 Dynamics CRM 2016,我开发了指定的 plug_ins。
在我的第一次测试中,我的进程停留的时间太长以至于显示 time out exception
。
我优化了我的代码,重新组织了我的 plug_ins,然后我第二次测试了。它现在性能更高 但我需要一些措施或静力学 。
我被告知要使用 Benchmark,但我找不到任何使用文档。
请帮助我将 Benchmark 集成到我的 Dynamics CRM 2016 流程中,我卡在这里了。
不确定 Benchmark 是什么,但您可以使用插件注册工具包在本地调试您的插件,或者您可以添加跟踪语句并提供您自己的计时来找出什么花费了这么长时间。
我最好的猜测是您正在 运行 更新实体,更新实体,这反过来又导致您的插件再次触发,更新实体,这又导致您的插件再次触发,更新实体...无限循环,然后在 2 分钟后被 CRM 关闭。
此外,除了 Daryl 所说的之外,请确保您不会一次提取那么多记录,因为每个查询都有最大允许执行时间。
尽可能尝试使用服务器端分页。并将列/属性的数量限制为您实际需要的最小值。
如果您使用的是 OnPrem,则可以为此使用 SQL 监视器,例如,查明您是否有任何锁、长查询等...
凭借一些 SQL 执行计划魔法和一些耐心,您可以改善那里的任何瓶颈,并获得查询执行时间。
现在,如果那是一个在线 CRM,那么您在是否可以监控方面将受到更多限制。
祝你好运!
在 CRM 2016 中,当您使用 ITracingService.Trace
时,输出将写入 Plugin Trace Log
实体(在系统设置中激活它,实体本身可在设置区域中找到)。
可以简单的用tracing写点东西(即"START"在Execute
方法的开头,"END"在结尾),然后看Plugin Trace Log实体其中(像所有实体一样)有 createdon
字段。
附带说明一下,当需要对插件进行基准测试时,最有可能的是让它更快(如果插件需要 2 秒才能 运行,基准测试变得无关紧要)
我正在使用 Dynamics CRM 2016,我开发了指定的 plug_ins。
在我的第一次测试中,我的进程停留的时间太长以至于显示 time out exception
。
我优化了我的代码,重新组织了我的 plug_ins,然后我第二次测试了。它现在性能更高 但我需要一些措施或静力学 。
我被告知要使用 Benchmark,但我找不到任何使用文档。
请帮助我将 Benchmark 集成到我的 Dynamics CRM 2016 流程中,我卡在这里了。
不确定 Benchmark 是什么,但您可以使用插件注册工具包在本地调试您的插件,或者您可以添加跟踪语句并提供您自己的计时来找出什么花费了这么长时间。
我最好的猜测是您正在 运行 更新实体,更新实体,这反过来又导致您的插件再次触发,更新实体,这又导致您的插件再次触发,更新实体...无限循环,然后在 2 分钟后被 CRM 关闭。
此外,除了 Daryl 所说的之外,请确保您不会一次提取那么多记录,因为每个查询都有最大允许执行时间。
尽可能尝试使用服务器端分页。并将列/属性的数量限制为您实际需要的最小值。
如果您使用的是 OnPrem,则可以为此使用 SQL 监视器,例如,查明您是否有任何锁、长查询等...
凭借一些 SQL 执行计划魔法和一些耐心,您可以改善那里的任何瓶颈,并获得查询执行时间。
现在,如果那是一个在线 CRM,那么您在是否可以监控方面将受到更多限制。
祝你好运!
在 CRM 2016 中,当您使用 ITracingService.Trace
时,输出将写入 Plugin Trace Log
实体(在系统设置中激活它,实体本身可在设置区域中找到)。
可以简单的用tracing写点东西(即"START"在Execute
方法的开头,"END"在结尾),然后看Plugin Trace Log实体其中(像所有实体一样)有 createdon
字段。
附带说明一下,当需要对插件进行基准测试时,最有可能的是让它更快(如果插件需要 2 秒才能 运行,基准测试变得无关紧要)