Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


November 1999

The Web Capacity Analysis Tool

RSS
Subscribe to Windows Web Solutions | See More Installation Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

At Microsoft TechEd, I saw a demonstration of a Web application that could handle 7500 simultaneous users. When the company first built the application, the app would scale only to eight simultaneous users. The company improved this application's performance through testing. During the entire development cycle, the developers tested and tweaked the product. The only reason the application doesn't handle even more users is because the developers ran out of time to test and tweak it.

If you want to perform this type of testing of your systems, you can use the Web Capacity Analysis Tool (WCAT) from the Microsoft Windows Internet Information Server Resource Kit. WCAT measures the capacity potential of an IIS installation or application under a variety of client workload simulations. WCAT simulates loads against a Web server and logs the results. Using WCAT, you can test a server and obtain a good idea of how that server will perform when running Active Server Pages (ASP) or HTML applications.

This month, I cover what WCAT does and how to install it. Next month, I'll delve into the details of running and customizing tests.

Obtaining the Utility
You can obtain WCAT from the resource kit. However, be sure to check the Microsoft Web site (http://www.microsoft.com) for the most recent version. The version I found on the Web in September was version 4.13, which is newer than the version in the resource kit. (The Web site will always have a newer version than the resource kit.)

WCAT consists of several components, which Figure 1 shows:

  • WCAT Server—Web server you're testing (by running the WCAT test software or another application)
  • WCAT Controller—WCAT software controlling the test
  • WCAT Client—WCAT software installed on each client in the test

You can install the components on one system or separate systems. In a test environment, installing the various components on separate systems places a typical load on your server and the network. Each WCAT Client can generate a load of 200 users on the Web server, assuming the client has enough memory to preclude paging operations. WCAT requires Windows NT 3.51 or later on all systems.

Installing WCAT
As I mentioned earlier, before you install WCAT, you need to check the Microsoft site to obtain the latest version. If you find a newer version, replace the existing WCAT setup files installed from the resource kit with these newer files.

To install the WCAT files, execute setup.exe for each of the three types of installations (i.e., server, controller, and client). Here's how to install the WCAT Server: A Setup Wizard appears to walk you through the installation. Screen 1 shows the first page of the wizard.

  1. Start setup.exe on the system you plan to use as the server.
  2. Select Install WCAT SERVER on this machine, and click Next.
  3. Specify the directory to store the WCAT Server files. The default directory is C:\websrvr. To use a different directory, type that directory. Click Next.
  4. The message Installing WCAT Server puts 200MB of content on the server displays. This content is for server load testing and installs on the Web server. Click Yes to accept the server content.
  5. Confirm or choose the directories for the home page and script files. After you complete your changes on this page, click Next to copy the WCAT files to their appropriate locations, initiating the installation process.
  6. After Setup finishes copying files, click OK, then click Finish.

When Setup terminates, the WCAT Server files are in the \inetpub\wwwroot directory. Under this directory, you'll find a series of subdirectories starting with the Perfsize directory and ending with the Perfsize.99 directory.

Next, use the Setup Wizard to install the WCAT Controller on the system you want to use as the controller. The default directory for the controller is C:\webctrl; the controller's executable file (wcctl.exe) and its support files are in that directory.

The last step is to install the WCAT Client software. Start setup.exe on each client system, and select the check box (Install WCAT CLIENT on this machine), then click Next. On the next page, either confirm the name and location of the installation folder or change it, then click Next. After setup finishes copying files, click OK, then click Finish.

The C:\webclient directory is the default installation directory for the WCAT Client software and contains the client executable (wcclient.exe) and other support files. You can install the WCAT Client application on multiple systems to simulate various loads on the server; each client can simulate 200 connections. Because many browsers such as Microsoft Internet Explorer (IE) can open several connections at once, a connection doesn't necessarily equal a user. Monitor your testing carefully to determine the actual load you're placing on the server. You can control various elements during each test, such as

  • number of client browsers
  • size and type of pages that the clients request
  • frequency at which clients send requests
  • relative frequency at which clients request different specific pages
  • duration of the test

Configuring WCAT
The WCAT Controller is the key to testing your applications. The controller usually runs on a separate system and is responsible for controlling the operations. The controller's workload isn't counted in the test.

The controller supports several input files that control the test's operation. The input file names use the test name as the prefix, making them easy to identify. Table 1 describes the various controller files that WCAT uses.

You can use the standard controller files that come with the installation, or you can create your own controller files. You might use custom controller files to create a test configuration so you can test your applications and tweak the testing. The easiest way to generate a custom set of files is to modify the standard files, which are in the C:\webctrl\scripts directory.

When you run a test, WCAT generates one or two files. The system names these files with the test name and either a .log suffix (for the log file) or a .prf suffix (for the performance results file). The log file includes the test results in an analysis format. You can easily import the log file (it's in .csv format) into Microsoft Excel or another application for analysis.

If you execute the controller with the -p switch, WCAT also generates a .prf file. This file contains the Performance Monitor data that you request from the server when you specify the -p switch. You can review the .prf file to see what Performance Monitor tracked during test execution. The WCAT Controller creates the .prf file by executing Performance Monitor on the server and tracking either the default counters or the counters you specify with a performance counter file (.pfc) for the test. Thus, you can customize the data that you want Performance Monitor to track.

The standard .pfc file is server.pfc and is in the C:\webctrl\scripts directory on the controller system. The contents of the file are the following:

#
#   Counters for NT Server
#
#   For IIS the process name 
#   is: inetinfo.exe
#
#
System\% Total Processor Time
Processor(0)\DPC Rate
Processor(0)\Interrupts/sec
Processor(0)\DPCs Queued/sec
Process(inetinfo)\% Processor Time
Process(inetinfo)\% Privileged Time
Process(inetinfo)\% User Time
System\Context Switches/sec
System\System Calls/sec
Process(inetinfo)\Thread Count

You can see from this file that by default, WCAT can track things such as processor time, interrupts, and InetInfo objects. You can edit this file or create a new one to add your own counters.

WCAT and Systems
You can load WCAT on any number of systems. Microsoft designed WCAT to test real-life applications and servers. To run these kinds of tests, you must provide WCAT with the correct system configuration for all the systems involved. For example, you can't test an intranet application to see how well it runs on the network with just two or three systems. You must test it with a real-life scenario with interconnected systems on the network—just like your final intranet or Internet application will be.

Conversely, you can begin testing an application with two or three systems to see how it performs and tweak it to try to improve its performance. For example, suppose your developers are building an application, and you want to make sure they make it a high-performance application. You can set up three or four systems to run application tests before and after each change. Figure 1 shows a sample configuration with four systems. One system is the Web server that runs IIS and contains the WCAT Server files. One system on the network runs the WCAT Controller software; the other two systems run the WCAT Client software.

This configuration lets you run various tests with up to 400 connections, which is a pretty good load to place on an application. Using the scenario in Figure 1, you can design the WCAT test to use the application that the developers are building. Then, at various stages in the application's development, you can load the application on the server and test for performance gains. Your developers can change one thing at a time, rerun the test, and check its performance. This approach lets them tweak an application until it really flies, and you can see the test results and how the application performs. To test more connections, just add more clients.

A Testing Tip
When your developers test an application with WCAT, tweak it, and retest it, they'll get some type of results. Make sure you document those results and their test conditions. Also, make sure you post the key facts that the developers changed. For example, if you find out that disconnected record sets execute faster than connected record sets, post this information on your network or intranet along with a code sample that demonstrates how you conducted the test. Then, all your testers can learn from the experience of a few.

You can buy more powerful and flexible Web testing tools on the market than WCAT, but WCAT is low cost or free, if you obtain it from Microsoft's Web site. You can't beat that price.

End of Article



Reader Comments

You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
Friday at PASS Europe 2006

Kevin talks about the closing day of the event and shares a funny Microsoft film. ...

VMware and the Future of Virtualization

What's next for virtualization and business IT? Windows IT Pro senior editor Jeff James speaks with VMware President and CEO Diane Greene on the future of virtualization technology. ...

The Memory-Optimization Hoax

Don't believe the hype. At best, RAM optimizers have no effect. At worst, they seriously degrade performance. ...


Related Articles IIS Resource Kit Utilities

IIS and Web Administration Whitepapers The Five Secrets to Controlling Your SharePoint Environment

Extended Validation SSL Certificates

Related Events Check out our list of Free Email Newsletters!

IIS and Web Administration eBooks Keeping Your Business Safe from Attack: Monitoring and Managing Your Network Security

Related IIS and Web Administration Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.

Job Openings in IT


ADS BY GOOGLE SPONSORED LINKS FEATURED LINKS

IT Connections
Dive into the new Microsoft platforms and products you implement and support with the experts from Microsoft, TechNet Magazine, Windows ITPro and industry gurus. There are 70+ sessions and interactive panels with networking opportunities.

Attention User Group Leaders...
Announcing the eNews Generator—a FREE HTML e-newsletter builder for user group leaders. Build your HTML and text e-newsletters in minutes and add Windows IT Pro & SQL Server Mag articles alongside your own message!.

Master SharePoint with 3 eLearning Seminars
Learn how to build a better SharePoint infrastructure and enable powerful collaboration with MVPs Dan Holme and Michael Noel. Register today!

Get SQL Server 2008 at WinConnections
Don’t miss Microsoft Exchange and Windows Connections conferences, the premier events for Microsoft IT Professionals in Las Vegas, November 10-13. Every attendee will receive a copy of SQL Server 2008 Standard Edition with one CAL.



Interested in Email Encryption?
Read about the advantages of identity-based encryption in this free report.

Order Your SQL Fundamentals CD Today!
Learn how to use SQL Server, understand Office integration techniques and dive into the essentials of SQL Express and Visual Basic with this free SQL Fundamentals CD.

Virtualization Congress Oct. 14-16 in London
Don't miss Virtualization Congress, the premiere EMEA conference dedicated to hardware, OS and application virtualization. Oct. 14-16.
Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technical Resources Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2008 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing