我们有很多在 CRM 中更新/创建记录的 SSIS 包。
一些实体,如, contact
(我们的自定义实体来保存所有帐户类型),而我们正在迁移 SQL 机器(有 20 个处理器)中面临性能低下和 CPU 高的记录。但通常对于其他自定义实体,我们没有任何缓慢或问题。account
customer product
而要做这些操作,我们使用 KingswaySoft 应用程序。
假设我有一个名为 CASA 的 SSIS 包,如果我用 10.000 个数据执行这个包,我可以在不到 1 分钟的时间内完成我的过程。但是如果我想用 250.000 个数据执行,包应该在半小时内完成,但几乎需要 1.5 - 2 小时。
我们尝试了下面的组合,但它们都没有给 CPU 带来好的结果,而且它们几乎都在同一时间给出了很好的结果。
我们不明白为什么在数据较少的情况下一切都可以这么快完成,但无法处理更大的数据。
我们实现了查询发送到 businessprocessflow 的每条记录,以检查其上是否存在已识别的业务流程,并且这也使用了大量的 CPU。但是,当您在实体上启用业务流程选项时,就没有办法回头了。
我们在本地使用 CRM。
Thread: 64, Batch: 250, AutoAdjustBufferSize: True, Default Buffer Max Rows: 1.000.000
CPU was 90 percent
Thread: 32, Batch: 250, AutoAdjustBufferSize: True, Default Buffer Max Rows: 1.000.000
CPU was around 90 percent
Thread: 20, Batch: 250, AutoAdjustBufferSize: True, Default Buffer Max Rows: 1.000.000
CPU was around 80 percent
Thread: 40, Batch: 100, AutoAdjustBufferSize: True, Default Buffer Max Rows: 1.000.000
CPU was around 80 percent
Thread: 20, Batch: 250, AutoAdjustBufferSize: False, Default Buffer Max Rows: 400.000,
DefaultBufferSize: 50.000.000
CPU was around 80 percent
有一个选项叫做Engine thread
. 默认情况下它设置为 10,我们尝试将其减少到 1,2 没有任何改变。