tags:

views:

26

answers:

1

Hi. I posted this in the IIS forums but there has been no replies. So I thought I would try here.

I was using WCAT 5.2 before and that worked ok. I'm trying to run both the client and server and IIS 7 on my local machine. For some reason for every url I request the status is always 400 (bad request) When I look in the htterr logs the reason is says is Hostname???

From httperr log:

#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri sc-status s-siteid s-reason s-queuename 2010-10-06 04:02:15 127.0.0.1 43252 127.0.0.1 80 HTTP/1.1 GET /ds/test.html 400 - Hostname -

Exe Command

wcat.wsf -terminate -run -t uad.ubr -f settings.ubr -singleip -x

Settings.ubr

settings
{

    clientfile     = "uad.ubr";
    server         = "localhost";
    clients        = 1;
    virtualclients = 10;

    counters
    {
        interval = 10;

        counter = "Processor(_Total)\\% Processor Time";
        counter = "Processor(_Total)\\% Privileged Time";
        counter = "Processor(_Total)\\% User Time";
        counter = "Processor(_Total)\\Interrupts/sec";

        counter = "Memory\\Available KBytes";

        counter = "Process(w3wp)\\Working Set";

        counter = "System\\Context Switches/sec";
        counter = "System\\System Calls/sec";

        counter = "Web Service(_Total)\\Bytes Received/sec" ; 
        counter = "Web Service(_Total)\\Bytes Sent/sec" ; 
        counter = "Web Service(_Total)\\Connection Attempts/sec" ; 
        counter = "Web Service(_Total)\\Get Requests/sec" ; 
    }

    registry
    {
        path = "System\\CurrentControlSet\\Control\\FileSystem";
        name = "NtfsDisableLastAccessUpdate";
        type = REG_DWORD;
    }

    registry
    {
        path = "System\\CurrentControlSet\\Services\\Tcpip\\Parameters";
        name = "SynAttackProtect";
        type = REG_DWORD;
    }
}

Client File (uad.ubr)

scenario
{
    warmup      = 5;
    duration    = 10;
    cooldown    = 5;

    default
    {
        // HTTP1.1 request
        version = HTTP11;
    }

    transaction
    {
        id = "1";
        weight = 1;

        request
        {
            url = "/ds/test.html";
        }
    }
}
A: 

The server returns a 400 bad request because some header information is missing, you need to add a "Host" to the request element.

request
{         
        url = "/ds/test.html";

        setHeader
        {
            name = "Host";
            value = "127.0.0.1";
        }
}
Matt