您的位置:首页 > 其它

Biztalk Server------影响Biztalk Server性能的因素

2009-03-20 16:29 537 查看
1. Message大小

Biztalk Server对消息的大小没有实质性约束。但是,越大的消息意味着更多的处理资源。如果消息大小超过"Group Properties"中的"Large message fragment size"设置,引擎会在内存中拆分消息并且存储到MessageBox中。每个消息片段意味这一个新的MSDTC, 而且SQL Server中分批存储消息时会用到更多的Lock对象。

2. Schema复杂度

Schema复杂度影响消息解析的性能。在定义Schema时,尽量把节点名设置得短些,并且尽量把可能Promotion的节点放在Xsd的前面。

3. Map复杂度

为了提高总体性能,尽量减小Link, Functoids的数目,尤其是使用外部资源的方法调用。

4. Pipeline组件

尽量减少管道组件的个数。对于可能造成潜在性能问题的组件需要进行严格的压力测试。在自定义组件中,尽量避免使用XmlDocument对象处理消息。对于消息的读操作,尽量使用XmlTextReader配合VitualStream, ReadOnlySeekableStream,SeekAbleReadOnlyStream来实现。对于管道中的属性,如果不被用作消息订阅,那么使用IBaseMessageContext.Write方法而不是Promote方法。在管道中,对资源的请求要尽量晚,释放要尽量早。如果需要使用XPath获取消息流中某节点的值,避免使用SelectNodes 方法。而是使用SeekAbleReadOnlyStream,结合Microsoft.BizTalk.XPathReader.dll中的XPathReader类ReadUntilMatch等方法定位目标值。

5. 跟踪消息

消息跟踪对整体性能有明显的影响。TDDS服务会把MessageBox中的消息转移到DTA数据库中。因此,对DTA数据库备份和HouseKeeping对降低磁盘占用量是很有帮助的。

6. 消息持久频率

Message的内容以及状态信息都会被引擎作为写操作的一部分提交给MessageBox数据库。因此,消息持久化太频繁,会直接影响服务器性能。开发者可以考虑把多个消息持久点放在一个Scope中。

7. 传输适配器

传输适配器的不同参数设置会影响整个应用的性能。

8. 影响BAM性能的因素

没有用过BAM......

9. Host配置

参考Host配置指南。

10.Orchestration设计

之前的博客中谈论过。

11. Delivery Notification

引擎需要在MessageBox中创建内部的订阅,对性能有负面影响。只有确实需要才使用。

12. 文本文件Xsd的定义

对于包含很多可选节点带二义性的Xsd,解析引擎需要尝试多种解析策略。对于比较大的文本文件,这会对性能造成严重的影响。

13. 影响BRE性能的因素

没有用过BAM......

Original:Biztalk Server Performance Optimise Guide from MS
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: