MS Dynamics CRM 365(在线) - 使用ExecuteMultipleRequest插入自定义实体记录的性能问题

时间:2017-11-08 15:59:55

标签: dynamics-crm dynamics-crm-online dynamics-crm-365

我正在调用ExecuteMultipleRequest一次插入25个自定义实体的记录。每批约需20秒。 有关自定义实体的一些信息:

  • 我没有创建其架构,也无法更改;
  • 它有124个属性(colums);

在每个CreateRequest上,实体有6个属性值:2 Lookup和4 Money。正在从企业网络中的中间件组件调用ExecuteMultipleRequest,该组件连接到云中的CRM。使用的CRM实例是一个沙箱,因此它可能有一些限制(CPU /带宽/ IO /等),我不知道。

我可以发出并发请求,但考虑到每个组织只能有2个并发请求(https://msdn.microsoft.com/en-au/library/jj863631.aspx#limitations),它只能将时间缩短一半。那仍然不是一个可行的时间。 对于每个创建的新自定义CRM流程,我需要在不到10分钟的时间内加载最多5000个实体记录。

我该怎么做才能提高此负载的性能?我应该在哪里看? DataImport(https://msdn.microsoft.com/en-us/library/hh547396.aspx)会比ExecuteMultipleRequest更快吗?

1 个答案:

答案 0 :(得分:0)

只有真正得到了相关的建议,你可能需要进行实验和调查才能看到对你有用的东西。

  1. 您是否可以在靠近CRM Online网站的物理位置运行中间件应用程序?

  2. ExecuteMultipleRequest支持更大的批量,最多1000个。

  3. 您是否只使用过一次执行请求进行比较。

  4. 数据导入运行时,CRM中是否有大量流程(工作流程,插件)?这会对性能产生很大影响。也许这些可以在数据导入期间禁用。例如。您可以在导入之前预处理数据,因此不需要执行插件。

  5. 并发请求限制仅适用于ExecuteMultipleRequest,您是否尝试过运行大量并行单个执行请求?