Download the Instruction File for WCAT 6.3
I needed to test web performance for a client in order to bring page load times down to an acceptable range. I like to use WCAT and will be testing against NLB. My acceptable ranges are 2-4 seconds under a normal load, 8-12 seconds under heavy load (500-1000 virtual clients). Assuming I have configured my SharePoint 2010 environment correctly that should not be an issue. I have two web servers balanced by NLB. Here’s what I use:
WCAT 6.3 Config
Controller
Command line: c:program fileswcat > wcctl.exe –f <settingsfile name>.ubr
Client(s)
Command line: c:program fileswcat> wcclient.exe –b <controllermachinename>
NOTE: wcclient.exe alone will default to localhost which is acceptable when running on the controller
Files: Two files will be needed and can be fully customized using standard javascript to test a variety of functions in a number of ways. I name them clientfile.ubr and settingsfile.ubr to match the WCAT help/instructions. The default files are home.ubr and settings.ubr and are located in the scripts subdirectory of the WCAT installation path.
Settingsfile.ubr
settings
{
clientfile = “clientfile2.ubr”;
server = “servername”; //servername or ip address of NLB (or individual web server) – Multiple Names/IPs separated by commas with NO spaces (i.e. – “server1,server2,server3″)
clients = 1; //number of physical client machines being used for testing
virtualclients = 500; //number of virtual clients for the test – this is where the load comes from
}
Clientfile.ubr
scenario
{
name = “”; //enter a name for this scenario that relates to what you are testing
warmup = 30;
duration = 600; //in seconds; amount of time to test with entire load
cooldown = 20;
default
{
setheader
{
name = “Connection”;
value = “keep-alive”;
}
setheader
{
name = “Accept”;
value = “image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, */*”;
}
setheader
{
name = “Accept-Language”;
value = “en-us”;
}
setheader
{
name = “User-Agent”;
value = “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0″;
}
setheader
{
name = “Accept-Encoding”;
value = “gzip, deflate”;
}
setheader
{
name = “Host”;
value = server(); //pulls server name or list from settings file
}
version = HTTP11;
statuscode = 200;
close = ka;
}
Transaction //each transaction can be customized
{
id = “testitem1″; //enter a name for this transaction
weight = 50; //transactions can be weighted by importance – lower gets more attention
request
{
url = “/”; //full url to individual page can be used to avoid 302 errors during testing
}
}
Transaction
{
id = “testitem2″;
weight = 100;
request
{
url = “http://site/page.aspx”;
}
}
Transaction
{
id = “testitem3″;
weight = 200;
request
{
url = “http://site”; } }
