Ewan Fairweather & Petr Kratochvil BPD Customer Experience Team Microsoft
Microsoft Confidential 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
Microsoft Confidential Session Agenda Background Goals Use cases R2 vs Performance Comparison Optimizing platform Optimizing application design Hyper-V Performance Conclusion
4 Petr Kratochvil Lead HQ Focused on: Performance Focused on: Operational Readiness Ewan Fairweather (PM) US- West Tim Wieman (Senior PM) US-Central Paolo Salvatori (Principal PM) EMEA Focused on: Architecture Design Focused on: RFID, Architecture Design Rama Ramani (PM) US Focused on: Architecture Design, Operational Readiness Quoc Bui ( Senior PM) Asia Who we are
Microsoft Confidential BizTalk 2009 MSDN Guidance All Guides are published to: MSDN, TechNet,CHM End to end samples: Sample application BizUnitBizUnit scripts 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
Microsoft Confidential BizTalk Performance Story 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 that infrastructure tuning alone can double performance in some cases
Microsoft Confidential Session Agenda Background Goals Use cases R2 vs Performance Comparison Optimizing infrastructure Optimizing application design Hyper-V Performance Conclusion
8 BizTalk 2009 Performance Lab Goals Technical Goals: Quantify BizTalk Server 2009 (2009) vs. BizTalk Server 2006 R2 (R2) Quantify performance of physical vs. “Hyper-V” BizTalk Server 2009 Quantify performance of physical vs. “ Hyper-V”SQL Server 2008 Quantify performance of consolidating BizTalk/SQL 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
Microsoft Confidential Session Agenda Background Goals Use cases R2 vs Performance Comparison Optimizing infrastructure Optimizing application design Hyper-V Performance Conclusion
10 Inline Sends and Logical Ports Vs. Logical Port Orchestration Inline Sends Orchestration
11 Calculator Request XmlDocumentOrchestration * 25 8 \
12 Calculator Response Ok 100 None 18 None 200 None 4 None 132 None
13 Code Walk-Through Inline Sends and Logical Ports examples
Microsoft Confidential Session Agenda Background Goals Use cases R2 vs Performance Comparison Optimizing platform Optimizing application design Hyper-V Performance Conclusion
Lab Hardware Kit - Overview
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 (2.4 Ghz)4x6432GB3 x 72gb 10k SAS Win2k3 R2 SP2 EE 64bit SQL Server 2005 TAP4x-O01BL680Intel Xeon4 Proc (2.4 Ghz )4x6432GB3 x 72gb 10k SASWin2k8 EE 64bitSQL Server 2008 Vs.
18 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
Microsoft Confidential With 64 bit defaults - Results are not always what they seem Baseline Comparison ~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
20 Troubleshooting Dehydration Counters to use: Process\Virtual Bytes VirtualMemoryThrottlingCriteria Process\Private Bytes PrivateMemoryThrottlingCriteria SettingOriginal (MB)Optimization Applied (MB) Virtual Memory Private Memory50700
21 Determining Dehydration Values Using Perfmon Virtual Bytes ~ 5.4 GB Private Bytes increases under load max ~600MB
22 Optimizing Dehydration Default Optimized SettingCounter To Use VirtualMemoryThrottlingCriteria PrivateMemoryThrottlingCriteria
Microsoft Confidential Optimizing 64 Bit Dehydration Settings 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: Improved throughput by 27% (R2) & 33% (2009)
Microsoft Confidential 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 – Stair Step Load ~1,869, minutes Inline Sends – Stair Step Load ~4,262, minutes Inline Sends Performance Improvement Low Latency 4x throughput improvement in this scenario under constant load Useful for scatter-gather pattern Test Concurrent Test Client Users Messages Per Second Avg Response (sec) % < 3 seconds Messages Per Day Test Length Logical Ports – Constant Load ~1,746, minutes Inline Sends – Constant Load ~6,824, minutes Constant Load Stair Step Load
Microsoft Confidential Session Agenda Background Goals Use cases R2 vs Performance Comparison Optimizing platform Optimizing application design Hyper-V Performance Conclusion
27 The BizTalk 2009 Hyper-V Guide MSDN
28 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+)
29 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
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
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 delivers ~87% throughput* Hyper V delivers ~85% latency* *Note: Calculated from Logical Ports Test Hyper-V Results – BizTalk Tier
Hyper-V Summary – BizTalk Tier
Hyper-V Summary – SQL Tier
34 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
35 Disk Lessons Learned For VHD’s use: \Logical Disk(*)\Avg. sec/Read \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
36 Pass-Through Disk Perf MeasurementPhysical SQL Physical Disk Virtual SQL Pass-through Disk Difference Transfers/Sec %*
37 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
38 Key Takeaways Quantify BizTalk Server 2009 performance vs. BizTalk Server 2006 R2 3-5% improvement in 2009 W2K3 Networking optimizations did not improve performance on W2K8 in our lab Quantify performance of BizTalk Server 2009 on “Hyper-V” Approx 13% Hyper-V overhead for BizTalk tier. This is comparable to other products. SQL becomes CPU bound due to 4 VP limit Provide guidance on how to effectively performance test BizTalk 2009 Visual Studio Testing Tools are a great driver for testing process Sample code to be provided: LoadTest Plug-In for BizUnit Test application VS Load Test Project
39 MSDN us/library/dd aspx TechNet us/library/dd aspx us/library/dd aspx
Microsoft Confidential Helpful Tools BizTalk BPA PerfMon LoadGen BizUnit Log Man Relog Log Parser PAL SQLIO BizTalk Orchestration Profiler
Microsoft Confidential SQL Hyper-V Session DAT 318 – Microsoft SQL Server 2008 Virtualization Considerations and Best Practices Room: 152 Time: 9AM – 10:15AM
42
Microsoft Confidential 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
Microsoft Confidential 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 mspx Optimizing Server Performance Using I/O Configuration Options
45 Sessions On-Demand & Community Resources for IT Professionals Resources for Developers Microsoft Certification & Training Resources Resources Microsoft Certification and Training Resources
46 Complete an evaluation on CommNet and enter to win!
Microsoft Confidential © 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.
Ongoing Orchestration Performance Testing Message processing performance XMLDocument XMLReader/XMLWriter and Virtual Stream Custom Message Class Test Messages 5 operations, 2 KB 500 operations, 125 KB 5000 operations 1243 KB
Ongoing Pipeline Performance Testing Pipeline processing performance XMLDocument XMLReader XPathReader Test Messages 5 operations, 2 KB 500 operations, 125 KB 5000 operations 1243 KB
50 Appendix Memory Lessons Learned VM’s 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
51 Appendix 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
Vs. BizTalk Comparison Tier SQL Comparison Tier