Architectural Best Practices and adequate Performance Testing will help insure that (at least) acceptable performance levels are met when a TM1 model is deployed. But as time passes, overall application performance may change -reducing effectiveness as well as user satisfaction.
This can be caused by a variety of events, such as:
A Changing User Community
After original inception, the TM1 user community may change. The following statistics should be considered:
- Number of concurrent users
- User Typing – number of “heavy writers” vs. the number of “read only” users
- User Geographies – are there more users working remotely now?
- User Scheduling – have peak usage times changed?
- User Consumption – have the type, volume or frequency of user queries changed?
Data Accumulation
As time passes, all models accumulate data – actual performance data, the number of budget or forecast versions, etc. How many years of history did you plan on storing in the model? How may forecast versions?
Data Divergence
Changes to the organization, its market, customer base, product line, etc. will affect the “face of the data” stored in the TM1 model. Depending upon the differences in the data, this may affect the memory consumption of many of the cubes in the TM1 model.
Modifications or Enhancements
Changes made to the original model may also affect performance:
- Programming changes implemented but not appropriately system or regression tested
- Changes to original model assumptions – for example the method of consuming data changing from optimized BI reports to allowing users to “create their own” with MS Excel and Perspectives, or the amount of history stored, etc.
- Environmental changes – such as moving to a new (or reconfigured) VM, backup/failsafe methodologies and scheduling, virus protection policies, memory and processor availability, etc.
Fitness Checks
To keep the model performing well, you need to perform a regular “TM1 fitness routine” which should include:
Evaluating the TM1 Control Cubes
TM1 gives us 4 control cubes to help with performance monitoring:
- }StatsByClient
- }StatsByCube
- }StatsForServer and
- }StatsByCubeByClient.
These cubes hold statistics for clients, cubes and servers and once “turned-on“, they track activity within TM1 on a minute-by-minute basis.
Watching from the (TM1) Top
TM1 Top is a utility that allows dynamic monitoring of threads running in an instance of a TM1 server. “Top” can be configured to regularly snapshot utilization statistics to a file for later evaluation and comparison.
Checking Out Windows Performance Monitor
Windows gives us this simple utility to view some basic machine and memory statistics. “PerfMon” can provide some general memory consumption information about the TM1 servers.
Reading Your Messages
There are 4 internal TM1 logging and messaging files that can help in tracking changes made to the server, user activity, system and server errors, etc.
These are:
- Admin Server Log
- Transaction Logs
- Server Message Log and the
- Audit Log:
Conclusion
Establishing a TM1 “fitness routine” is extremely important to keep your TM1 model in “fighting shape”.
One final suggestion – catalog the results each time you perform your routine so that you can begin to compare statistics over time – I guarantee you be surprised at what you see.