Description
Users may experience sporadic slow performance and connection error messages during peak usage times while working with documents that contain many graphs.
Why is this happening?
When scaling the number of users on the server, you are likely to encounter bottlenecks in rendering the graph, even though all threads are processing the necessary workflow. This is because a function in the graph rendering engine frequently reallocates new memory blocks and copies the original VDM data to a new memory block. This process can be time-consuming and blocks other threads for an extended period of time, resulting in performance degradation for the entire server.
Solution
Use discontinous memory blocks to hold the VDM data that is held by the original one continuous memory block. When there is not enough allocated memory, allocate a new discontinous memory block and put its index into a global table. This saves the amount of time previously used for memory reallocation and copying and avoids sporadic server slowness.
Windows (x64)
- To enable this fix on the Intelligence server, download the attached registry file called Build-in Parameters.reg.
- Double-click the file to apply it to the registry.
- We suggest using the default value in the registry, which sets the size of the memory block to be allocated-on-demand to 64MB and turns on the fix. In the registry, you see two key-value pairs.
- "EnableDiscontinuousVDM"=dword:00000001
The setting turns on the fix. If you want to turn off the fix, set this value to dword:00000000.
- "VFileIncrementalSize"=dword:00000040
The size of the memory block is set to 64MB. If you have a large amount of available RAM, you can increase this value.
- Restart the Intelligence server for the changes to take effect.
Linux
- To enable this fix on the Intelligence server, locate the MSIReg.reg file. Typically, this is located in the directory where you installed the Intelligence server, such as /var/opt/MicroStrategy/.
- Once you have located the file, navigate to its directory and run the following three commands inside the terminal:
echo "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MicroStrategy\\Graphs\\Build-in Parameters]" >> MSIReg.reg
echo "\"EnableDiscontinuousVDM\"=dword:00000001" >> MSIReg.reg
echo "\"VFileIncrementalSize\"=dword:00000040" >> MSIReg.reg
These commands turn on the fix and set the memory block size to 64MB.
- If you want to turn off the fix, open the MSRIReg.reg file and change the EnableDiscontinuousVDM value to dword:00000000.
- If you have a large amount of available RAM, you can increase the size of the memory block. Open the MSIReg.reg file and change the VFileIncrementalSize value to a larger size.
- Restart the Intelligence server for the changes to take effect.