MicroStrategy ONE
Governing User Resources
User sessions consume system resources when users log in to the system, especially when they use the History List and, in MicroStrategy Web, the Working Set. If a Web user's session expires and the system is configured to allow users to recover their session information, the stored session information uses resources. This section discusses these features and how you can govern them.
Like all requests, user resources are also governed by the Memory Contract Manager settings. For more information about Memory Contract Manager, see Governing Intelligence Server Memory Use with Memory Contract Manager.
History List
The History List is an in-memory message list that references reports that a user has executed or scheduled. The results are stored as History or Matching-History caches on Intelligence Server.
The History List can consume much of the system's resources. You can govern the resources used by old History List messages in the following ways:
- You can delete messages from the History List with a scheduled administrative task. For more information and instructions on scheduling this task, see Scheduling Administrative Tasks.
- In the Intelligence Server Configuration Editor, in the History settings: General category, you can limit the Maximum number of messages per user. If a user has hit this maximum and tries to add another message to the History List, the oldest message is automatically purged.
- In the Intelligence Server Configuration Editor, in the History settings: General category, you can set the Message lifetime (days). Intelligence Server automatically deletes any History List messages that are older than the specified message lifetime.
For more information about the History List, including details on History List governing settings, see Saving Report Results: History List.
Working Set
When a user runs a report from MicroStrategy Web or MicroStrategy Library, the results from the report are added to the working set for that user's session and stored in memory on Intelligence Server. The working set is a collection of messages that reference in-memory report instances. A message is added to the working set when a user executes a report or retrieves a message from the History List. The purpose of the working set is to:
- Improve MicroStrategy Web performance for report manipulations, without having to run SQL against the data warehouse for each change
- Allow the efficient use of the web browser's Back button
- Allow users to manually add messages to the History List
Each message in the working set can store two versions of the report instance in memory: the original version and the result version. The original version of the report instance is created the first time the report is executed and is held in memory the entire time a message is part of the working set. The result version of the report instance is added to the working set only after the user manipulates the report. Each report manipulation adds what is called a delta XML to the report message. On each successive manipulation, a new delta XML is applied to the result version. When the user clicks the browser's Back button, previous delta XMLs are applied to the original report instance up to the state that the user is requesting. For example, if a user has made four manipulations, the report has four delta XMLs; when the user clicks the Back button, the three previous XMLs are applied to the original version.
Governing History List and Working Set Memory Use in MicroStrategy Web
You can control the amount of the memory that is used by the History List and Working set in these ways:
- Limit the number of reports that a user can keep available for manipulation in a MicroStrategy Web product. This number is defined in the MicroStrategy Web products' interface in Project defaults: History List settings. You must select the Manually option for adding messages to the History List, then specify the number in the field labeled If manually, how many of the most recently run reports and documents do you want to keep available for manipulation? The default is 10 and the minimum is 1. The higher the number, the more memory the reports may consume.
- Limit the maximum amount of RAM that all users can use for the working set. When the limit is reached and new report instances are created, the least recently used report instance is swapped to disk. To set this, in the Intelligence Server Configuration Editor, under the Governing Rules: Default: Working Set category, type the limit in the Maximum RAM for Working Set cache (MB) field.
- If you set this limit to more memory than the operating system can make available, Intelligence Server uses a value of 100 MB.
- If you set this limit too low and you do not have enough hard disk space to handle the amount of disk swapping, reports may fail to execute in peak usage periods because the reports cannot write to memory or to disk.
If a user session has an open job, the user session remains open and that job's report instance is removed from the Working set when the job has finished or timed out. In this way, jobs can continue executing even after the user has logged out. This may cause excessive memory usage on Intelligence Server because the session's working set is held in memory until the session is closed. For instructions on how to set the timeout period for jobs, see Limit the Maximum Report Execution Time.
Governing Saved User Session Information (MicroStrategy Web only)
You can allow Web users to recover their document, report, or dashboard after their user session has been ended. If this feature is enabled and, for example, the user runs a report and walks away from their desk and the session times out, the user session information is saved. The next time the Web user logs in, if the recoverable session has not expired, the user can click a link to return to their recovered report. Enabling this feature uses disk space for storing the information. You can govern how long the sessions are stored before expiring. Long expiration times allow more information to be stored, thus using more system disk space. Shortening the expiration time more quickly frees up the system resources that the saved session was using.
To configure these settings, access the Intelligence Server Configuration Editor, select the Governing Rules: Default: Temporary Storage Settings category. To enable the feature, select the Enable Web User Session Recovery on Logout check box, and in the Session Recovery backup expiration (hrs) field, type the number of hours you want to allow a session to be stored. In Session Recovery and Deferred Inbox storage directory, specify the folder where the user session information is stored.