Optimizing System Performance
Ping Monitor is designed to monitor a large number of hosts simultaneously, but the monitoring performance depends on multiple factors. The main factors are the number of monitored hosts, the monitoring settings and the hardware of the machine where the Ping Monitor server runs. When starting the program for the first time, you may indicate the estimated number of hosts to be monitored, so that the program can automatically configure the appropriate monitoring settings.
By installing the Ping Monitor server on a modern computer that satisfies hardware requirements listed below, it is possible to monitor 8,000+ hosts. The program has a technical limit of 32,000 hosts that can be monitored by one server. The practical limit depends on the used hardware configuration. You can use the following recommendations to configure hardware on the Ping Monitor server.
Hardware Requirements
Processor
- A single-core processor on the server allows monitoring up to 1000 hosts.
- Using a multi-core processor each core allows monitoring 4000 hosts. For example, using a 2-core processor, you can monitor 8000 hosts.
Memory
Depending on the amount of RAM installed, you will be able to monitor up to:
- 500 hosts per 1 GB if you have no more than 4 GB of RAM
- 1000 hosts per 1 GB if you have more than 4 GB, but no more than 8 GB of RAM
- 2000 hosts per 1 GB if you have more than 8 GB of RAM
For example, to monitor 2000 hosts the server requires at least 4 GB of memory. To monitor 8000 hosts the server needs at least 8 GB of memory installed.
Disk Usage Estimation
The program uses a database to store the collected data. Using the default settings, the program stores data in the file-based SQLite database. If you plan to monitor more than 1000 hosts during a long time, it's recommended to use a SQL Server database to improve the data storage performance. You can switch the database type on the Program Database page of the program preferences.
The program stores hosts statistics, raw ping reply data and all registered events for each host. With the default monitoring settings, it takes about 2.5 MB per host per month (0.2 MB for storing statistics and 2.3 MB for storing raw ping reply data), so make sure you have enough free space to store this data. The SQLite database is stored on the file system of the server, so make sure the hard drive space is sufficient to store the collected data.
To optimize the disk usage over time, the program may delete old data for each host automatically. You can configure the program to automatically clean up old data on the Monitoring Statistics page of the program preferences.
To save the disk space, the program skips storing the raw ping reply data by default if you monitor over 5000 hosts. You can configure the program to store raw ping reply data on the Monitoring Statistics page of the program preferences. Make sure you have sufficient free space available to store the data.
Tuning the Monitoring Settings
The program pings every monitored host regularly at a configured time interval, as explained in the How the Program Works chapter. If you monitor thousands of hosts at short intervals, it can cause a large CPU and network workload on the server. To prevent that, the program sets appropriate monitoring intervals at the first start of the program depending on the estimated number of hosts. You can change those settings later on the Monitoring Settings page of the program preferences.
If you plan to monitor a very big number of hosts, you need to avoid using short intervals to prevent a high system workload. The server tunes the intervals automatically depending on the current system workload and increases them, if required, to guarantee the monitoring system responsiveness. The server changes the intervals to the nominal values automatically when the system workload goes down. It's recommended to use 10-sec. monitoring intervals if you plan to monitor over 500 hosts and 30-sec. intervals if you plan to monitor over 1000 hosts, otherwise the server may change them automatically to prevent a high system workload.
Other Performance Optimization Recommendations
When you monitor a large number of hosts (i.e. over 1000 hosts), the program GUI client can use the system CPU and memory quite intensively. In this case, it's recommended to run the Ping Monitor server and GUI client on different machines to reduce the system workload. Parallel GUI client connections also influence the server performance, so you have to reduce the number of parallel connections to the server if it runs out of resources.