Administration Guide

Tuning Inventory Server performance

Updated in 2021.1

The Inventory Server is a multitasking service capable of running several different tasks simultaneously. This article describes how you can configure your Inventory Server instances to run multiple concurrent tasks, or set a particular instance as primary to improve the audit snapshot processing performance in distributed networks.

Multitasking

Multitasking is the Inventory Server's ability to run multiple inventory tasks simultaneously.

At attempts to audit multiple computers concurrently, the server computer hosting the Inventory Server instance may reach the maximum number of inbound connections allowed for its operating system. To perform inventory tasks successfully, you can limit the number of active network connections by managing the number of concurrent audits for the server.

While the default multitasking configuration will be optimal for many customers, there are ways to improve the performance by changing the limits for active tasks and parallel audit processes, or disabling multitasking at all.

Primary server

When running multiple Inventory Server instances on distributed networks, you may want to designate one server as primary to improve audit snapshot processing performance. A primary server is an Inventory Server instance that uploads snapshots received from all automated audit tasks in Alloy Discovery. When one instance is set as primary, others become secondary. Secondary servers do not upload audit snapshots. They only run their automated audit and discovery tasks, receive snapshots, and queue their snapshots to wait for the primary server to process them.

For the best performance, the primary server should be the one closest to the database server.

NOTE: The primary and secondary server roles apply only to automated (scheduled) audit tasks, which produce massive snapshots whose upload could burden servers. Audit snapshots from on-demand audit tasks are uploaded locally by corresponding Inventory Servers.

Performance settings

The Services > Inventory Servers section in the Settings App displays a list of all Inventory Server instances registered in the database. Here you can set (or unset) a particular Inventory Server instance as primary and tune the server performance.

TIP: To quickly set an Inventory Server instance as primary, right-click that instance in the list and choose Actions > Set as Primary Server from the pop-up menu.

To tune performance of a particular Inventory Server instance:

  1. In the Settings App, navigate to Services > Inventory Servers.

  2. Double-click an Inventory Server record to bring up the Inventory Server [Server Name] dialog box.

  3. In the Performance section, set up the Inventory Servers settings as follows:

    • By default, the Inventory Server runs up to three concurrent tasks. You can change the value in the Maximum number of active tasks field as needed.

      To disable multitasking, enter 1. The server will perform only one task at a time.

      NOTE: When more than one task attempts to execute the same operation on a single Network Node (for example, audit the same computer), Inventory Server will execute only one operation. Other concurrent operations will be skipped.

    • By default, the Inventory Server runs up to 8 concurrent audit processes throughout all the active tasks. You can change the value in the Maximum number of parallel audits field as needed.

      To disable parallel auditing, enter 1. the server will run only one audit process within each active task.

      NOTE: When the limit for parallel audit processes is reached, no task can start new audit process until the Inventory Server is free to operate.

    • By default, the Inventory Server retrieves SNMP data from multiple devices simultaneously. To disable multithreading for retrieving SNMP data, clear the Enable multithreading for SNMP check box.

    • To set the Inventory Server instance as primary, select the Primary server check box. We recommend that you do not disable multitasking for your primary instance. The default multitasking configuration is the best choice.

      IMPORTANT: The primary server should be the one closest to the SQL server hosting your Alloy Discovery database.

  4. Click OK.