BizTalk Performance Lab Delivery Guide - Performance Factors in 2004

 

In the BizTalk Server 2004 related MSDN article "BizTalk Server 2004 Performance Characteristics", it list the following Performance Factors which are still relevant for BizTalk Server 2006.

The following factors have the highest impact on BizTalk Server 2004 performance (in no particular order):

  • Message size
    While BizTalk Server 2004 imposes no restriction on message size, practical limits and dependencies might require you to minimize the size of your messages because large messages require more resources for processing. As message size increases, overall throughput (messages processed per second) decreases. Consider the average message size, message type, and number of messages being processed by BizTalk Server 2004 when designing your scenario and planning for capacity. Do not use unnecessarily long attribute and tag names; if possible, keep the length under 50 characters. For example, do not use a 200-character tag name for a message size of only 1 byte.
  • Orchestration complexity
    The complexity of orchestrations has a significant impact on performance. As orchestration complexity increases, overall performance decreases. An infinite variety of customer scenarios use orchestrations, and each scenario might involve different orchestrations of varying complexity. Test your orchestrations and make sure they perform optimally before implementing them in your deployment. For example, use atomic scopes in your orchestration.
  • Schema complexity
    The throughput for message parsing (especially flat-file parsing) is affected by the complexity of the schemas. As schema complexity increases, overall performance decreases. When designing schemas, keep them simple (for example, reduce the length of node names) and make sure they perform optimally to improve overall performance (for example, move promoted properties to the top of the schema to reduce retrieval time).
  • Map complexity
    Map transformation can be resource intensive depending on the complexity of the maps. As map complexity increases, overall performance decreases. To improve overall performance, minimize the number of fields in your maps.
  • Pipeline components
    Because pipeline components have a significant impact on performance (for example, a pass-through pipeline component performs up to 30 percent better than an XML assembler/disassembler pipeline component), make sure that any custom pipeline components perform optimally before implementing them in your deployment. For example, you can improve overall performance by reducing the message persistence frequency (number of database trips) in your pipeline component, and using proper programming techniques (write high-quality code with minimal redundancy).
  • Tracking data
    The amount of data you track can have a significant impact on performance. As the number of items tracked and the amount of tracking data increases, overall performance decreases. Run the tracking service to move tracking data from the MessageBox database to the Tracking database (BizTalkDTADb). Monitor the Tracking database for disk consumption and growth. Archive and clean up the Tracking database regularly (move, back up, and delete old files).
  • Message-persistence frequency
    BizTalk Server commits write operations to the MessageBox database, which stores messages and state information for particular message instances. This persistence allows BizTalk Server 2004 to ensure data integrity, security, and reliability. As message-persistence frequency (the number of times that data needs to be persisted) increases, overall performance decreases. Whenever possible, reduce the frequency at which data needs to be persisted to the message box. For example, group multiple message-persistence points into one scope.
  • Transport adapters
    While scenarios define the particular transport adapters that are required, different transport adapters have different settings that you can modify to improve performance. For example, separate orchestration and adapter functionality into separate BizTalk Server hosts to minimize resource contention. Plan to accommodate the potential security threats associated with separating BizTalk Server elements into different hosts.

Host configuration is also a significant factor for performance. BizTalk Server 2004 supports the isolation of individual components (including orchestrations, adapters, and pipelines) into separate hosts, which are logical entities with specific functionality. For more information about hosts, see Creating Scalable Configurations in the BizTalk Server 2004 product documentation.