WCAT 6.3 web performance and scalability test tool released

The NT Performance team just publically released the latest version of WCAT (Web Capacity Analysis Tool), the web performance test tool that the IIS team and NT Performance team use to conduct internal performance and scalability testing of IIS and ASP.NET.

******************************
UPDATE 1/24/2008: Updated WCAT 6.3 build is available that fixes the "NULL Controller Specified" error. The build is available immediately at the existing download links.  For more info, see http://mvolo.com/blogs/serverside/archive/2008/01/24/Updated-WCAT-6.3-released.aspx
******************************

This tool is available for download from the IIS.NET download center, and includes detailed documentation you need to use it:

This version replaces the antiquated WCAT 5.2 released in the IIS6 Resource Kit.

The tool enables a script of http requests to be executed against a web server from 1 or more client machines, which are automatically coordinated from a single controller that kicks off, manages, and collects the data from the performance run.  This allows much greater request loads to be tested then possible by running a single http client on a single machine.

Among other things, the tool supports:

  • scripting complicated http transactions, with randomness
  • collection perf counter data from the server
  • generating rich reports

I've personally used this tool to do heavy performance testing for IIS, and like the flexibility and ease of adding multiple client machines to up the request load and really push the server to the 100% CPU mark.

The documentation included in the tool has a great reference for using the tool, and writing the WCAT scripts.  You can download the documentation online here: WCAT 6.3 Documentation (it is also included in the WCAT installation in the "doc" folder).

Let me know if you are checking the tool out, and how it goes.  I will be posting more walkthrough information and some sample scripts soon.

Thanks,

Mike

Published 17 May 07 03:40 by Mike Volodarsky
Filed under: , ,

Attachment(s): wcat.doc

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Mike Volodarsky's WebLog said on May 17, 2007 4:08 PM:

The NT Performance team just publically released the latest version of WCAT (Web Capacity Analysis Tool),

# iis said on May 17, 2007 4:22 PM:

