Try Googling “TM1 Performance problem” and a lot of advice comes up. Some of it contains useful information, for example http://www-01.ibm.com/support/docview.wss?uid=swg21454290.
And then there is the “shot in the dark” stuff like this which is only helpful if your problem happens to have this one cause (and is useless otherwise): http://pic.dhe.ibm.com/infocenter/ctm1/v10r1m0/index.jsp?topic=%2Fcom.ibm.swg.ba.cognos.tm1_api.10.1.0.doc%2Fc_tm1serverperformance_n802b4.html
In this blog post we give you a common sense strategy for (1) diagnosing a performance problem and (2) avoiding performance problems in the first place.
Any TM1 application is dependent on several separate but inter-related components. These include the TM1 server computer, the TM1 client computer, the web server (IIS or Apache Tomcat), Excel, the web browser, and network throughput. Depending on your setup, there can be others.
Your performance problem may be happening in one of these components, or in more than one at the same time. You cannot begin to solve the problem until you know the cause. And you cannot know the cause until you know exactly which component(s) are displaying symptoms.
To figure it out, you first need to be able to reproduce the symptom(s). Next, you need to design a scientific method that will either eliminate a component as a cause, or prove that a component is a cause.
For example:
It is very important to make sure that each test you do will clearly answer one specific question. Test design is not always easy, and is thus worth putting some thought into.
There are two important reasons to design, develop and test your TM1 application with real data, and real data volumes.
Try Googling “TM1 Performance problem” and a lot of advice comes up. Some of it contains useful information, for example http://www-01.ibm.com/support/docview.wss?uid=swg21454290.
And then there is the “shot in the dark” stuff like this which is only helpful if your problem happens to have this one cause (and is useless otherwise): http://pic.dhe.ibm.com/infocenter/ctm1/v10r1m0/index.jsp?topic=%2Fcom.ibm.swg.ba.cognos.tm1_api.10.1.0.doc%2Fc_tm1serverperformance_n802b4.html
In this blog post we give you a common sense strategy for (1) diagnosing a performance problem and (2) avoiding performance problems in the first place.
During the development cycles, make functional testing and basic performance testing an inherent, continuous part of your development process EVEN IF there is a full testing phase planned towards the end of the project. Why? It is easier and cheaper to address a nascent performance problem at the moment its cause is introduced to the system than later, when it is buried within a much larger model with complex dependencies.
Functional testing is important as part of this because it does not matter if your TM1 rule is quick, or your TI process is blindingly fast – if they do the wrong thing and if you are not able to tell whether they are doing the wrong thing, you should not have started development in the first place!
So every time you write ONE rule, or load ONE NEW TRANCHE of (real) data, do something simple like timing the refresh of a relevant cube view: if it used to refresh in 1 second, and now takes 5 seconds .. it is worth taking a closer look before proceeding.
By the time you get to the formal testing phase (User Acceptance Testing and Performance Testing etc.), it should really only be about tying up loose ends.
The QueBIT Team’s experience with TM1 goes back to around 1989, which means that we have had 25+ years to figure out how to get the most value out of TM1 with the least amount of effort! Our proven CARE methodology (http://www.quebit.com/methodology/) is all about empowering our customers and fostering their independence, while being available as trusted partners to support and advise as needed. We hope that these tips will help you tackle and avoid performance issues with TM1 on your own, but if you find you need some help, please get in touch to hear about QueBIT’s performance diagnostic services!