Getting Accurate Response Times for Transactions and HTTP/HTTPS Watch Items
This article addresses the issue of a response time differences between WebWatchBot, web browsers, and other programs that gauge response time.
How Web Browsers Work
Web browsers - Internet Explorer, Firefox, etc. - typically work in a similar fashion when downloading a web page (This is a high level overview and some of the low-level details are not noted):
- User enters a URL and the web browser will make an HTTP/HTTPS request of the web server.
- The web server will respond with a status code and the HTML for that URL.
- The web browser will show (render) the HTML in the window.
- The web browser will parse the HTML for objects, i.e. images, CSS, flash objects, etc.
- Each object is downloaded either individually, simultaneously, or a few at a time.
- The web server will respond with the data for that object
- The web browser will show (render) the object. For example an image will be displayed on the screen with the appropriate dimensions
The speed at which a web browser shows the HTML and referenced objects for a web page is dependent on a few factors:
- Which browser is being used
- The number of concurrent connections for that browser
- Speed that data is sent from the web server
- Speed that data is received by the web browser
How WebWatchBot Works
Most web browsers today will download the HTML of a web page and begin downloading all objects simultaneously as soon as possible. WebWatchBot performs in a similar manner, depending on how it is configured. By default, WebWatchBot will only download the HTML of the web page specified with the URL for that Watch Item. WebWatchBot is capable of downloading images and externally referened CSS files. To enable this option:
- Open the Watch Item's properties, then click on the "Settings" button.
- Selct the "Data Collection" tab.
- Check the box labled "Download Images"
- Click the "OK" button twice to close the Settings and Properties windows.
Note: Multiple Watch Items can be changed by selecting multiple Watch Items at one (Hold either the Shift or Ctrl key while selecting), then selecting "Properties" on the menu or on the toolbar.
Fine Tuning WebWatchBot
When setting the "Download Images" option, response times may differ from the perceived speed. In this case, one can make the following global settings change to fine tune the response times for a better match:
- In WebWatchBot Manager, select the menu options Tools -> WebWatchBot Preferences
- Under the section "Common Properties", select the sub-section "Watch Types"
- Change the value for "Simulate HTTP Threads"1 from the default value of 3. Either increase the value if response times seem slow, or decrease the value if the response times seem fast.
- After making the change, click "OK" to close the Preferences window. You may be prompted to restart the WebWatchBot service.
- Run a few tests and compare response times.
1Since each Transaction and Watch Item runs in its own thread withing a sigular process, additional threads to download a web page and objects are not created as would be the case with a typical web browser. Since web browsers do create multiple threads to improve overall speed, WebWatchBot must simulalate/calculate the same effect as if it were to create additional threads.