This setting is at the MicroStrategy Intelligence Server level.
Introduction to Threads:
Basic concept of threads is basically a flow of execution through the process code. It is a light weight process. It provide a way to improve application performance through parallelism. Usually, all threads within a process share same global memory.
A thread is the basic unit to which the operating system allocates processor time.
About MSTR Network Threads:
Network threads in MicroStrategy Intelligence server are responsible for reading the network buffers and depositing the message on an event queue, which is further processed by the application model.
You can change the number of network connection threads if you want to restrict the number of threads to less than the default 5 because your network cannot handle that much load. Alternatively, if you have a robust network and wish to allow more threads, you can increase the number as desired.
My recommendations would be leave it with default (provided Iserver has RAM of 5GB minimum to handle 500 connections at a time) and see the performance. Based on the impact to the cube publish or job queue time, decide on increasing or decreasing it. Keep in mind, you should have enough memory on your Intelligence Server to handle the request always.
Every network connection thread reserves approximately 1 MB of memory on the Intelligence Server machine, and can handle between 64 and 1028 user connections depending on your network configuration.
Configuration Steps:
As I mentioned initially, this is an Intelligence Server Level setting which can be modified/viewed only on MicroStrategy Developer (or) Command Manager via scripts
> Developer Icon
> Command Manager Icon
The ‘Number of network threads’ setting can be found under: Right Click the Connected Project Source (such as Dev, QA, and PROD) > Go to > Configure MicroStrategy Intelligence Server > Server Definition > General, as shown in the image below:
Pic Credit: MicroStrategy KB Article KB16624
Detailed Explanation:
This setting allows users to control the number of network threads that will be created by the Intelligence Server to communicate with MicroStrategy Web, desktop and other clients.
For Intelligence Servers running on a Windows platform, the number of network threads restricts the maximum number of TCP/IP connections that the Intelligence Server may be able to keep connected at any given time. Because of the Winsock implementation, each thread can have a maximum of 64 connections open. So the relationship between the number of network threads, and the number of client connections is expressed as follows:
Number of client connections (in this case TCP/IP network connections) = 64 x Number of network threads
The default value for the ‘Number of network threads’ setting is ‘5’ and this implies that the maximum allowable number of concurrent client connections is 320.
If for example, you have an environment where “Number of Client Connections” at Iserver level is set as 2000 (Per Cluster or Single Node), then discuss with your network team to increase the “Number of Network Threads” from 5 to 30. Try with trial/error method to determine the sweet spot than increasing it to 30 at first go. Any tuning needs better testing and hence would recommend capturing the stats by increasing it by 2 or 3 steps each cycle and evaluate the sweet spot for your environment.
As per the formula given above, it will be calculated as below:
# Of Client Connections = 64*30 = 1920 (closer to 2000)
Note: validate with the help of network team by having more concurrency test performed (such as running command manager scripts or integrity manager test with concurrency increased or scheduled dashboard jobs at a point of time and validate the performance counters
Note: A value of 5 for the ‘Number of network threads’ setting does not mean that only five clients can connect concurrently, but rather that up to 320 concurrent client connections are possible. Each MicroStrategy Desktop / Command Manager / Object Manager / Enterprise Manager tool will generally open just a single connection to the Intelligence Server. MicroStrategy Web servers will open connections in accordance with the parameters specified in the Web Administrator page. Further, MicroStrategy Web pools user sessions within the network connections. What this means is that a relatively small number of connections from the Web server to the Intelligence Server can sustain a large user session load. The optimal number of Web connections may be determined by performing load testing analysis.
Intelligence Server Universal: Because the network socket layer in Unix/Linux platforms differs from the Windows OS, the number of network threads does not have any significance with relation to the maximum number of connections for the Intelligence Server on these platforms. The maximum number of connections that can be created to the Intelligence Server Universal depends on the underlying file descriptor set size (FD_SETSIZE), since open network sockets are abstracted as file descriptors. For Linux the theoretical maximum number of connections is 1024, for HP-UX 2048 and for AIX and Solaris it is 65535. This is purely theoretical because the files are opened by the Intelligence Server for other activities including inter process communication with the database processes (M8MulPrc_32), which reduces the number of available file descriptors for network communication.
Note: The default optimal value as determined by in-house tests for this setting is 5. Higher values for this setting may affect performance without providing any appreciable benefit. Lower values of this setting may slow or prevent connections to the server, in a high concurrency environment. The optimal value of this setting is environment dependent and may be chosen by trial and error.
Post Credit: MicroStrategy Knowledge source