[英]MS Dynamics CRM 365 (online) - Performance issue inserting custom entity records with ExecuteMultipleRequest
I'm calling ExecuteMultipleRequest
to insert 25 records of a custom entity at a time. 我正在调用
ExecuteMultipleRequest
插入25个自定义实体的记录。 Each batch is taking roughly 20 seconds. 每一批大约需要20秒。 Some info about the custom entity:
有关自定义实体的一些信息:
On each CreateRequest
the entity has 6 attribute values filled: 2 Lookup and 4 Money. 在每个
CreateRequest
,实体具有6个属性值填充:2个Lookup和4个Money。 ExecuteMultipleRequest
is being called from a middleware component in a corporate network, which connects to the CRM in the cloud. 从公司网络中的中间件组件调用
ExecuteMultipleRequest
,该公司网络连接到云中的CRM。 The CRM instance used is a sandbox, so it may have some restrictions (CPU/bandwidth/IO/etc), that I'm not aware of. 使用的CRM实例是一个沙箱,因此可能存在一些我不知道的限制(CPU /带宽/ IO /等)。
I can issue concurrent requests, but considering I can only have 2 concurrent requests per organization ( https://msdn.microsoft.com/en-au/library/jj863631.aspx#limitations ), it would only cut the time in half. 我可以发出并发请求,但是考虑到每个组织只能有2个并发请求( https://msdn.microsoft.com/en-au/library/jj863631.aspx#limitations ),这只会节省一半的时间。 That is still not a viable time.
那仍然不是一个可行的时间。 For each new custom CRM process created I need to load at most 5000 entity records, in less than 10 minutes.
对于创建的每个新的自定义CRM流程,我需要在不到10分钟的时间内加载最多5000个实体记录。
What can I do to improve the performance of this load? 我该怎么做才能改善此负载的性能? Where should I be looking at?
我应该在哪里看? Would a DataImport ( https://msdn.microsoft.com/en-us/library/hh547396.aspx ) be faster than
ExecuteMultipleRequest
? DataImport( https://msdn.microsoft.com/zh-cn/library/hh547396.aspx )是否比
ExecuteMultipleRequest
更快?
Only really got suggestions for this, you would probably have to experiment and investigate to see what works for you. 对此只有真正的建议,您可能必须进行实验和调查,才能找到适合您的方法。
Can you run your middleware application in a physical location closer to your CRM Online site? 您可以在更靠近CRM Online站点的物理位置中运行中间件应用程序吗?
ExecuteMultipleRequest
supports much larger batch sizes, up to 1000. ExecuteMultipleRequest
支持更大的批处理大小,最大为1000。
Have you compared to just using a single execute request. 与仅使用一个执行请求相比,您有吗?
Do you have lots of processes (workflows, plugins) that occur in CRM when the data import is running? 运行数据导入时,您在CRM中是否有很多流程(工作流,插件)? This can have a big performance impact.
这会对性能产生重大影响。 Perhaps these can be disabled during data import.
也许可以在数据导入期间禁用这些功能。 Eg you could pre-process the data before import so a plugin wouldnt need to be executed.
例如,您可以在导入之前对数据进行预处理,因此无需执行插件。
The concurrent requests limitation only applied to ExecuteMultipleRequest
, have you tried running lots of parallel single execute requests? 并发请求限制仅适用于
ExecuteMultipleRequest
,您是否尝试过运行大量并行的单执行请求?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.