360 likes | 555 Views
Microsoft BizTalk Server End-to-End Performance Testing Guidance. Paolo Salvatori Principal Program Manager BizTalk Customer Advisory Team Microsoft. CSD CX Field Engagement Teams. CX Field Engagement Teams.
E N D
Microsoft BizTalk Server End-to-End Performance Testing Guidance Paolo Salvatori Principal Program Manager BizTalk Customer Advisory Team Microsoft
CSD CX Field Engagement Teams CX Field Engagement Teams Institutionalized services delivered by specialized product team to support field and partner resources in the sale, delivery and on-going support of BizTalk projects Field PM Customer Advisory Team Customer Response Engineering • Opportunity development • Sales Assistance • Readiness and Training • POC, Pilot • Virtual TS team • ADS • District Planning • Reactive services • Proactive Services • Architecture Design Review • Operational Readiness Review • Performance and Stability Review • Field Services Enablement • Key Learnings • Product Escalations • QFE & DCR • Service Packs • Beta Support • Serviceability Field and Partner Resources MCS, PFE, Partners, Virtual TS TS & SSP Partners, Virtual TS CSS, Premier Field Engineering, Partners 2
Session Agenda • Platform Tuning • BizTalk Server performance assessment • Methodology • Tools • BizTalk 2009 Performance Lab
Key LearningsPlatform Tuning • Windows Operating System • Adjust Windows Server 2003/2008 for best performance • Adjust TCPIP and networking parameters • Adjust IIS for best performance • Use a separate disk for PAGEFILE • Stop unnecessary services (e.g Print Spooler) • Install Patches and Hot fixes. • BizTalk Server • Adjust the .NET Thread pool size • Split up the sending, receiving, processing, and tracking into multiple hosts • Reduce the MaxReceiveInterval (default 500ms) for low latency scenarios
Key LearningsSQL Performance • Isolate BizTalk data and transaction log files • Pre-allocate space to prevent autogrowth at runtime • Create multiple data files of the same size, one for each available core on the SQL machine, for the TempDb • Add filegroups and files to the BizTalkMsgBoxDb • Scaling up the SQL Server resources • CPU, Disk, Memory • Separating BizTalk Databases across servers • Multiple MessageBox databases • Configure DTA Purge and Archive job
BizTalk Server Performance Optimizations Guide MSDN http://msdn.microsoft.com/en-us/library/cc558617.aspx TechNethttp://technet.microsoft.com/en-us/library/cc558617.aspx
Session Agenda • Platform Tuning • BizTalk Server performance assessment • Methodology • Tools • BizTalk 2009 Performance Lab
Assessing Application Performance • The usual story • We all know testing is important for every solution • Testing is neglected • This is a problem • Solutions using BizTalk tend to be mission and business critical and tolerate little downtime • Poor testing increases the risk profile of your project
Minimize Projects Risk • Unit testing • Functional testing • Integration testing • User acceptance testing • Disaster recovery testing/dry runs • Overload testing • Performance assessment Effective testing reduces your project risk
Session Agenda • Platform Tuning • BizTalk Server performance assessment • Methodology • Tools • BizTalk 2009 Performance Lab
BizTalk Performance Assessment • An end to end process with a set of goals and objectives • Occurs over a set period of time • It requires a team of individuals with the right skill sets to “tune the stack” • Iterative knowledge transfer process POC Performance Assessment Design & Deliver Operate Optimize Pre-Live Performance Assessment Post-Live Performance Assessment
ScopeEngagement Summary • Determine resource requirements • What scenarios are you testing • What technologies are involved • What adapters are needed • SAN requirements • 32 bit vs. 64 bit • Other requirements • Throughput • Latency • Document all information! • Guidelines, Goals, Constraints, etc. • Staff the right people
ScopeDefining Goals • Provide objectives and success criteria for the lab • Goals should cover • Performance metrics • Throughput, Latency • Roles and Responsibilities • Deliverables • Define any constraints • Is hardware fixed? • Scale up/out BizTalk/SQL • Can third party systems be scaled out? • Web servers, MQ Series, Custom DB’s
ScopeDefining Goals (Example) Objective Measure the Maximum Sustainable Throughput (MST) for the given use cases with different hardware configurations. Test Case 1 Messaging-Only scenario Throughput : 50 messages/sec sustainable Latency: response time < 2 sec for 90% of messages Test Case 2 Payment service BizTalk orchestration Throughput : 3.6 million messages within an 8 hour period (125 messages/second) Latency : N/A
PlanDetermining Resource Requirements Timeline • 2 Weeks of preparation time • 2 Weeks for the execution phase • 1 Week to document findings Expertise required • MQSeries, SQL Server, IIS, SAN Specialist Hardware request • SAN Storage (HBA, LUNs), Networking, Clustering Lab space • Appropriate space, whiteboard, projector, security of room
PlanSample Timeline 6 3 2 1 4 5
Prepare • Detailed Solution Design • Code complete • Invest in test assets • Build/Deploy • MSBUILD, MSI, BTSTask, Scripts • Functional test • BizUnit, Visual Studio • Load test • Loadgen, Visual Studio
Building The Lab EnvironmentInstallation and Configuration • Infrastructure • RAID10/0+1? • Databases and logs separated • Database autogrowth • Virus scanning software • Third party systems • Non-default values, scale-out options • BizTalk • Host configuration • Message tracking • Adapter configuration
Building The Lab Environment • Performance monitoring • Deployment • MSBuild, BTSTask, MSI • Functional testing • Validate automated load test • Document Solution Performance Baseline • Latency • Throughput • Spool depth • etc
Executing the Performance Lab Assessment High Level Flow • Run automated test • BizUnit, VSTS, LoadGen • Document results • KPIs, Check after every run • Tuning for performance • One modification at a time • Perform platform modifications
Session Agenda • Platform Tuning • BizTalk Server performance assessment • Methodology • Tools • BizTalk 2009 Performance Lab
Helpful Tools • Visual Studio Test Edition • BizTalk Best Practices Analyzer • PerfMon • LoadGen • BizUnit • Log Man • Relog • Log Parser • PAL • SQLIO • BizTalk Orchestration Profiler
Session Agenda • Platform Tuning • BizTalk Server performance assessment • Methodology • Tools • BizTalk 2009 Performance Lab
BizTalk 2009 Performance Lab Goals Technical Goals: • Quantify BizTalk Server 2009 (2009) vs. BizTalk Server 2006 R2 (R2) • Quantify performance of BizTalk Server 2009 on “Hyper-V” Use Case 1: Logical Ports WCF Orchestration scenario Use Case 2: Inline Sends Orchestration Scenario Conditions: • Perform optimizations on BizTalk 2009, R2, Hyper-V • Determine delta of: • Throughput # of calls within 8 hours • Latency • Identical infrastructure for all platforms • Apply infrastructure optimizations first, then application optimizations
Messages • Request Message • Response Message <CalculatorRequestxmlns="http://..."> <Method>LogicalPortsOrchestration</Method> <Operations> <Operation> <Operator>+</Operator> <Operand1>82</Operand1> <Operand2>18</Operand2> </Operation> <Operation> <Operator>-</Operator> <Operand1>30</Operand1> <Operand2>12</Operand2> </Operation> <Operation> <Operator>*</Operator> <Operand1>25</Operand1> <Operand2>8</Operand2> </Operation> <Operation> <Operator>\</Operator> <Operand1>100</Operand1> <Operand2>25</Operand2> </Operation> <Operation> <Operator>+</Operator> <Operand1>100</Operand1> <Operand2>32</Operand2> </Operation> </Operations> </CalculatorRequest> <CalculatorResponsexmlns="http://..."> <Status>Ok</Status> <Results> <Result> <Value>100</Value> <Error>None</Error> </Result> <Result> <Value>18</Value> <Error>None</Error> </Result> <Result> <Value>200</Value> <Error>None</Error> </Result> <Result> <Value>4</Value> <Error>None</Error> </Result> <Result> <Value>132</Value> <Error>None</Error> </Result> </Results> </CalculatorResponse>
Inline Sends and Logical Ports Logical Port Orchestration Vs. Inline Sends Orchestration
Lab Hardware Kit - Overview 8 9 1 3 5 7 2 4 6
Optimizing Platform Results Summary • ~27% throughput improvement R2 • ~77% throughput improvement 2009 • *Excessive dehydration was occurring, dehydration settings were non-optimal for 64 bit host • ~25% latency improvement R2 • ~45% latency improvement 2009 1 2 3 4 7 8 5 6
Optimizing Application Results Summary 1 2 3 4 7 8 5 6
Hyper-V Results To Complete • Hyper-V provides ~87% throughput* • Hyper V ~15% worse latency* *Note: Calculated from Logical Ports Test 1 2 3 4 8 5 7 6
Resources • Microsoft BizTalk Server Performance Optimization Guide • http://msdn.microsoft.com/en-us/library/cc558617.aspx • Microsoft BizTalk Server Operations Guide • http://msdn.microsoft.com/en-us/library/cc296643.aspx • BizTalk Server 2006 R2 Hyper-V Guide • http://msdn.microsoft.com/en-us/library/cc768518.aspx • BizTalk Server Database Optimization • http://msdn.microsoft.com/en-us/library/bb743398.aspx • Developing Integration Solutions using BizTalk Server 2006 and Team Foundation Server • http://www.microsoft.com/downloads/details.aspx?FamilyID=ed7bd0ee-1385-4041-8f2a-354594ee88f3&DisplayLang=en • Using the Windows Communication Foundation (WCF) Adapters in BizTalk Server • http://www.microsoft.com/downloads/details.aspx?familyid=a976dc7d-2296-4f88-be4d-0d314fca9e59&displaylang=en&tm
Resources • BizTalk Server 2006: Managing a Successful Performance Lab • http://msdn2.microsoft.com/en-us/library/aa972201.aspx • Scaling Your Solutions • http://msdn2.microsoft.com/en-us/library/aa561567.aspx • Configuration Parameters that Affect Adapter Performance • http://msdn2.microsoft.com/en-us/library/aa561380.aspx • Persistence and the Orchestration Engine • http://msdn2.microsoft.com/en-us/library/aa547090.aspx • Troubleshooting MessageBox Latency Issues • http://msdn2.microsoft.com/en-us/library/aa561709.aspx • Performance Tips and Tricks • http://msdn2.microsoft.com/en-us/library/aa560694.aspx • Rule Engine Configuration and Tuning Parameters • http://technet.microsoft.com/en-us/library/aa548008.aspx • Performance Considerations When Using the Rule Engine • http://msdn2.microsoft.com/en-us/library/aa952929.aspx
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.