
Monitor servers, workstations, devices and applications in your network
Network Monitor Multi-Threading
The ActiveXperts Network Monitor Engine (a Windows Service) is responsible for monitoring servers, workstations and devices from a central point.
It is designed to run multiple checks simultaneously. To do so, it uses so called 'threads'. Multi-threading gives a program the ability to perform several tasks concurrently.
In ActiveXperts Network Monitor, multiple threads are spawned, including:
- Dispatcher - holds the configuration of the software. It has a queue of rules and decides which rules need to be checked.
It determines which threads are busy and which threads are not, and passes a rule to a thread that is capable of handling that type of rule;
- Notifications and Reports - Notifications can be time consuming, and are therefore assigned to threads to do its job. For instance, an SMS message through an SMSC dial-up provider can take up to 90 seconds. A NetPopup notification message to a non-existing NetBIOS recipient can take up to 10 seconds;
- Checks - There are many threads for different checks, to optimize ActiveXperts Network Monitor's monitoring performance. There are threads for ICMP checks, Oracle checks, etc.
The number of threads strongly influences the performance of the ActiveXperts Network Monitor Engine (service).
If there are only a few threads, the software will not use much CPU and memory resources, but the throughput of checks may be low.
By increasing the number of threads, the throughput will increase.
However, too many threads will consume too many system resources together (each thread consumes memory and CPU),
decreasing the performance of the Network Monitoring engine dramatically.
It is recommended to have less than 40 threads on an average server.
If - for instance - you have a lot of ICMP checks, and only a few VBScript based checks, you can increase performance by configuring a few more ICMP threads and a few less VBScript threads.
On more powerful servers, you can configure more threads.
Configuring the number of Threads
To configure the number of threads, choose Options from the Tools Menu and select the Advanced tab. Press on the top-most button.
You find all different types of threads. You can change the number of threads that is spawned when the ActiveXperts Network Monitor is started. As a result, changes take effect after you restart the service!
The following threads are used by the network Monitor Engine (service):
- Environmental - Responsible for Environmental related checks: 'Door', 'Humidity', 'Light', 'Motion', 'Power', 'Resistance', 'Smoke', 'Switch', 'Temperature' and 'Wetness'. Default number of Environmental threads: 2.
- FTP - Responsible for handling FTP checks. Default number of FTP threads: 1;
IMPORTANT: you can configure only 1 FTP thread, because of the single-threaded nature of the underlying WinInet API;
- HTTP - Responsible for handling HTTP checks. Default number of HTTP threads: 4;
- ICMP/Ping - Responsible for handling 'ICMP/Ping' checks. Default number of ICMP/Ping threads: 4;
- OLE/DB - Responsible for checking OLE/DB compliant databases, including MS Access and MS SQL. Default number of OLE/DB threads: 2;
- Oracle - Responsible for handling Oracle checks. Default number of Oracle threads: 1.
IMPORTANT: you can configure only 1 Oracle thread;
- PowerShell - Responsible for handling PopwerShell based checks, including custom PowerShell checks. Default number of PowerShell threads: 2.
- Remote Command - Responsible for handling Remote Command based checks. Default number of Remote Command threads: 1.
- Removable Drives - Responsible for handling Removable Drive checks, to detect the presence of USB sticks, external hard drives, etc.. Default number of Removable Drive threads: 1.
- Serial Communications - Responsible for Serial Device check. Default number of Serial Device threads: 1;
- SMTP/POP3 - Responsible for the SMTP and POP3 checks. Default number of SMTP/POP3 threads: 4;
- SMTP/POP3 (round robin) - Responsible for the SMTP to POP3 check. It is a separate thread because an SMTP to POP3 check usually takes more than a minute. Default number of SMTP to POP3 threads: 1;
- SNMP Trap Receiver - Responsible for receiving incoming traps. Default number of SNMP Trap Receiver: 1. You can have maximum 1 SNMP Trap Receiver thread, because it handles all incoming traps;
- Socket - Responsible for Winsock related checks: 'TCP', 'ICA', 'RSH', 'SNMP GET', 'NNTP', 'NTP', 'DNS' and 'RADIUS'. Default number of Socket threads: 4;
- SSH - Responsible for SSH related checks: 'SSH' and 'SFTP'. Default number of SSH threads: 1;
- VBScript - Responsible for handling VBScript based checks, including custom VBScript checks. Default number of VBScript threads: 4;
- Win32 - Responsible for handling the following checks: 'Directory Size', 'Disk Space', 'Scheduled Task' and 'File'. Default number of Win32 threads: 4;
- WMI - Responsible for handling all WMI based checks: 'Anti-Virus', 'Active Directory', 'Hyper-V', 'CPU', 'Disk Drives', 'Event Log', 'Memory', 'MS BizTalk Server', 'MS Exchange Server', 'MS IIS Server', 'MS Index Server', 'MS ISA Server', 'MS Message Queue', 'MS SharePoint Server', 'MS Performance Counter', 'MS Terminal Server', 'Printer', 'Process', 'Service' and 'Windows Defender'. Default number of WMI threads: 4.