我在Biztalk中运行应用程序时遇到问题。它正在处理大量数据,并对SAP进行大量调用(每个输入文件有数千个调用)。问题是,到SQL server的流量比到SAP的流量大10倍。
我怀疑有一些消息被Biztalk持久化到数据库中,这些消息在那个阶段是可以避免或不需要的。
为了提供一些数字,对3个文件的处理为我提供了大约5-6个持久化点/sec和1MB/s到SQL server的流量。
有没有办法查看数据库中持久化的内容和每个消息/对象的大小?
发布于 2014-06-11 22:38:55
编排引擎将在每个持久化点持久化所有作用域内的变量。
虽然无法更改该行为,但您可以通过以下方式减少持久化日期的数量:
将消息变量的作用域保持在可能的最低级别,如作用域形状,而不是全局(在编排level).
不幸的是,您可能会发现两者不一致,因为添加作用域可能会创建一个新的持久化点。
持久化点在这里列出:http://blogs.msdn.com/b/sanket/archive/2006/11/12/understanding-persistence-points-in-biztalk-orchestration.aspx
但是,请记住,您正在观察的是产品的预期行为。仅仅因为Send形状可能花费200ms的持久化时间本身并不是问题。除非您受到严重的资源限制,并且这会对SLA造成可衡量的影响,否则我不会三思而后行。
https://stackoverflow.com/questions/24161433
复制相似问题