How CHARTrunner-m works
The CHARTrunner-m monitor service (the program that does all the monitoring work) runs in the background as a Windows service on one computer in your network.
The basic work unit for CHARTrunner-m is the monitor definition. The monitor definition defines the data source (where the data comes from), the test rules you want to evaluate when new data arrives, the response to take (send an email or text message) when a signal is found in the data, and the polling interval (how often to check the data source for new data). Your CHARTrunner-m license specifies the maximum number of monitor definitions that you can concurrently have in the active state. For instance, if you have a 30 monitor license you can define an unlimited number of monitor definitions, but at any time you cannot have more than 30 monitor definitions that are active.
The polling interval for each monitor definition can be set as often as every 30 seconds up to whatever interval you want to specify. The polling interval for each monitor definition is based in part upon how often new data will appear in the data source and how long you are willing to wait from the time new data arrives until you are notified of a signal.
Each time the polling interval for an active monitor definition expires, the monitor service asks the data source (which can be file-based like Access, or server-based like SQL Server) for that monitor definition to send any data that is more recent than the last time an evaluation occurred. By only getting new data during each evaluation the amount of work and time it takes to do the evaluation is minimized. If no new data has arrived since the last evaluation, then zero rows of new data are fetched and the evaluation of the monitor definition is done. Otherwise the new data is evaluated and the appropriate responses will be sent if there is a statistical signal in the new data.
Average evaluations per seconds
The number of metrics (active monitor definitions) that you will be able to monitor is related to the average number of evaluations per second that will occur in the monitor service. For example, if you have 30 active monitor definitions, and the polling interval for each monitor definition is set to 30 seconds, then on average one evaluation will occur per second. Or, if you have 200 active monitor definitions each with a polling interval of 5 minutes then on average 0.67 evaluations per second will occur.
On a modest test computer running Windows XP at PQ Systems a typical evaluation using data stored in SQL Server takes on average less than 0.05 seconds per evaluation. Thus this test computer can handle a maximum of around 20 evaluations per second. If the computer is capable of 20 evaluations per second and you are only performing one evaluation per second then on average CHARTrunner-m consumes about 1/20 or 5% of the computer. Since part of the evaluation time is consumed by waiting for the data source to send new data, the actual load on the computer could be less than 5%. Of course if it takes a long time to fetch data from the data source for each monitor definition (such as a busy or remote database server) your evaluations per second will be lower. For instance, if fetching new data for each monitor definition takes 5 seconds (a really slow data source) then on average you can only support around 0.2 evaluations per second.
We have tested the CHARTrunner-m monitor service installed on a computer of modest abilities (Dell Dimension 4700, Windows XP, 2GB RAM) with hundreds of active monitor definitions (each with a 30 second polling interval) using SQL Server as the data source with little performance degradation on the computer.
Power and workload of the computer
If the computer that runs the CHARTrunner-m monitor service is constrained by memory or processing power, or is already consumed with processing other tasks, it can adversely affect the number of monitor evaluations per second that can be achieved by that computer.
Network bandwidth
The operation of fetching new data from the data source often travels over your network. Typically this is not an issue if the monitor service and data sources are on a local network. But if there is low network bandwidth between the monitor service and the data sources it could adversely affect the number of evaluations per second you will be able to perform.