BizTalk 2009 - BizTalk Benchmark Wizard: Running a Test
- by StuartBrierley
The BizTalk Benchmark Wizard is a ultility that can be used to gain some validation of a BizTalk installation, giving a level of guidance on whether it is performing as might be expected. It should be used after 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 BizTalk Benchmark Wizard.
The BizTalk Benchmark Wizard applies load to the BizTalk Server environment under a choice of specific scenarios. During these scenarios performance counter information is collected and assessed against statistics that are appropriate to the BizTalk Server environment.
For details on installing the Benchmark Wizard see my previous post.
The BizTalk Benchmarking Wizard provides two simple test scenarios, one for messaging and one for Orchestrations, which can be used to test your BizTalk implementation.
Messaging
Loadgen generates a new XML message and sends it over NetTCP
A WCF-NetTCP Receive Location receives a the xml document from Loadgen.
The PassThruReceive pipeline performs no processing and the message is published by the EPM to the MessageBox.
The WCF One-Way Send Port, which is the only subscriber to the message, retrieves the message from the MessageBox
The PassThruTransmit pipeline provides no additional processing
The message is delivered to the back end WCF service by the WCF NetTCP adapter
Orchestrations
Loadgen generates a new XML message and sends it over NetTCP
A WCF-NetTCP Receive Location receives a the xml document from Loadgen.
The XMLReceive pipeline performs no processing and the message is published by the EPM to the MessageBox.
The message is delivered to a simple Orchestration which consists of a receive location and a send port
The WCF One-Way Send Port, which is the only subscriber to the Orchestration message, retrieves the message from the MessageBox
The PassThruTransmit pipeline provides no additional processing
The message is delivered to the back end WCF service by the WCF NetTCP adapter
Below is a quick outline of how to run the BizTalk Benchmark Wizard on a single server, although it should be noted that this is not ideal as this server is then both generating and processing the load. In order to separate this load out you should run the "Indigo" service on a seperate server.
To start the BizTalk Benchmark Wizard click Start > All Programs > BizTalk Benchmark Wizard > BizTalk Benchmark Wizard.
On this screen click next, you will then get the following pop up window. Check the server and database names and check the "check prerequsites" check-box before pressing ok.
The wizard will then check that the appropriate test scenarios are installed.
You should then choose the test scenario that wish to run (messaging or orchestration) and the architecture that most closely matches your environment.
You will then be asked to confirm the host server for each of the host instances.
Next you will be presented with the prepare screen. You will need to start the indigo service before pressing the Test Indigo Service Button. If you are running the indigo service on a separate server you can enter the server name here. To start the indigo service click Start > All Programs > BizTalk Benchmark Wizard > Start Indigo Service.
While the test is running you will be presented with two speed dial type displays - one for the received messages per second and one for the processed messages per second. The green dial shows the current rate and the red dial shows the overall average rate. Optionally you can view the CPU usage of the various servers involved in processing the tests.
For my development environment I expected low results and this is what I got. Although looking at the online high scores table and comparing to the quad core system listed, the results are perhaps not really that bad.
At some time I may look at what improvements I can make to this score, but if you are interested in that now take a look at Benchmark your BizTalk Server (Part 3).