Contents
BizTalk Server 2009 Hyper-V Guide 7
Introduction 7
Who Should Read This? 8
Goals of this Guide 9
What’s in this Guide? 9
Acknowledgements 10
Deploying BizTalk Server on Hyper-V 11
In This Section 11
Potential Benefits of Deploying a BizTalk Server Solution to a Hyper-V Virtualized Environment 11
Benefits of Running a BizTalk Server Solution on a Hyper-V Virtualized Environment 11
Installing and Configuring a Hyper-V Virtual Machine for use with BizTalk Server 12
Installing and Configuring Hyper-V 12
Hyper-V Platform Prerequisites 12
Determining Hardware Requirements 12
Storage Configuration Options 13
Networking 16
CPU 17
Memory 17
Choosing Root Operating System Version 18
Creating Your Virtual Machines 18
Installing the Base Operating System 19
Installing and Configuring BizTalk Server 19
Checklist: Best Practices for Installing and Configuring BizTalk Server on Hyper-V 20
Before Installing Hyper-V… 20
When Creating Hyper-V Virtual Machines… 21
When Installing and Configuring BizTalk Server… 24
Evaluating BizTalk Server Performance on Hyper-V 26
In This Section 26
Checklist: Measuring Performance on Hyper-V 26
Measuring Disk I/O Performance 26
Measuring Memory Performance 28
Measuring Network Performance 29
Measuring Processor Performance 32
Checklist: Optimizing Performance on Hyper-V 37
Allocate 110%–125% of CPU and Disk Resources to the Hyper-V Virtual Machines 37
Optimize Hyper-V Performance 38
Optimize Performance of Disk, Memory, Network, and Processor in a Hyper-V Environment 39
Optimize Processor Performance 39
Optimize Disk Performance 41
Optimize Memory Performance 43
Optimize Network Performance 45
Optimize SQL Server Performance 47
Optimize BizTalk Server Solution 48
System Resource Costs on Hyper-V 48
System Resource Costs Associated with Running a Guest Operating System on Hyper-V 48
CPU Overhead 48
Memory Overhead 48
Network Overhead 48
Disk Overhead 49
Disk Performance When Running a BizTalk Server Solution on Hyper-V 49
Measuring PassThrough Disk Performance 49
Configuration Used for Testing 50
IOMeter Configuration 51
Test Description 52
Results 52
Testing BizTalk Server Virtualization Performance 54
In This Section 54
Test Scenario Overview 55
Test Application 55
Testing Methodology 60
Key Performance Indicators Measured During Testing 64
Physical Infrastructure Specifics 64
Virtualization Specifics 66
See Also 67
Test Scenario Server Architecture 67
Overview of Message Flow During Load Testing 67
Baseline Server Architecture 69
Virtual BizTalk Server / Physical SQL Server 70
Virtual BizTalk Server / Virtual SQL Server 72
Consolidated Environment 73
See Also 74
Test Results: BizTalk Server Key Performance Indicators 74
Summary of BizTalk Server Key Performance Indicators 74
Performance Comparison Results Summary 76
Throughput Comparison Sample Results 76
Latency Comparison Sample Results 76
Test Results: SQL Server Key Performance Indicators 76
Summary of SQL Server Key Performance Indicators 76
Test Results: Networking Key Performance Indicators 79
Summary of Network Key Performance Indicators 79
Test Results: Memory Key Performance Indicators 80
Summary of Memory Key Performance Indicators 80
Summary of Test Results 82
Summary of Test Results 82
Throughput Comparison Sample Results 82
Latency Comparison Sample Results 82
SQL Server Processor Utilization and Batch Requests per Second Sample Results 83
BizTalk Server and SQL Server Network Throughput Sample Results 83
BizTalk Server and SQL Server Available Memory Sample Results 83
Appendices 83
In This Section 83
Appendix A: Optimizations Applied to Computers in Test Environment 84
In This Section 84
Operating System Optimizations 84
General guidelines for improving operating system performance 84
Install the latest BIOS, storage area network (SAN) drivers, network adapter firmware and network adapter drivers 84
Assign the MSDTC log file directory to a separate dedicated drive 85
Configure antivirus software to avoid real-time scanning of BizTalk Server executables and file drops 85
Disable intrusion detection network scanning between computers in the BizTalk Server environment 85
Defragment all disks in the BizTalk Server environment on a regular basis 85
If antivirus software is installed on the SQL Server computer(s), disable real-time scanning of data and transaction files 86
Configure MSDTC for BizTalk Server 86
Configure firewall(s) for BizTalk Server 86
Use the NTFS file system on all volumes 86
Do not use NTFS file compression 87
Review disk controller stripe size and volume allocation units 87
Monitor drive space utilization 88
Implement a strategy to avoid disk fragmentation 88
Optimize Windows Server performance for background services 88
Manually load Microsoft Certificate Revocation lists 89
Synchronize time on all servers 89
Configure the Windows PAGEFILE for optimal performance 89
Network Optimizations 91
Improving Network Performance of BizTalk Server on Hyper-V 91
Configure Hyper-V Virtual Machines that are Running on the same Hyper-V host computer to use a Private Virtual Network 91
Disable TCP Offloading for the Virtual Machine Network Cards 93
General guidelines for improving network performance 93
Add additional network cards to computers in the BizTalk Server environment 94
Implement network segmentation 94
Where possible, replace hubs with switches 94
Remove unnecessary network protocols 94
Network adapter drivers on all computers in the BizTalk Server environment should be tuned for performance 95
SQL Server Optimizations 97
In This Section 97
Pre-Configuration Database Optimizations 97
Set NTFS File Allocation Unit 97
Database planning considerations 98
Install the latest service pack and cumulative updates for SQL Server 98
Install SQL Service Packs on both BizTalk Server and SQL Server 98
Consider implementing the SQL Server 2008 Data Collector and Management Data Warehouse 98
Grant the account which is used for SQL Server the Windows Lock Pages In Memory privilege 98
Grant the SE_MANAGE_VOLUME_NAME right to the SQL Server Service account 99
Set Min and Max Server Memory 99
Split the tempdb database into multiple data files of equal size on each SQL Server instance used by BizTalk Server 100
Enable Trace Flag T1118 as a startup parameter for all instances of SQL Server 100
Do not change default SQL Server settings for max degree of parallelism, SQL Server statistics, or database index rebuilds and defragmentation 100
Post-Configuration Database Optimizations 100
Pre-allocate space for BizTalk Server databases and define auto-growth settings for BizTalk Server databases to a fixed value instead of a percentage value 101
Move the Backup BizTalk Server output directory to a dedicated LUN 101
Verify the BizTalk Server SQL Agent Jobs are running 101
Configure Purging and Archiving of Tracking Data 102
Monitor and reduce DTC log file disk I/O contention 103
Separate the MessageBox and Tracking Databases 103
Optimize filegroups for the BizTalk Server databases 104
Optimizing Filegroups for the Databases 104
Overview 104
Databases created with a default BizTalk Server configuration 106
Separation of data files and log files 107
The 80/20 rule of distributing BizTalk Server databases 108
Manually adding files to the MessageBox database, step-by-step 108
Manually adding files to the MessageBox database on SQL Server 2005 or SQL Server 2008 108
Sample SQL script for adding filegroups and files to the BizTalk MessageBox database 113
BizTalk Server Optimizations 115
In This Section 115
General BizTalk Server Optimizations 115
Create multiple BizTalk Server hosts and separate host instances by functionality 115
Configure a dedicated tracking host 116
Manage ASP.NET thread usage or concurrently executing requests for Web applications that host orchestrations published as a Web or WCF Service 117
Manage ASP.NET thread usage for Web applications that host orchestrations on IIS 6.0 and on IIS 7.0 running in Classic mode 118
Manage the number of concurrently executing requests for Web applications that host orchestrations on IIS 7.0 running in Integrated mode 118
Define CLR hosting thread values for BizTalk host instances 120
Disable tracking for orchestrations, send ports, receive ports, and pipelines when tracking is not required 122
Decrease the purging period for the DTA Purge and Archive job from 7 days to 2 days in high throughput scenarios 122
Install the latest service packs 122
Do not cluster BizTalk hosts unless absolutely necessary 123
Performance optimizations in the BizTalk Server documentation 123
Low-Latency Scenario Optimizations 123
Increase the BizTalk Server host internal message queue size 123
Reduce the MaxReceiveInterval value in the adm_ServiceClass table of the BizTalk Server management database 124
Appendix B: Hyper-V Architecture and Feature Overview 125
Hyper-V Architecture 125
Advantages of Hyper-V 128
Disadvantages of Hyper-V 129
Differences between Hyper-V and Virtual Server 2005 130
Appendix C: BizTalk Server and SQL Server Hyper-V Supportability 131
Appendix D: Tools for Measuring Performance 131
Performance Analysis of Logs (PAL) tool 131
Performance Monitor 131
Log Parser 132
Relog 132
LoadGen 132
Visual Studio Team System 2008 Load Testing 132
BizUnit 132
IOMeter 132
BizTalk Server Orchestration Profiler 133
Pathping 133
SQL Server Tools for Performance Monitoring and Tuning 133
SQL Profiler 133
SQL Trace 134
SQL Activity Monitor 134
SQL Server 2008 Data Collection 134
SQL Server 2005 Performance Dashboard Reports 135
SQLIO 135
Glossary 135
Glossary 135
BizTalk Server 2009 Hyper-V Guide
The purpose of this guide is to provide practical guidance for using Microsoft BizTalk Server 2009 with Microsoft Windows Server2008 Hyper-V. The emphasis is on BizTalk Server, but the performance evaluation methods and performance testing scenarios are useful for analyzing the performance of virtualized server applications in general. This guidance will be of interest to both the IT Pro and Developer communities.
To download a copy of this guide, go to http://go.microsoft.com/fwlink/?LinkId=149267.
Introduction
Server virtualization offers companies the opportunity to run multiple operating systems on a single physical machine. This enables the consolidation of underutilized servers onto a smaller number of fully utilized machines. By implementing virtualization, companies can minimize operational and capital expenditure costs associated with deploying and operating the servers required for enterprise applications.
The potential costs savings has prompted IT departments to evaluate new and existing applications to identify candidates suitable for server virtualization. Most such evaluations seek to discover the total cost of virtualization. The total cost of virtualization is the sum of monetary costs for hardware and IT operations, and the performance cost of virtualization as compared to the performance attainable in a physical environment. This guide focuses exclusively on the performance aspect of virtualization.
Windows Server2008 Hyper-V creates new opportunities for server virtualization. Compared to its worthy predecessor, Microsoft Virtual Server2005R2, Hyper-V demonstrates improved virtual machine performance and tight integration with the host operating system. Hyper-V makes more efficient use of physical system hardware and host operating system resources, and consequently reduces the overhead associated with virtualization. In other words, Hyper-V imposes a significantly lower performance cost of virtualization than Virtual Server. Lower performance cost of virtualization allows us to consider server virtualization of applications whose performance requirements are not easily (if at all) obtainable using virtual machines running on Virtual Server.
A BizTalk Server deployment typically consists of a number of other components including: SQL Server, Windows Server and Internet Information Services (IIS). Server Virtualization enables BizTalk customers to minimize the hardware footprint of a BizTalk deployment by consolidating underutilized resources in a secure manner. To verify the potential of Hyper-V and BizTalk usage we compared the performance of BizTalk Server in a number of scenarios with different components virtualized. The results suggest that BizTalk Server is a strong candidate for virtualization – our analysis indicates there is approximately 5% to 13% overhead for virtualizing the BizTalk Server tier. Due to its stateless nature processing power can be achieved through adding additional BizTalk Servers. Hyper-V provides support for dynamic provisioning through System Center Virtual Machine Manager (VMM) which makes provisioning on demand a realistic scenario.
Windows Server2008 provides the Hyper-V technology to accommodate server consolidation through virtualization of multiple operating system instances onto a single physical server. Hyper-V is provided as a core part of Windows Server2008 or as a stand-alone product to make it as easy as possible for customers to embrace virtualization in their organization. There are several key scenarios for implementing Hyper-V:
· Server Consolidation – Minimize server footprint, operational and capital expenditure (TCO) associated with running applications by consolidating multiple physical servers onto one box.
· Testing and Development – Using virtual machines, developers and architects can quickly provision new machines to try out new technology and scenarios in a safe environment that accurately reflects the characteristics of a physical environment. Virtualization enables new machines to be provisioned running on a wide platform of operating systems without new hardware being required. This provides a great platform for testing and development environments.
· Business Continuity and Disaster Recovery – Hyper-V includes powerful business continuity and Disaster Recovery features such as live backup and quick migration which enables businesses to meet their service level agreements.
Note
· For information about how to back up Hyper-V virtual machines using Windows Server Backup, see Microsoft Knowledge Base article 958662, “How to back up Hyper-V virtual machines from the parent partition on a Windows Server 2008-based computer by using Windows Server Backup” at http://go.microsoft.com/fwlink/?LinkId=131207.
· For information about how to use the Hyper-V Live Migration Feature available in Windows Server 2008 R2, see “Hyper-V: Step-by-Step Guide to Using Live Migration in Windows Server 2008 R2” at http://go.microsoft.com/fwlink/?LinkID=139667. Note that as of the publication of this guide, Windows Server 2008 R2 is not yet a released product but should be available for release in 2009.
· Dynamic Data Center – By combining Hyper-V with the Microsoft System Center suite of tools, organizations can automate virtual machine configuration and monitoring. For more information, see “System Center Virtual Machine Manager” at http://go.microsoft.com/fwlink/?LinkID=111303.
The information in this guide directly relates to the Server Consolidation and Testing and Development scenarios for Hyper-V. The other two were out of scope for this guide.
For more information about Hyper-V, see the topic “Virtualization and Consolidation with Hyper-V” at http://go.microsoft.com/fwlink/?LinkID=121187 and the topics in the Appendices section of this guide.
Who Should Read This?
All IT Professionals who work with BizTalk Server
IT Professionals who deploy, optimize and maintain an application environment