Improving Overall WebWatchBot Performance

From WebWatchBotWiki
Jump to: navigation, search


WebWatchBot is easy to install and setup; and maintaining it for optimal performance can be easy as well when following these best practices.

WebWatchBot's performance is dependent on several factors:

  1. Operating System
  2. WebWatchBot and other Applications
  3. Machine CPU speed and cores
  4. Machine physical memory (RAM)
  5. Database engine (SQL Server version)
  6. Database size

Setup and Installation Configuration

Operating System

  • WebWatchBot can be installed on older operating systems, e.g. Windows XP/2000; however, the best performance will be experienced with a newer OS, e.g. Windows 2008

WebWatchBot and other Applications

  • Other than SQL Server, anti-virus, and other Windows core programs, WebWatchBot should be the only application installed on the machine.
  • Other programs can interfere with WebWatchBot
  • There are no special firewall requirements for WebWatchBot
  • (WebWatchBot v5.1.17 and older) A Windows DEP exception should be made for WebWatchBot. Refer to KB: Running WebWatchBot on Windows 2003/2008/XP/Vista AND Newer
  • Install SQL Server and WebWatchBot on separate machines on the same physical network. This type of isolation will benefit both applications.

Machine CPU speed and cores

  • CPU speed has a direct impact on the performance of both WebWatchBot and SQL Server
  • More cores are better than a single higher clock rate CPU.
  • As the database size increases, the number of cores becomes more important

Machine physical memory (RAM)

  • Physical memory (RAM) directly impacts the performance of SQL Server
  • As the database size increases, the amount of physical memory becomes more important

Database engine (SQL Server version)

  • SQL Server 2008 has better performance than 2005; and, 2005 has better performance than 2000/MSDE
  • The Express editions of SQL Server 2005 and 2008 are good free solutions and can be used with WebWatchBot.
  • WebWatchBot with MSDE is good for small and starter implementations. For large configurations, heavy use, and large data retention, move to SQL Server 2008.
  • WebWatchBot with MSDE has inherent performance limitations. The limitations are due to MSDE (Microsoft SQL Server Desktop Engine): Maximum database size of 2GB and performance throttling. For large configurations, heavy use, and large data retention, move to SQL Server 2008.

Database size

  • The size of the database can be determined through WebWatchBot Manager: Tools -> Database -> Report. "Total Table Rows" will show how many records are in the WebWatchBot database. The upper limit that hurts performance depends on each specific system configuration. For a low end machine, 10M rows is high. For a high-end machine, 100M rows is high.
  • Reduce the size of the database and gain performance. Refer to KB:How to Reduce the Total Amount of Data in the WebWatchBot Database

WebWatchBot Preference Settings and Configuration

In WebWatchBot Manager, a number of settings can be changed from the defaults to improve performance, depending on certain situations and factors. These changes are not recommended for all configurations and your results may vary.

Common Properties


  • "Run as a Windows Service" - for best performance, this should be set to true. When WebWatchBot runs a service, it will run in the background even when a user is not logged into Windows.


  • "Auto Refresh Interval" - On systems with very low resources (CPU and memory) or a large number of Watch Items (over 500), changing this setting to 15, 30 or 60(seconds) will reduce the amount of resources needed to refresh WebWatchBot Manager with updates.
  • "Max Watch Items in chart" - Keeping this setting low will reduce the amount of resources needed to display the charts when multiple Watch Items are selected. The display of charts can be very resource intensive and may effect monitoring.


  • "Log Type" - The Archive log type can help keep log files smaller and will be easier for WebWatchBot to manage and take up less resources.
  • "Maximum Log Size" - Keep the size to 9999 or under to ensure the log file is not too large so that it effects resources.

Watch Types

  • "Connection Retries" - This setting spefies the number of times a connection to a site (HTTP/HTTPS) will be made when the initial connection fails. Changing this setting to 3 will reduce the amount of false positives when there are over 100 HTTP/HTTPS Watch Types.
  • "Resove Host Names" - Keep this setting on "False". Setting this to "True" will use considerably more resources when a trace route is performed.


  • "Retries" - A low setting of 2 or 3 will cause WebWatchBot to retry sending an email alert when the initial send has failed, but can cause the Watch Item to appear to be stuck on unresponsive.

Advanced Properties


  • "Run all Watch Items at start up" - Leave this setting on "False" to prevent WebWatchBot from overloading the system when the machine reboots or the service starts.
  • "Start Delay" - For configurations with over 100 Watch Items, increase this number in proportion with the total number of Watch Items to evenly space when Watch Items will run to prevent collisions. Use the following formula: If you have 200 Watch Items that run once every 5 minutes, 5*60 / 200 = 1500ms, which is (frequency of each run in seconds) / (# of Watch Items). If the number is below 1000ms, consider running your Watch Items less frequently or spread Watch Items across servers.
  • "Warm Up" - Change this setting to 1 or greater if "Run all Watch Items at start up" is set to "True"

Watch Item Configuration

  • (Watch Item Properties -> Alarm Tab) By default, alarms are triggered by one failure and reset by one success. We recommend that you change the number of consecutive failures to trigger an alarm to at least 3 and the number of consecutive successes to reset an alarm to at least 2. This will prevent false positives and ensure that when a Watch Item is no longer failing, it is truly recovering.

More Information

Correctly configuring and sizing a machine for WebWatchBot and SQL Server can be a time consuming process. ExclamationSoft offers Phone Support and Consulting not included in the ASA (Annual Support Agreement) to assist with this task. Please contact WebWatchBot Sales for more information.