If you want to do parallel processing, I highly recommend you to use Hustle. It is a free tool which will help you to handle the number of threads you want to run at the same time.
4. Avoid User Locking
Having users locked and not able to access their data is one of the worst situation for a TM1 Administrator, hopefully it does not happen often in the TM1 world. Here some tips to avoid user locking:
- Turn off cube logging by using CellPutS( 'NO', '}CubeProperties', 'cubename', 'LOGGING' ) instead of CubeSetLogChanges( 'cubename', 0 ).
- Avoid dimensions update during working hours ( Split metadata update and data update in 2 different TI)
- Use CellGetN with cautiou, it can create locking.
- Security Refresh (use processes over rules to update TM1 security).
- Set up Alerts to be the first to know when there is an issue.
5. Train your users
After implementation it is usual for users to develop their own TM1 spreadsheets that may or may not be designed according to best practices. Depending on what they build (Large cube view or do spreading on a high consolidation), it might slow down or even lock TM1 during working hours. In order to avoid these issues you should make sure that they know the TM1 basics:
- Use VIEW function in a slice.
- Use DBRW instead of DBR.
Pulse analyses all Excel workbooks linked to your TM1 application and can help you to identify users who need training.
6. Restart your TM1 server on a weekly basis
TM1 elements that are deleted aren't removed from the TM1 indexes until a server restart. So if you are frequently removing and adding elements your memory will grow overtime. Restarting the TM1 instance will help removing temporary files.
7. Clean dimensions
The number of elements in dimensions increase over time. Even if it is not an issue for a cube to have lots of "0" cells, having lots of elements in your dimension will slow down all your MDX query or dynamic subsets.
This is relevant only for Large dimensions (>100,000 elements) such as Product or Customer dimensions. Be very careful during this step because if you delete an element, you will loose the data attached to it.
8. Snapshot old data
Rules should be applied only on a specific cube area where data changes. You do not need rules if your data is static such as last year data for example. What you could do is export cube data for the specific year, remove the rules and then load the data back, the data for this year will then be static and it will be much faster to query them.
9. Tune VMM/VMT
TM1 keeps the calculation in memory, the first time you open a cubeview, if it takes more time than the VMT value (default is 5 sec), TM1 will keep this view in memory (TM1 creates a stargate view), next time you open the cubeview, it will be much faster because TM1 will open the stargate view instead of recreating the view from scratch.
VMM is the amount of RAM reserved on the server for the storage of stargate views. Increasing this value will allowed TM1 to store more stargate views which means that TM1 will be much faster but it will consume more memory.
10. Disable anti-virus on the TM1 data folder
Virus scan software can negatively impact your TM1 application performance. You should set up your anti-virus to skip TM1 folders.