Conducting a performance lab is largely a matter of investigating and discovering the existence of various bottlenecks, then finding a way to resolve the bottleneck to allow for either more throughput or lower latency. In this section are descriptions of various types of performance bottlenecks as they relate to BizTalk Server solutions and some information about how to discover their existence and resolve them when possible.
Before delving into the specific guidance below, it is recommended that the reader digest the following sections from the product documentation
In the sections below, we will first discuss High-Level BizTalk System Bottlenecks and then we will get into discussions of Specific Types of Performance Bottlenecks.
It is important when dealing with complex systems, which BizTalk solutions tend to be, to take a top down approach when attempting to isolate specific performance problems. Looking at the system as a whole, checking some ‘usual suspects' and doing some initial tests can often save time and provide a methodical approach to deciding which specific bottleneck tests to conduct.
In this section, various types of Performance Bottlenecks will be discussed. For each type of Bottleneck we will include some information specific to that type of bottleneck. The following subsections will be included for each type of bottleneck.
You Might have a TypeX Bottleneck if...
This subsection will discuss the types of "software smells" and other indications that might lead someone to suspect each particular type of bottleneck.
This subsection will discuss the specific Performance Counters used when investigating a particular bottleneck. This section will also include information about reasonable values, how counters relate to one another, etc.
This subsection will include information and guidance for how to isolate the specific bottleneck to confirm it's existence.
This section will include information and guidance for how to either remove the bottleneck or work around it.
Some sections will have additional subsections
Some types of bottlenecks will have additional subsystems as needed.