Question

I am having an issue with my initial testing/configuration of WCAT 6.4 for IIS 7 on Windows Server 2008 Std. We're pretty new to WCAT so this might be a fairly naive question.

We are testing a web app that's expected to not have a high volume of traffic and I'm trying to implement a WCAT scenario where we throttle the number of requests and gradually increase throughput to benchmark the web app. The script as given generates about 500 requests/sec and we're trying to start smaller than that!

Reading the WCAT doc, it seems that including the "throttle" attribute on the scenario file is the right thing to do to achieve this, but whenever I try to do this I get the "Invalid code received" msg. I'm using a (very slightly tweaked) version of the pre-fab sample test scripts that come with WCAT, and they seem to work just fine as long as I do NOT include the 'throttle' element. (command line and "home.ubr" script below)

I have been able to get some throttling of requests per second by including the "-throttlerps" argument to the command line syntax, but still have issues with getting the scenario file option to work. The command line syntax:

<directory>\wcat.wsf -terminate -run -clients localhost -t samples\scripts\home.ubr -f samples\scripts\settings.ubr -s localhost -throttlerps 1

and the scenario file:

scenario
{
name    = "IIS Home Page";

warmup      = 10;
duration    = 20;
cooldown    = 10;
//throttle  = 10;  //HERE is what throws an error!

/////////////////////////////////////////////////////////////////
//
// All requests inherit the settings from the default request.
// Defaults are overridden if specified in the request itself.
//
/////////////////////////////////////////////////////////////////
default
{
    // send keep-alive header
    setheader
    {
        name    = "Connection";
        value   = "keep-alive";
    }

    // set the host header
    setheader
    {
        name    = "Host";
        value   = server();
    }

    // HTTP1.1 request
    version     = HTTP11;

    // keep the connection alive after the request
    close       = ka;
}

//
// This script is made for IIS7
//
transaction
{
    id = "Default Web Site Homepage";
    weight = 1;

    request
    {
        url         = "/";
        statuscode  = 200;
    }

    request
    {
        url         = "/welcome.png";
        statuscode  = 200;
    }

    //
    // specifically close the connection after both files are requested
    //
    close
    {
        method      = reset;
    }
}

 transaction
{
    id = "Default Web Site Homepage";
    weight = 1;

    request
    {
        url         = "/";
        statuscode  = 200;
    }

    request
    {
        url         = "/welcome.png";
        statuscode  = 200;
    }

    //
    // specifically close the connection after both files are requested
    //
    close
    {
        method      = reset;
    }
}
}

So far from googling it seems this isn't a common issue... any insight would be much appreciated.

Was it helpful?

Solution

OK so found the answer: WCAT's documentation has a typo, the given file attribute was listed as "throttle", but the correct version was to use "throttlerps" as the element name in the scenario file, instead of just "throttle" (to mirror the command line syntax). Maybe someone else will stumble upon this...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top