Book Image

BizTalk Server 2010 Cookbook

By : Steef-Jan Wiggers
Book Image

BizTalk Server 2010 Cookbook

By: Steef-Jan Wiggers

Overview of this book

BizTalk enables the integration and managment of automated business processes within or across organizational boundaries. To build a solid BizTalk solution, deploy a robust environment, and keep it running smoothly you sometimes need to broaden your spectrum, explore all possibilities, and choose the best solution for your purpose. By following the recipes in this book you will gain required knowledge and succeed in your implementation. With BizTalk Server 2010 Cookbook, you can leverage and hone your skills. More than 50 recipes will guide you in implementing BizTalk solutions, setting up a robust and well performing BizTalk environment, and choosing the right solution for monitoring it. As a developer or administrator you greatly benefit from taking these recipes to work. In this book a developer and administrator will see how to deploy, build, and maintain a BizTalk environment. How to apply patterns for robust orchestrations, messaging and testing. Administrators will learn to set up an environment using Microsoft best practices and tools to deliver a robust, performing and durable BizTalk environment. Besides setting up their environments administrators can also decide through a number of recipes how to monitor and maintain the environment. A developer can contribute to a healthy environment by implementing instrumentation in artefacts, applying well suited pattern(s) and testing the solutions built.
Table of Contents (17 chapters)
BizTalk Server 2010 Cookbook
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Validating a BizTalk installation with the BizTalk Benchmark Wizard tool


The BizTalk Benchmark Wizard (BBW) is a tool to validate a BizTalk installation and was built by Mikael Håkansson and Ewan Fairweather. It is intended to verify your BizTalk installation and is a useful tool to prove the performance characteristics prior to deploying the first solutions. You may also want to use it before you are about to scale out your environment, to make sure you are really using all resources, before investing in additional hardware and licenses. The BBW performs load to BizTalk Server in relation to specific scenarios. During the execution of the test, counter information is collected and benchmarked against collected statistics relevant to your BizTalk Server environment.

Microsoft provides guidance on performance optimization through the performance optimization guide that provides in-depth information for optimizing the performance of a BizTalk Server.

Note

