When starting up, the Strategy Intelligence Server creates a number of threads. The threads that are created are assigned to perform specific functionality for the Intelligence Server process as follows:
- Two administrative threads (startup / shutdown of the Intelligence Server)
- Two threads for the database connection manager.
- One thread for the Job Manager component
- Three threads for the Licensing components
- One thread for the User Session Manager
- One thread for the Memory monitor task (Web Throttling)
- One thread for the Job Thread Pool Manager
- One thread for the Cluster Manager
- Basic Queue threads - the default number of threads created in Strategy 8.x are:
- Browsing Queue - 4 threads
- Resolution Queue - 8 threads
- Query Engine Queue (Server definition) - 6 threads
- Analytical Engine Queue - 15 threads
- SQL Engine Queue - 6 threads
- Data Formatting Queue - 19 threads
- Command Queue - 40 threads
- Performance Command Queue - 5 threads.
- The default server definition configuration will create five threads for network communication (TCP) and one network thread for licensing (UDP).
The total number of threads that the Intelligence Server will create without a project being loaded is 121.
When a project is loaded by the Intelligence Server, additional threads must be created depending on the project configuration. These threads are listed below:
- One thread per project for the cache backup task.
- Two threads for the Statistics Manager (if enabled for the project).
- Warehouse job threads for each database instance selected in the Project Configuration:
The Strategy Intelligence Server when loading up a project will identify each database instance selected in the Project configuration and then create the number of threads specified in each database instance job priority tab.
For the example configuration in the screenshot shown below, assume that each of the four database instances shown for the project has two threads each specified for the low, medium and high job priorities. When this project is loaded, the total number of threads created for warehouse executions will be (2 low + 2 medium + 2 high) * 4 database instances = 24 threads.