Wednesday, December 19, 2007

Understand BizTalk – Performance Counters – Bottleneck Analysis (Counter: Low % CPU Idle on SQL Server)

Counter: Low % CPU Idle on SQL Server

Area of Analysis:
- Check if DBA changed any of the default database settings set by the BizTalk installation.
- Max Degree of Parallelism are set to off Auto-Update Statistics and Max Degree of Parallelism are set to off and 1 respectively on purpose.

Possible Solutions:
- Minimize the number persistence points in your orchestrations.
- Use static methods instead of wrapping nonserializable components in atomic scopes.
- Avoid using Parallel shapes, except when needed.
- In a multi-Message box scenario, ensure that you have at least three Message boxes. The master Message box is doing all the routing to secondary Message boxes, which is CPU intensive. Whenever you are using multiple Message boxes, Microsoft’s distributed Transaction Coordinator (DTC) is involved; therefore you need to jump from one Message box to three instead of only two to offset that overhead.