Even though the BizTalk Server 2010 Optimization Guide (http://www.microsoft.com/download/en/details.aspx?id=10855) is very useful while designing a BizTalk system, it does not provide any expected performance numbers related to specific environments.

This is where the BBW comes into the picture. After having configured the BizTalk group and applied some of the best practices by using the BPA, you can test your BizTalk configuration.

The tool is not a load or analyzing tool; it doesn't give advice or hints like the BPA. However, if the test fails, you can analyze the data using the PAL tool. You can run the tool on either a single-server or a multi-server installation. Regardless of the number of BizTalk Servers in your group, you should not run it with more than two "active" servers (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=2290), as it will otherwise not be covered by the benchmark values.

Note

This tool should be used after the BizTalk Server has been installed and before any solutions are deployed to the environment. This will ensure that you are getting consistent and clean results from the BBW.

How to do it...

The latest version of the Benchmark Wizard tool can be obtained from CodePlex (http://bbw.codeplex.com/) and must be installed on the BizTalk machine. Follow the steps given next:

  1. In a browser, such as Internet Explorer, navigate to the BBW download location (http://bbw.codeplex.com/).

  2. On the BBW download page, download and run the self-extracting file.

  3. Open a command prompt window and navigate to [installation folder]\Artefacts\BizTalk. By default, the installation folder is C:\Program Files\Blogical\BizTalk Benchmark Wizard.

  4. In this folder, you will find the InstallHosts.vbs file. Execute it using the following parameters:

    • NTGroupName: The name of the Windows NT group

    • UserName: The name of the user account running the service instances

    • Password: The password of the user account running the service instances

    • Receive Host: The name of the server where you want to run the receive host instance

    • Send Host: The name of the server where you want to run the send host instance

    • Processing Host: The name of the server where you want to run the process host instance

  5. If you have a single box installation, your script command might look similar to the following:

    cscript InstallHosts.vbs "BizTalk Application Users" "\MyUser" "MyPassword" "BtsServer1" "BtsServer1" "BtsServer1"
    
  6. The result will be as depicted in the following diagram:

  7. If you have a multi-server installation, your script command might look similar to the following:

    cscript InstallHosts.vbs "MyDomain\BizTalk Application Users" "MyDomain\MyUser" MyPassword" "BtsServer1" "BtsServer2" "BtsServer2"
    
  8. The result will be as depicted in the following diagram:

  9. Execution of the script in a command line will result in creation of the hosts and the result of these actions is displayed in the following screenshot:

  10. Open the BizTalk Administration Console, point to the Applications node and import the BizTalk Benchmark Wizard.msi found in the folder [Installation folder]\Artefacts\BizTalk.

  11. Run the BizTalk Benchmark Wizard.msi on all BizTalk servers to add the assemblies to the Global Assembly Cache (GAC).

  12. Go to Start | All Programs | BizTalk Application Wizard to start the application.

When the installation of the BBW is successful, you can start it from C:\Program Files\Blogical\BizTalk Benchmark Wizard and follow the steps given next:

  1. You will be welcomed first and then you will have to set up some prerequisites such as the BizTalk Management Database:

  2. The user can opt to collect data for further analysis but this is optional. Collection of datasets enables the creation of a log file that contains all information of a Benchmark run. This log can be analyzed later using, for instance, the PAL tool:

  3. Then the user gets to select one of the two scenarios—Messaging or Orchestration. Each scenario has a set of tested environments as follows:

    • Single server (2*Quad CPU, 4GB RAM)

    • 1*BTS (1*Quad CPU. 4GB RAM) + 1*SQL(1*Quad CPU, 8GB RAM)

    • 2*BTS (2*Quad CPU. 8GB RAM) + 2*SQL(2*Quad CPU, 16GB RAM)

  4. The user can select the environment that best resembles his own environment. The next screen will display what will happen given the chosen scenario:

  5. As a user, you will have to select where each host instance resides on each machine, if applicable. In case of a single-server installation, all the hosts are on the same machine:

  6. One of the following steps is to configure the Indigo Service, a console application hosting service which will be called from the BizTalk Send port. You will have to either host the service on a separate server or go to the folder [Installation folder]\Artefacts\IndigoService and then right-click IndigoService. In the BBW, you will have to either follow instructions and/or fill the Server name and click Test the Indigo Service . There is also the option of collecting performance counters:

  7. As the user clicks Run Test, the tool continues to start ports and orchestrations. It will also start the Perfmon collector sets if the user has chosen to create those (refer to step 2).

  8. As the test proceeds, the user can monitor the counter values through the gauges (Avg Received msgs/sec and Avg Processed msgs/sec). The default test duration is 30 minutes, with a warm-up of two minutes. In this case, five minutes has been chosen.

  9. After warming up, the test will run and you will see the gauges moving certain values.

  10. Finally, the user is presented with a result, which is either Succeeded, Acceptable, or Failed. After the test is run, you can save a report:

How it works...

By completing the BizTalk Benchmark wizard installation, the following artifacts have been created:

  • Three hosts – BBW_RxHost, BBW_PxHost, BBW_TxHost

  • Three host instances

  • Two adapter handlers for NetTcp

  • One BizTalk application

  • Two Receive ports

  • Two Send hosts

  • One Orchestration

Hosts and instances are created through scripts and ports, orchestration is created through installing the msi files. The user can start the wizard and, at the end, run a test based on the selections made. During the test, loadgen will generate the xml messages that will be sent over NetTcp to BizTalk. The messages will be published in the MessageBox database and picked up either by the subscribing send port or orchestration. Finally, the messages will be sent to the backend web service through the WCF-NetTcp adapter.

There's more...

The following section deals with KPIs in detail for certain scenarios.

KPIs

The test run failed as it did not meet the KPIs, at least not all of them. Meeting the KPIs is not easy. The following is the list of KPIs for each scenario. They are based on separate machines for BizTalk and the SQL Server instance, Intel Xeon CPUs with multiple cores, x64 bit platforms and software (refer to the Test Environment table).

Scenario KPIs: Messaging a single-message and multi-message box

KPIs for the scenario of Messaging a single-message and multi-message box are stated in the following table:

Number of BTS

CPU BizTalk Server

Number of SQL Servers

CPU SQL Server

Msg/Sec Received

Msg/Sec Processed

1

1 Quad

1

1 Quad

160

200

1

1 Quad

1

1 Quad

280

350

1

1 Quad

1

2 Quads

390

490

1

1 Quad

1

2 Quads

560

700

2

1 Quad

1

2 Quads

620

770

2

2 Quads

1

2 Quads

730

910

2

2 Quads

1

4 Quads

780

980

Scenario KPIs: Orchestration single-message box

KPIs for the scenario of an orchestration single-message box are stated in the following table:

Number of BTS

CPU BizTalk Server

Number of SQL Servers

CPU SQL Server

Msg/Sec Received

Msg/Sec Processed

1

1 Quad

1

1 Quad

110

140

1

1 Quad

1

1 Quad

170

210

1

1 Quad

1

2 Quads

190

240

1

1 Quad

1

2 Quads

220

270

2

1 Quad

1

2 Quads

230

290

2

2 Quads

1

2 Quads

260

320

2

2 Quads

1

4 Quads

300

370

Test Environment

Each has a Windows 2008 Enterprise x64 Edition as the operating system, with 64 bit CPUs having four cores:

Type

Model

CPU Type

Number of CPU

Logical Disks

Software

Database

DL875

Intel Xeon

8 * 2,4 Ghz

2 x 72gb 10k*

SQL Server 2008 SP1

BTS Host Receive

R805

Intel Xeon

2 * 2,33 Ghz

2 x 72gb 10k SAS

BizTalk Server 2009

BST Host Send

R805

Intel Xeon

2 * 2,33 Ghz

2 x 72gb 10k SAS

BizTalk Server 2009

Load

R805

Intel Xeon

2 * 2,33 Ghz

2 x 72gb 10k SAS

BizTalk Benchmark Wizard

Backend

R805

Intel Xeon

2 * 2,33 Ghz

2 x 72gb 10k SAS

Indigo Service

Following is the configuration of the test environment for Storage: EMC Clarion CX-240 (five solid state drives):

  • Global tracking enabled

  • Partitioning of the TempDb (SQL Server system database), BizTalkDTADb and BizTalkMsgBoxDb to as many files as CPUs

  • Separation of the BizTalk MessageBox database into multiple file groups or files

  • Enabled the T1118 flag on the SQL service

  • Disabled throttling on send and processing hosts

  • Updated the thread settings (CLR Hosting) on all hosts (there you will find the update install path of BBW artefacts\registry settings)

Note

There are a couple of things you can do to improve performance and one is to use the PAL tool before applying changes. Usage of the PAL tool is explained in the next recipe. Actions that can be done, based on analysis are scaling out your environment.

Microsoft case studies

Finally, you can read more on case studies from Microsoft, where tests have been run on different sets of hardware.

See also

  • Refer to the Automating performance analysis by using the PAL tool recipe later in this chapter