我们有一个BizTalk 2010接收位置,它将获得一个70MB的文件,然后使用入站地图(在接收位置)和出站地图(在发送端口)生成1GB文件。
执行上述过程时,SQL Server中会消耗大量磁盘I / O资源。另一个接收位置处理性能受到很大影响。
我们已尝试减少该接收位置的主机实例中的最大磁盘I / O线程,但它仍占用SQL Server中的大量磁盘I / O资源。
实际上这个过程的优先级非常低。是否有任何方法可以减少此进程的磁盘I / O资源使用情况,以便其他进程可以正常运行?
答案 0 :(得分:1)
此问题与文件输入的速度无关,但正如您在评论中提到的那样,当尝试将1gb地图输出持久保存到MessageBox时,它会在消息框上放置加载。您可以在此处选择一些选项,以尽量减少这对其他流程的影响:
也值得一看你的地图。如果有很多慢/处理器重的呼叫,你可以重构它。
答案 1 :(得分:0)
理想情况下,你应该取消该文件。在每个单独的段上应用包括映射的业务逻辑,然后一次将它们加载到一个sql中。稍后您可以使用管道或其他一些.NET组件从SQL中提取数据并重新分配数据。在BizTalk消息框中处理大xml(与平面文件相比大小为10倍)不是一个很好的做法。 但是,如果它是纯消息传递方案,则可以将文件转换为流并将其路由到目标。