The NT Performance team just publically released the latest version of WCAT (Web Capacity Analysis Tool

# Chad said on May 17, 2007 11:55 PM:
It'd be really nice to have some sort of GUI for this tool. Or a recorder ... or heck open source it. There's a definte hole in this space.
# Maor David's Blog said on May 18, 2007 7:13 AM:

The latest version of WCAT (Web Capacity Analysis Tool - the web performance test tool that the IIS team

# Steve Schofield said on May 19, 2007 8:25 PM:
Is there a reason why WAST was been not updated vs. a command line tool?
# Mike Volodarsky said on May 19, 2007 10:07 PM:

Steve,

I am not sure whether WAST is being maintained internally - WCAT is being actively developed and is used by the Windows performance team and by the IIS team to do performance testing, so we thought it would be great to release the tool publicly for customers to do performance testing.

Is there something particular about WAST that you are interested in?

Mike

# Hiroshi Okunushi's Blog ☆ミ said on May 28, 2007 8:29 PM:
セミナーでWebサーバーに負荷をかけるツールとしてWCATを紹介していますが、そのフォローを少ししておかないといけませんね。 IIS Resource Kit に入っているWCATはV5.2というもので、最近もっと新しいものがリリースされています。
# Falco said on May 30, 2007 7:51 AM:
WAST is still great to do some fast testings... But I miss the ability to script for e.g. forms logon.
# Sanjay said on May 31, 2007 7:24 PM:
Any comparison benchmarks with Visual studio Load testing tool?
# Mike Volodarsky said on June 1, 2007 8:35 PM:

Sanjay,

I dont have any comparison information right now, but I'll be playing with the VS tools in the near future and post something ...

Thanks,

Mike

# DJ Decay said on July 12, 2007 9:39 AM:
Using WCAT 6.3 I cannot get the global portion of the library subsection to work. codeblock library { name = "DDL.dll"; global { initialize = "somefunctionname"; } Causes wcclient to crash with syntax error, or at best what I can call a syntax error: "Invalid code recieved" from the wcctl.exe
# Andres Anton said on August 10, 2007 8:56 PM:
I am trying to connect me to a web server that supports to SSL and working, the configuration that I am using is the following: scenario { name = "Test SSL"; warmup = 30; duration = 120; cooldown = 20; 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; } transaction { id = "Test SSL"; // weight = 1; request { secure = true; // protocol = SSL3; // port = 443; // algorithms = RSA_RC4_128_SHA; // RSA_RC4_128_MD5 // handshake = full; verb = GET; url = "/signonTC.asp"; statuscode = 200; } // // specifically close the connection after both files are requested // close { method = graceful; } } } the error that appears to me is the following one thanks for its aid… PS C:\wcat> ./wcclient Controller: localhost Wait for controller: false IPv6: false Bind Address: not specified It is suggested that the following registry key be set to the appropriate value before running wcclient. The test will continue, however you may experience connection establishment issues. Key: \HKLM\System\CurrentControlSet\Services\TCPIP\Parameters\MaxUserPort Type: REG_DWORD Value: 0xfffe Resolving server www2.todo1.com... MESSAGE: adding 200.3.3.156 to the list of resolved servers. NULL controller specified. PS C:\wcat>
# Andres Anton said on August 14, 2007 6:40 AM:
It determines that the error appears when in the PC you have installed Visual Studio 2005, after the installation of this product the error that appears is the following one: PS C:\wcat > ./wcclient l3agn70 - b Unable to create logfile. Controller: l3agn70 For Wait to controller: true IPv6: false Bind Address: not specified It is suggested that the following registry key sees Seth to the appropriate VALUE before running wcclient. The test will continues, however you may experience connection establishment issues. Key: \ HKLM \ System \ CurrentControlSet \ Services \ TCPIP \ Parameters \ MaxUserPort Type: REG_DWORD VALUE: 0xfffe Resolving server gwxml.bancomercantil.com… MESSAGE: adding 10.0.4.164 to the list of you solve server. Test settings… Warmup: 30 Duration: 120 Cooldown: 20 Server: gwxml.bancomercantil.com Virtual Clients: 30 Threads: 2 Test beginning… Virtual Starting 1 client every 0,500000 seconds. f:\nt\vbl _core_perf_utilities \ sdktools \ wcat \ client \ httpsreq.c@422: Error during InitializeSecurityContext. NULL to controller specified. PS C:\wcat > I am going to apply to the SP1 in Visual studio 2005 to see if the continuous error. Thank
# Daryl Sirota said on November 1, 2007 2:35 PM:
Trying to get WCAT 6.3 running in test, but wcclient.exe keeps dying with a "NULL controller specified" after resolving and connecting to my controller! It wcctl.exe reports an "error 10054 was encountered cr/lf Error receiving code. cr/lf Error accepting remote connection". I've played with DNS, (everything can resolve) permissions (local admin everywhere) and even a fresh new machine with no firewall, to no avail. Any help appreciated!
# Chris said on November 2, 2007 12:44 PM:
Has anyone else run into problems when specifying the -clients command line attribute? In the LaunchClients function in wcat.wsf, I had to change: commandline = CLIENT_COMMAND_LINE + " " + hostname + " -b"; to commandline = "////" + clientsIdea + TARGET_SHARE + "wcclient.exe" + hostname + " -b"; in order to get it to loop through the array of clients. Without doing that, it just always used localhost.
# mustufa said on December 5, 2007 11:01 AM:
I have the same problem like Daryl's. wcclient.exe dies with "NULL controller specified." Have anyone managed to succeed?
# Raymond Bennett (MSFT) said on December 8, 2007 11:11 PM:
We have a fix for the NULL controller specified issue. We will need to package it up and re-release it. Mike will update the blog when it is done.
# e1ny said on January 18, 2008 11:59 AM:
Hi: I posted on IIS.net but didn't get a response. I went through the docs and tried to configure it with a basic settings and test script, but when I run it from the command line it doesn't seem to do anything. It echoes back the server to be tested, and the number of clients, and then just sits there? Eventually I have to control-c to kill it.
# Media said on January 23, 2008 12:14 PM:
# Neil Hutson - Windows Server 2008, Visual Studio 2008 and .NET 3.5 for developers said on January 23, 2008 5:28 PM:

MSCOM OPS with Microsoft.com, WS08, IIS7, and the Lone Server Last week I had a post about the "Lone

# Noticias externas said on January 23, 2008 5:57 PM:

MSCOM OPS with Microsoft.com, WS08, IIS7, and the Lone Server Last week I had a post about the "Lone

# IIS 7.0 Server-Side said on January 24, 2008 8:37 PM:

The original release of WCAT 6.3 contained a bugs that was causing many users to not be able to use the

# Mike Volodarsky said on January 24, 2008 8:41 PM:

Hi guys,

Thanks for reporting the issues. They've been identified and should be fixed - the updated build will be available shortly from the download center.

You can read more about it here: http://mvolo.com/blogs/serverside/archive/2008/01/24/Updated-WCAT-6.3-released.aspx (live tomorrow).

Thanks,

Mike

# Martyn said on March 9, 2008 7:55 PM:
Mike, did you publish any "walkthrough information and sample scripts" yet? Thanks, Martyn
# Mike Volodarsky said on March 11, 2008 11:20 PM:

Hi Martyn,

Unfortunately I havent gotten a chance to do this yet. ...  Did you have a specific question I can answer?

Thanks,

Mike

# Martyn said on March 17, 2008 3:09 AM:
I would just like to install and try out WCAT on one machine. (I know the results will not mean much) The instrucions seem long and complex. Is there a quick setup or is it easier than it looks?
# Mike Volodarsky said on March 17, 2008 11:33 AM:

Hi Martyn,

It's fairly easy.  You can use the installer to install it on the controller machine.  Then, if you need to install it on other machines that will act as clients, you can use the following command (assuming the firewall is open, you are running the cmd as Administrator, and Administrator account has a syncronized password on all computers involved):

wcat.wsf –terminate –update –clients {comma separated client list, including localhost if its to be a client}

To run a test, you'll need to make a scenario file that defines the requests you'd like to make. You can use the included sample scenario file and the documentation to create it.

Thanks,

Mike

# Martyn said on April 17, 2008 8:18 AM:
Is there a support newsgroup for WCAT?
# Mike Volodarsky said on April 19, 2008 1:01 PM:

Hi Martyn,

That's a good idea - we are creating one on IIS.NET!

Thanks,

Mike

# IIS 7.0 Server-Side said on May 1, 2008 2:44 AM:

The IIS 7.0 Resource Kit Book is finally out! Ok, it’s been out for almost 2 months, but somehow

Leave a Comment

(required) 
(optional)
(required) 
Enter the code you see below


About Mike Volodarsky

For the past 5 years, I was the core Program Manager for Microsoft ASP.NET 2.0 and IIS 7.0 products. I drove the design and development of the IIS 7.0 web server core, the IIS FastCGI support, the AppCmd command line tool, the ASP.NET Integrated pipeline, and other special projects around server security, performance, and scalability. Now, I am working on my own on cutting edge web server tech on top of the Microsoft IIS platform, and continue blogging about it here.

About me



For the past 5 years, I was the core server Program Manager for the IIS 7.0 and ASP.NET 2.0 products at Microsoft.
Now, I work on advanced web server tech using IIS 7.0, .NET, and Windows Server 2008 and write about it in this blog.

View Michael Volodarsky's profile on LinkedIn

Writings



TechNet Magazine
>Top 10 Performance Improvements in IIS 7.0

MSDN Magazine
>IIS 7.0: Build Web Server Solutions with End-To-End Extensibility
>IIS 7.0: Enhance Your Apps with the Integrated ASP.NET Pipeline
>IIS 7.0: Explore The Web Server For Windows Vista And Beyond
>Design and Deploy Secure Web Apps with ASP.NET 2.0 and IIS 6.0
>Fast, Scalable, and Secure Session State Management for Your Web Applications


Tools and Modules

LeechGuard
IconHandler 2.0
DirectoryListing
HttpRedirection
IIS Auth for Wordpress
iisschema.exe
PortCheck.exe v2.0

Popular Posts

- ASP.NET 2.0 Breaking Changes on IIS 7.0
- Develop IIS7 modules and handlers with .NET
- Troubleshoot IIS7 errors like a pro
- Troubleshooting 503 / "service unavailable" errors
- Troubleshooting "server not found" errors
- Create IIS7 sites, applications, and virtual directories
- Run Ruby on Rails with IIS FastCGI
- VS Debugging of ASP.NET applications on Windows Vista
- Stop hot-linking with IIS and ASP.NET

Tags

Search

Go

This Blog

Archives

Good IIS Blogs

Disclaimer

These postings are provided as is with no warranties, and confer no rights. The views expressed in this blog are entirely my own.

Syndication