I am trying to consolidate few perfmon parameters and statistic counters to measure and improve BizTalk Server performance; these can be very important indicators and mirror your landscape.
Hope you like my efforts...
Counter: Low % CPU Idle (On BizTalk Server)
Area of Analysis
- Too many hosts running on the server
- Improper use of custom pipelines
- Custom components requiring optimization
- Isolate receive, process, and send functionality into different hosts and run host instances on different servers within the BizTalk Server Group
- Move message transformation out of orchestrations to your ports to avoid the creation of new copies
- Move message filters to your ports and receive locations
- Optimize your schema. Large schemas reduce performance
- Use distinguished fields in orchestrations rather than properties or XPath
- Use pass-through pipelines whenever possible
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
- Minimize the number persistence points in your orchestrations
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.
Counters: Low % Disk Idle on SQL Server High Avg. Disk Queue Length on SQL Server
Area of Analysis
- Check whether the tracking database and Message box are on the same disks
- Check whether the data and log files are on the same disks
- Check the log sizes
- Use a SAN
- Ensure that the tracking and Message-box databases are on different servers
- If they are on the same server, ensure that they are on different disks
- Ensure that the data and log files are not sharing the same disks. Make sure the BizTalk agents are enabled on the server. The agents copy tracking data from the Message box to the tracking database. They also back up the databases and clean up the logs.
You can find more articles on BizTalk performance at My Blog's Label (BizTalk Performance)
BizTalk SSIS WCF Blog (http://biztalk-ssis-ssas.blogspot.com)
Thanks a lot!
- 27th December, 2007: Initial post
My primary skill set comprise of EAI, ETL and EDI with immense experience in Microsoft BizTalk v2004/2006/R2, Web Services, .net v2.0/3.0 (WCF, WWF), SQL Server 2000/2005 (SSIS/SSAS/BIDS). I have very good proficiency with the BizTalk 2004/2006, SSIS, SS Service Broker, Workflows and MS SOA supportive technologies like WCF/MSWSE 2.0, with thorough knowledge of various Integration System Development Strategies like integration patterns, EAI concepts, B2B integration and securities, SOA. Specialties: BizTalk v2004/2006/R2, SSIS, SSAS, .net 2.0/3.0, WinCF, WinWF, Host Integration Server 2004/2006
Personal Technology Blog: http://biztalk-ssis-ssas.blogspot.com/