EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB441581: New Buffer Size Dynamic Growth Algorithm in MicroStrategy Secure Enterprise 11.0 and above


Danfeng Zhan

Principal Product Specialist • Strategy


This article introduces New Buffer Size Dynamic Growth Algorithm in MicroStrategy Secure Enterprise 11.0 and above.

In Strategy Secure Enterprise 11.0, dynamic growth algorithm for buffer size is introduced to improve the performance of buffer, and it is enabled by default.
 
This change improves the performance for memory intensive use scenario also potentially increases the memory footprint for Intelligence Server.
 
With the buffer size dynamic growth algorithm enabled, the number of blocks allocated per request is increased exponentially (1.5 times), subject to a limit (256MB). Once the limit is hit, the exponentially growth will be disabled.
 
For example:
Start with 40 blocks * 4KB, 160KB, next allocations would be
 
240KB, 360KB, 540KB, 810KB, 1.19MB, 1.78MB, 2.67MB, 4.00MB, 6.01MB, 9.01MB, 13.52MB, 20.27MB, 30.41MB, 45.61MB, 68.42MB, 102.63MB, 153.94MB, 346.38MB(limit kicks in), 346.38MB, 346.38MB, 346.38MB, 346.38MB, 346.38MB, 346.38MB, 346.38MB, 346.38MB
 
To disable above algorithm:
 
Unix:
 
Use the environment variable “MSTR_BUFFER_DISABLE_DYNAMIC_GROW”. Use below command to disable buffer dynamic growth on Linux:
 
export MSTR_BUFFER_DISABLE_DYNAMIC_GROW=1
 
Windows:
 
Add an environment variable to disable buffer dynamic growth on Windows as shown below:

ka02R000000keokQAA_0EM44000000QgWl.png

 
To confirm DYNAMIC_GROW is disabled:
When DYNAMIC_GROW is disabled, if start Intelligence Server in console mode, the console prints 'Dynamic grow disabled'.
To enable DYNAMIC_GROW again after disable it:
Use below command on Linux: 
export MSTR_BUFFER_DISABLE_DYNAMIC_GROW=0
NOTE: In Strategy 11.0, Strategy 2019 and Strategy 2019 Update 1, for metric-heavy cubes(more than 25 metrics), it is recommended to set environment variable MSTR_BUFFER_DISABLE_DYNAMIC_GROW =1 to avoid too much memory usage. 
There is no memory concern in 2019 Update 2 and above.
Article Reference Number: KB441581


Comment

0 comments

Details

Knowledge Article

Published:

August 27, 2018

Last Updated:

February 20, 2019