This is part 2 of our 10 point health check for TM1. Please see this link for Part 1.
7. Fine-Tuning Application Settings
Both the TM1 Server and Client have Settings files which should be tweaked in order to get the most out of your TM1 Implementation. While the default value of 98% of the settings are great for a best practices implementation, this leaves a few tweaks which can improve the usability and performance. Below is a table of settings you may wish to tweak within your environment. Please note that the default location of TM1p and TM1s Configuration files are also listed below.
|AdvancedRulesEditor||TM1p.ini||Dictates whether the Syntax Highlighting Rule Editor is used or not.||N||Y||With Syntax Highlighting and Code Folding the new editor saves time and is much more usable. The alternative appears to have not been updated since its inception.|
|GroupsCreationLimit||TM1s.cfg||Limits the number of groups that can be created on the Server.||20||100||Because changing this setting requires the TM1 Service to be restarted, as such its best to do it in advance so you are not caught out later.|
|MaximumLoginAttempts||TM1s.cfg||Limits the number of failed login attempts before that account is locked.||3||10||When an account becomes locked, it will stay locked until the TM1 Server is restarted.|
|MaximumCubeLoadThreads||TM1s.cfg||Limits the number of CPU Cores which TM1 will use when starting an application server.||0 (Disabled)||*One less than the number of CPU cores available.||This will load cubes in parallel by utilizing the different CPU Cores. *Its recommended to leave this setting at its default value of 0 – Zero when your server utilises conditional feeders or has 80% of the cubes linked via Rules.|
TM1 Configuration Files: (Can differ based on Operating System or TM1 Version).
- TM1p.ini – Client Side – C:\Documents and Settings\*User*\Application Data\Applix\TM1\TM1p.ini
- TM1s.cfg – Server Side – TM1 Servers Data Directory
8. Separate Data from Logs
TM1 Data files are very different to TM1 Log files. These destination folders are configurable settings within the TM1s.cfg File. The Data Directory (DataBaseDirectory) is where TM1 Objects are stored when a server is saved. The Logging Directory (LoggingDirectory) is where all server and data entry events are logged.
The Bottom Line: We recommend to have these settings pointing to two different subfolders (Data and Logging) within a single directory for your TM1 Model. The actual location will vary from site to site but as an example they should be:
9. Running TM1 via NT Service
I was recently told a story about a client who ran their TM1 Application Server as a Windows Application (tm1s.exe). This had implications for them which meant that once a month on a random day they would come into the office in the morning and the TM1 Server would not be running. What was really happening is that IT was installing updates to the Windows Server which is running TM1 and since TM1 was not running as a NT Service it would not start up with Windows. A User had to remote onto the server and start the Application via a Desktop shortcut everytime.
The Bottom Line: Production TM1 Servers should always be running TM1 as a NT Service, This provides the ability to restart TM1 if there was a crash and the start with Windows.
More Information: You can follow our instructions here (Article: TM1 Server Setup) to see how to setup TM1 to run as a Application or as an NT Service.
10. Basic Rule Conventions
This particular check could be expanded immensely to encompass best practises around layout, rule-feeder pairing and #region usage but for now we’ll limit it to the must-have Rule Conventions.
To check your rules for these conventions:
- Open Perspectives and Server Explorer
- Login to your TM1 Server
- Expand the “Cubes” leaf
- Expand a cube leaf with rule logic
- Double Click on the last leaf under that cube with the same name
The bare-minimum of Rule Conventions:
- SKIPCHECK – 99.9% of the time this is an absolute must! When this is excluded every cell within the cube is calculated regardless (performance degradation is an understatement in this case). When SKIPHECK is declared only fed cells are calculated. You can tell if SKIPCHECK is declared as it should be one of the first lines within the Rule Script. e.g. SKIPCHECK;
- The divide sign – When “/” is used to divide something by zero an #N/A error is generated which perpetuates throughout consolidations. We recommend using “\” instead of “/” which in the same scenario results in Zero “0”.
The Bottom Line: As a blank canvas, cube rules can become a black box of corporate logic if its not well structured and well documented. There is a lot which can be done to ensure your business gets the most from Cube Rules, the bottom line really is that without a well structured rule file, your TM1 implementation becomes less flexible for future updates.
Fancy a Checkup?
If your company has offices in Sydney, Australia you are welcome to a free Official TM1 Tutorials.com 1-Day TM1 Health check. Our checks are performed by our TM1 Consultants onsite and cover Hardware and Software Recommendations, TM1 Application Server Configuration, Implementation Checks, Alignment with Best Practices and Time Saving Practices for when using TM1.
Get the most of your implementation, Schedule now.