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