How to perform a stress test with WCAT tool

 

Background:

Here suppose we have two machines: one is the web server, and another one which simulates a client to send out HTTP requests. And the web server name is renhe2.

Normally speaking, the steps to have a load test with WCAT can be summarized as below 3 steps:

§ Initialize the WCAF Controller

§ Start the web server to make sure the web server get prepared.

§ Begin test by the WCAT client.

We will list the details for each step in the following.

 

Implementation

Step 1: Initialize the WCAF Controller

Actually all the HTTP request are sent out by the WCAT controller during the test. So there are lots of parameters that we need to configure to instruct the WCAT controller how to behavior. For instance, how many clients you want to simulate, how frequently does the HTTP request is sent, which URL you want to test, how long you want the test persists. Actually all these parameters can be specified in 3 kinds of files, they are: configuration file, script file, and distribution file.

a) Configuration file:

Configuration file is to determine how many clients are included in the test and which test instructions to send to the clients. You can get more details from the help file of WCAT tool.

 

Below is a configuration file (config.txt) just for your reference:
Warmuptime 5s

Duration 60s

CooldownTime 5s

NumClientMachines 1

NumClientThreads 20

 

b) Script file:

Script file is to define the client and server transactions that are performed during the experimental period. After the controller is started and connected to the test clients, the controller application reads the script file and sends instructions to each client. These instructions describe the content requests that the clients will send to the server during the experimental period.

Below is a script file(script.txt) just for your reference:

NEW TRANSACTION

    classId = 1

    NEW REQUEST HTTP

        Verb = "GET"

        URL = "https://renhe2/ASPXTest/Default.aspx"

 

NEW TRANSACTION

    classId = 2

    NEW REQUEST HTTP

        Verb = "GET"

        URL = https://renhe2/iisstart.htm

 

c) Distribution file:

The controller and the client computers use the distribution file to assign a percentage of total test time to each transaction. Each listed transaction is assigned a weight value. The weight identifies the portion (percentage) of the experimental period during which each transaction is performed.

 

Below is a distribution file (distritution.txt) just for your reference:

1 80

2 20

 

After above 3 configuration files get prepared, we can start the WCAT controller with below CMD:

C:\Program Files\IIS Resources\WCAT Controller>wcctl.exe -c config.txt -d distri

tion.txt -s script.txt -a renhe2

 

 

Below is the screenshot when the WCAT controller is started.

 

 

 

 

Step 2: Start the web server to make sure the web server get prepared.

This steps is very easy, just make sure your web server is online.

Step 3: Begin test by the WCAT client

Type below CMD to start WCAT client:

C:\Program Files\IIS Resources\WCAT Client>wcclient.exe <controller>

For example:

C:\Program Files\IIS Resources\WCAT Client>wcclient.exe v-renhe0302

Below is the screenshot when the WCAT is running:

 

 

 

NOTE:

Once the test is completed, you can found the summary log in the folder where the WCAT controller is located.

 

Regards,

Winston He from APGC DSI Team