Slow/Poor 使用 xml 在 SSIS 上的性能

Slow/Poor Performance on SSIS with xml

我是 SSIS 的新手,我遇到了这个问题:

我有超过 100.000 个 xml 文件,每个大约 16kb 大。他们有大约 200 列和一个主键。其中一些仅用于更新。 我必须用数据填充数据库,但每个文件到 load/update 大约需要 1.5 秒。我正在使用 VS 2015 和 MS SQL。 我只想在工作时间内创建数据库,现在大约需要 44 小时,这似乎很荒谬。 (之后每天更新大约只有10个xml个文件。)

我的 SSIS ControlFlow 看起来像:

我的 SSIS 数据流看起来像:

我不知道如何提高性能。

我尝试过的事情: 设置 Ole DB = Rows per batch 5000 并使用快速加载

即使我只插入 xml(由于我没有更新而以错误结束),它也需要很多时间(每个文件大约 1 秒)。

如有任何帮助,我们将不胜感激。

我刚刚一直在做类似的事情,并且发现了同样的管理费用问题。我想我会分享我唯一的工作 - 并行处理。

所以首先计算出您的服务器有多少个内核可用。根据经验,每个核心可以有一个进程。

然后你可以为你的机器的每个核心创建一个收件箱文件夹(假设你有四个核心):

  • 收件箱 1
  • 收件箱 2
  • 收件箱 3
  • 收件箱 4

然后进入你的 SSIS,你在控制流中有 foreach 循环,复制这个过程四次,但不要连接它们(这样它们 运行 单独)。

最后进入每个 foreach 循环并编辑每个循环,使其从不同的收件箱中提取。

您显然需要将文件剪切并粘贴到每个收件箱中,但它会 运行 四个并行执行相同操作的数据流。即你应该在过去加载一个文件的同时加载四个文件。