BizTalk 2009: Performance Characteristics on Hyper-V and Physical Platforms Ewan Fairweather & Paolo Salvatori Customer Advisory Team Microsoft
Session Objectives Quantify BizTalk Server 2009 performance vs. BizTalk Server 2006 R2 Quantify performance of BizTalk Server 2009 on “Hyper-V” Provide guidance on how to effectively performance test BizTalk 2009
Session Agenda Background Goals Use cases −R2 vs Performance Comparison −Optimizing platform −Optimizing application design −Hyper-V Performance −Conclusion
CSD CX Field Engagement Teams 4 Reactive services Proactive Services Architecture Design Review Operational Readiness Review Performance and Stability Review Field Services Enablement Key Learnings Field PM Customer Advisory Team Customer Response Engineering CX Field Engagement Teams Field and Partner Resources CSS, Premier Field Engineering, Partners CSS, Premier Field Engineering, Partners MCS, PFE, Partners, Virtual TS MCS, PFE, Partners, Virtual TS TS & SSP Partners, Virtual TS TS & SSP Partners, Virtual TS Opportunity development Sales Assistance Readiness and Training POC, Pilot Virtual TS team ADS District Planning Product Escalations QFE & DCR Service Packs Beta Support Serviceability 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 Services Enablement All Guides are published to: −MSDN, Download Center End to end samples: −Sample application −BizUnit scriptsBizUnit −LogParser scripts −Visual Studio Load Tests RTM + 90 RTM Beta Product Release Cycle CAT & UE Deliver ADR to TAP Customers Deliver MSDN Hyper-V Guidance Performance and Hyper-V Boot Camp Enterprise Customer Engagements Deliver MSDN Performance Guidance Deliver MSDN Operational Guidance Denotes investment Denotes delivery
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 business critical and tolerate little downtime −Poor testing increases the risk profile of your project −This runs the risk of huge technical and political problems −Our labs have shown you can double performance if you are careful
Session Agenda Background Goals Use cases −R2 vs Performance Comparison −Optimizing infrastructure −Optimizing application design −Hyper-V Performance −Conclusion
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 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
Session Agenda Background Goals Use cases −R2 vs Performance Comparison −Optimizing infrastructure −Optimizing application design −Hyper-V Performance −Conclusion
Inline Sends and Logical Ports Vs. Logical Port Orchestration Inline Sends Orchestration
Code Walk-Through Inline Sends and Logical Ports examples
Session Agenda Background Goals Use cases −R2 vs Performance Comparison −Optimizing platform −Optimizing application design −Hyper-V Performance −Conclusion
Lab Hardware Kit - Overview
Detailed SAN Configuration
R2 vs Performance Comparison NameModelCPU Type # of CPUs# of Cores/CPUArchitectureRAMMin Local DisksOSSoftware TAP2X-L04DL380 G5Intel Xeon2 x 2.33 Ghz4x648 GB3 x 72gb 10k SASWin2k8 EE 64bitBizTalk 2009 TAP2X-L03DL380 G5Intel Xeon2 x 2.33 Ghz4x648 GB3 x 72gb 10k SASWin2k8 EE 64bitBizTalk 2009 TAP2X-L02DL380 G5Intel Xeon2 x 2.33 Ghz4x648 GB3 x 72gb 10k SAS Win2k3 R2 SP2 EE 64bit BizTalk 2006 R2 TAP2X-L01DL380 G5Intel Xeon2 x 2.33 Ghz4x648 GB3 x 72gb 10k SAS Win2k3 R2 SP2 EE 64bit BizTalk 2006 R2 TAP4x-M01BL680Intel Xeon4 Proc (Ghz TBC)4x6432GB3 x 72gb 10k SAS Win2k3 R2 SP2 EE 64bit SQL Server 2005 TAP4x-O01BL680Intel Xeon4 Proc (Ghz TBC)4x6432GB3 x 72gb 10k SASWin2k8 EE 64bitSQL Server 2008 Vs.
Platform Optimizations They are grouped into the following categories: −Platform Optimizations −SQL Server Optimizations: General (all SQL Servers) −SQL Server Optimizations: BizTalk Databases −BizTalk Optimizations If appropriate: −SQL Server Optimizations: Custom Databases
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 Test Concurrent Test Client Users Messages Per Second Avg Response (s) % < 3 seconds Messages Per Day Test Length Test Case 1 Baseline R2 – 32 Bit Orch ~1,309, minutes bit Orch ~987, minutes Test Case 1 Optimized R2 64 bit Orch ~1,672, minutes 2009* 64 Bit Orch ~1,746, minutes
Troubleshooting Dehydration Counters to use: −Process\Virtual Bytes VirtualMemoryThrottlingCriteria −Process\Private Bytes PrivateMemoryThrottlingCriteria SettingOriginal (MB)Optimization Applied (MB) Virtual Memory Private Memory50700
Perfmon: Virtual & Private Bytes
Optimizing Dehydration Default Optimized SettingCounter To Use VirtualMemoryThrottlingCriteria Process\Virtual Bytes PrivateMemoryThrottlingCriteria Process\Private Bytes
Dehydration Optimization Summary Test Concurrent Test Client Users Messages Per Second Avg Response (seconds) % < 3 seconds Messages Per Day Test Length 32 Bit Orchestration Host Default Config File R ~1,607, minutes ~1,620, minutes 64 Bit Orchestration Host Default Config File R ~1,314, minutes ~1,310, minutes 64 Bit Orchestration Host –Optimized Config File R ~1,672, minutes ~1,746, minutes Tuning dehydration settings on 64 bit host: Tuning dehydration settings on 64 bit host: Improved throughput by 27% (R2) Improved throughput by 27% (R2) Improved throughput by 33% (2009) Improved throughput by 33% (2009)
Session Agenda Background Goals Use cases −R2 vs Performance Comparison −Optimizing platform −Optimizing application design −Hyper-V Performance −Conclusion
Test Concurrent Test Client Users Messages Per Second Avg Response (sec) % < 3 seconds Messages Per Day Test Length Logical Ports initial increasing by 100 every 4 minutes ~1,869, minutes Inline Sends initial increasing by 100 every 4 minutes ~4,262, minutes Optimizing Application Results Summary Test Concurrent Test Client Users Messages Per Second Avg Response (sec) % < 3 seconds Messages Per Day Test Length Logical Ports ~1,746, minutes Inline Sends ~6,824, minutes
Session Agenda Background Goals Use cases R2 vs performance comparison −Optimizing platform −Optimizing application design Hyper-V Performance Conclusion
Hyper-V Architecture VHD - single file sits on root NTFS volume −Fixed, Dynamic, Differencing Pass-through – exclusive disk access to guest Root Partition I/O Stack Drivers Child Partition I/O Stack VSCs Server Child Partition I/O Stack VSCs Server Hypervisor DevicesProcessorsMemory VMBus Shared Memory VSPs OS Kernel Enlightenments (WS08+)
BizTalk Virtualization Licensing License required for each physical processor License for each virtual processor in each virtual operating system Exception: BizTalk Enterprise Edition −License for the number of physical processors in the server −Enables unlimited Virtual Processors ng-licensing-faq.aspx ng-licensing-faq.aspx
Physical BizTalk 2009 vs. Hyper-V BizTalk 2009 Vs. Physical and Hyper-V BizTalk Servers part of the same Group NameModelCPU Type # of CPUs# of Cores/CPUArchitectureRAMMin Local DisksOSSoftware TAP2X- L06 DL380 G5Intel Xeon2 x 2.33 Ghz4x648 GB 3 x 72gb 10k SAS Win2k8 EE 64bit BizTalk 2009 Hyper-V Images TAP2X- L05 DL380 G5Intel Xeon2 x 2.33 Ghz4x648 GB 3 x 72gb 10k SAS Win2k8 EE 64bit BizTalk 2009 Hyper-V Images TAP2X- L04 DL380 G5Intel Xeon2 x 2.33 Ghz4x648 GB 3 x 72gb 10k SAS Win2k8 EE 64bitBizTalk 2009 TAP2X- L03 DL380 G5Intel Xeon2 x 2.33 Ghz4x648 GB 3 x 72gb 10k SAS Win2k8 EE 64bitBizTalk 2009 TAP4X- O01 BL680Intel Xeon4 Proc (Ghz TBC)4x6432GB 3 x 72gb 10k SAS Win2k8 EE 64bitSQL Server 2008 Comparison Tier
Test Concurrent Test Client Users Messages Per Second Avg Response (s) % < 3 seconds Messages Per 8-hour Day Test Length Logical Ports on Optimized Platform ~1,746, minutes 2009 Hyper-V ~1,520, minutes Inline Sends on Optimized Platform ~6,824, minutes 2009 Hyper-V ~6,438, minutes Hyper-V provides ~87% throughput* Hyper V ~15% worse latency* *Note: Calculated from Logical Ports Test Hyper-V Results To Complete
BizTalk Server Virtual Processors 0 0 BizTalk Server Virtual Processors 0 0 BizTalk Server Virtual Processors 0 0 BizTalk Server Virtual Processors 0 0 Logical Processors to 1 MappingOverload Scenario BizTalk Server Virtual Processors BizTalk Server Virtual Processors BizTalk Server Virtual Processors BizTalk Server Virtual Processors Logical Processors Virtual Processor Allocation
Processor Lessons Learned To measure Guest processors: −\Hyper-V Hypervisor Virtual Processor(*)\% Guest Run Time −\Hyper-V Hypervisor Virtual Processor(*)\% Total Run Time To measure Physical processors: −\Hyper-V Hypervisor Logical Processor(*)\% Total Run Time To measure Host processors: −\Hyper-V Hypervisor Root Virtual Processor(*)\% Total Run Time
Disk Lessons Learned For VHDs use: − \Logical Disk(*)\Avg. sec/s − \Logical Disk(*)\Avg. sec/Write − \Logical Disk(*)\Avg. sec/Read − \Logical Disk(*)\Avg. sec/Write For PassThrough Disk Analysis use: −“Hyper-V Virtual Storage Device” counters −xPerf Tool us/library/dd aspxhttp://msdn.microsoft.com/en- us/library/dd aspx −
Pass-Through Disk Perf MeasurementPhysical SQL Physical Disk Virtual SQL Pass-through Disk Difference Transfers/Sec %*
Disk Lessons Learned Use PassThrough disks for high disk I/O: −BizTalk MessageBox Database −BizTalk Tracking Database −BizTalk File Adapter −%temp directory if BizTalk is streaming large files
Memory Lessons Learned Virtual machines require non-paged memory (physical memory) Ensure you have enough physical memory on both the host and guest computers Use Traditional Counters: − \Memory\Available Mbytes − \Memory\Pages/sec
Network Lessons Learned For high network I/O: −Use a 1:1 mapping of physical to virtual network adapters For measuring network adapters use: − \Network Interface −Bytes Total Per Second −Output Queue Length − \Hyper-V Virtual Network Adapter −Bytes Per Second − \Hyper-V Virtual Switch
BizTalk Server Performance Optimization Guide MSDN us/library/cc aspx us/library/cc aspx
Helpful Tools BizTalk BPA 1.2 PerfMon LoadGen BizUnit Log Man Relog Log Parser PAL SQLIO BizTalk Orchestration Profiler
Why Tune BizTalk Now - More than Ever? Reduce costs and expenses Win market share from expensive competitors Optimize to do more with less! Delight our customers
Resources BizTalk Server 2006: Managing a Successful Performance Lab − Scaling Your Solutions − Configuration Parameters that Affect Adapter Performance − Persistence and the Orchestration Engine − Troubleshooting MessageBox Latency Issues − Performance Tips and Tricks − Rule Engine Configuration and Tuning Parameters − Performance Considerations When Using the Rule Engine −
Filegroup – Resources BizTalk Server Database Optimization − Understanding Files and Filegroups − How to: Add Data or Log Files to a Database (SQL Server Management Studio) − How to: Move an Existing Index to a Different Filegroup (SQL Server Management Studio) − Physical Database Files and Filegroups − Working with tempdb in SQL Server 2005 − b.mspxhttp:// b.mspx Optimizing Server Performance Using I/O Configuration Options −
© 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.