Global Threads

Global Threads - Thread Control Dialog

Global Threads are a Legacy Feature of Badboy and may not be supported in future versions!

In previous versions of Badboy Threads were controlled using the Thread Control Dialog which is accessed from the "Tools" menu. When you run threads this way, your script is played all the way through without pausing at steps. When it reaches the end it will automatically repeat from the beginning.

The diagram below shows how the Thread Control Dialog looks:

Thread Control Dialog

The Thread Control Dialog offers you several options that control how the Threads run.

Attribute Meaning
Number of Threads How many threads you want to run. You can enter very large numbers here if you wish, however you should be aware that your computer might be unable to run fast enough support all the threads, in which case each thread will slow down to within the limits of your machine. To monitor this, check the level of CPU being used on your computer to make sure that it is below 80% while the load test is running.
Stagger Time Normally when you start a load test, all the threads will start together at exactly the same time. Frequently however this creates an unrealistic load pattern on the server whereby there is an instantaneous jump in the load to a very high level. To avoid this Badboy lets you "stagger" the ramp up of users by starting up threads one at a time with some time separating each thread. You can specify here the length of time to wait between starting each thread in seconds. You should be aware that this will mean that it will take some time before your load test is running at maximum load. For example if you have ten threads and 30 seconds stagger time then it will take 300 seconds or five minutes for the load to ramp up.
Clear Cookies By default each Thread will behave as if the same user is using a single browser to navigate your script over and over again. However if your site uses cookies then the user may have some state left over from their previous iteration when they start a new iteration. Sometimes this can cause problems for some applications, so you have the option for Threads to clear out the cookies before it starts every iteration. You should be aware of some subtle differences when you clear cookies, however. Some websites will associate dedicated memory on the server to each unique cookie that they receive. If you clear cookies with each iteration then that memory may get allocated over and over again each iteration, causing the server to (eventually) run out of memory. You need to decide what is a realistic scenario for your application when using this option.

Thread Statistics

The Thread Control Dialog also shows you statistics about your threads. The information provided is as follows:

Name Meaning
URL This is the URL that the statistics refer to. Since several different items can be played it may not always be the actual URL but descriptive text of the item instead. Note that the URL is simplified to remove parameters and the protocol information to improve the readability of the display. When the item is a Request the id of the request will be displayed so that you can distinguish the request from others that may have the same URL.
Responses This is a count of how many times the item has been played. Note that Badboy only tracks the most recent 100 responses in order to conserve memory. Therefore once you reach 100 iterations, this number will no longer increase.
Errors A count of how many of the responses have returned errors. These may be HTTP errors such as Error 500 or 404 errors or they may correspond to Assertions or other items in the script reporting that they did not play correctly.
Average Time This is the average time in milliseconds (ms) that the response to the request took. Note that where a request has many sub requests (eg. redirects or child frames) the reported time includes the total time for all the requests to occur.

Other Topics Related to Thread Items

Badboy Documentation Generated on Mon Dec 29 22:28:42 EST 2008