导航

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

Posted on 2009-03-20 16:29  鸡尾虾的壳  阅读(250)  评论(0编辑  收藏  举报

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