Tm1 Server Administration
Tm1 Server Administration
Tm1 Server Administration
Copyright Copyright 2008 Cognos ULC (formerly Cognos Incorporated). Cognos ULC is an IBM Company. While every attempt has been made to ensure that the information in this document is accurate and complete, some typographical errors or technical inaccuracies may exist. Cognos does not accept responsibility for any kind of loss resulting from the use of information contained in this document. This document shows the publication date. The information contained in this document is subject to change without notice. Any improvements or changes to the information contained in this document will be documented in subsequent editions. This document contains proprietary information of Cognos. All rights are reserved. No part of this document may be copied, photocopied, reproduced, stored in a retrieval system, transmitted in any form or by any means, or translated into another language without the prior written consent of Cognos. Cognos and the Cognos logo are trademarks of Cognos ULC (formerly Cognos Incorporated) in the United States and/or other countries. IBM and the IBM logo are trademarks of International Business Machines Corporation in the United States, or other countries, or both. All other names are trademarks or registered trademarks of their respective companies. Information about Cognos products can be found at www.cognos.com This document is maintained by the Best Practices, Product and Technology team. You can send comments, suggestions, and additions to [email protected] .
Contents
1 1.1 1.2 1.3 2 2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 3 4 4.1 4.2 5 5.1 5.2 5.3 6 6.1 6.2 6.2.1 6.2.2 6.3 INTRODUCTION ............................................................................................ 4 PURPOSE ............................................................................................................4 APPLICABILITY .....................................................................................................4 EXCLUSIONS AND EXCEPTIONS ..................................................................................4 SERVER SIZING GUIDELINES TM1 9.X ...................................................... 4 USING THE TM1 SIZING GRID TO DETERMINE AN OPTIMUM TM1 CONFIGURATION...................4 USING SIZING METRICS TO DETERMINE AN OPTIMUM TM1 CONFIGURATION ..........................6 Defining Users...................................................................................................6 Estimating Model Size ........................................................................................7 Defining Topology .............................................................................................9 General Server Hard Drive Guidelines...................................................................9 TM1 SERVER CAPACITY PLANNING GUIDELINES ...................................... 10 TM1 SERVER UPTIME/RESTARTING GUIDELINES ..................................... 10 RECYCLING THE TM1 SERVER ................................................................................. 10 SAVING THE DATABASE ......................................................................................... 10 MONITORING MEMORY USAGE .................................................................. 11 SERVER LEVEL MEMORY STATISTICS ......................................................................... 11 CUBE MEMORY STATISTICS .................................................................................... 11 MEMORY CONSUMPTION FOR OTHER OBJECTS ............................................................. 12 STARTING AND STOPPING THE TM1 SERVICE USING NETSVC.................. 12 PREREQUISITE.................................................................................................... 12 CREATING THE BATCH FILES ................................................................................... 12 Creating stop_tm1.bat...................................................................................... 12 Creating start_tm1.bat ..................................................................................... 12 SCHEDULING BATCH FILE EXECUTION IN TASK SCHEDULER .............................................. 13
1 Introduction
1.1 Purpose This collection of articles focuses on the administration, planning, and sizing of the TM1 server hardware. Applicability IBM Cognos TM1 version 9.1 and prior releases Exclusions and Exceptions No exclusions have been identified at this time.
1.2
1.3
2.1
Consult the TM1 Sizing Grid grid below to quickly identify common configurations for TM1.
Admin = Admin/Power User, RW = Read/Write user, RO=Read Only or Reporting user, often Web-based.
To use the grid, locate the recommended configuration at the intersection of the user community and model size that most closely correspond to your implementation. For example; if you have roughly 100 users, and the vast majority of those users are readonly users, your implementation most closely resembles the Heavy Reporting user community. If your TM1 model is smaller than 3 GB, but larger than 1 GB, your implementation most closely resembles the Model < 3GB model size. You will find your recommended configuration at the intersection of the Heavy Reporting user community and the Model < 3GB model size, as shown below.
2.2
The size of a TM1 model can be estimated from known data (a POC using a subset of real data, known dimensionality, or known data to be loaded) but there will always be unknown factors such as the space required for view storage, feeders, hierarchies and rule calculations. The basic process is as follows:
2.2.1
Defining Users
Sizing recommendations are based on the assumption of peak concurrent user counts as defined below. Define the planned number of concurrent users based on the definitions below. Each concurrent user will require 20 MB RAM on the TM1 server when connected so knowing the total concurrent user community is important.
Read-Only User
100
10% or 10:1
10
2.2.2
An accurate estimate of TM1 model size can only be calculated from a real-world model built on actual data (such as a POC model using a proportion of the actual models data). If a real-world model is not available then use either an estimate based on data to be loaded into the model or choose one of the reference systems given in the Sizing Grid above.
Estimation using known data volumes is a fairly simple process and is useful for getting a feel for the order of magnitude of the data. Data Each data item loaded into TM1 will occupy, on average, 14 bytes of RAM. Each calculated member will proportionally increase the data. 1,000,000 rows with 12 data items in each row= 12,000,000 * 14 bytes = 160MB Model for 5 years of data = 801MB Calculations Calculated Forecast is one year of extra calculations = 160MB 10 Users =10 * 12 MB = 120MB 801+160+120 = 1.1GB
TM1 32-bit
4 GB Unlimited* Unlimited*
TM1 9 64-bit
For all but the simplest applications the host machine should be SMP capable. This is a binary procurement decision a given server is or is not SMP-capable, and cannot be upgraded at a later date. Procure the fastest processor speed, largest processor cache size and fastest Front Side Bus speed your budget will allow. After SMP processor count, these three factors have the biggest impact on TM1 performance.
2.2.3
Defining Topology
TM1 Topology is fairly simple; in most cases the TM1 server stands alone with perhaps a TM1 Web server providing Web access to the applications. There is a case, however, to sometimes introduce a Reporting Server into the topology to increase the performance of reporting users.
It is also possible to use multiple TM1 Web servers if you have a significant number of TM1 Web users.
2.2.4
The host machines disk subsystem can be almost ignored procure the smallest local disk available (anything over 72 GB should be sufficient).
10
Unfortunately, most server-class machines come with fault-tolerant disk subsystem (e.g. hotpluggable SATA RAID), which is expensive yet all but wasted on TM1s RAM-resident database. Two exceptions to this rule: If you plan on staging/storing very large ASCII files for ETL purposes on the local disk of the TM1 Server host machine, plan accordingly. Similarly, if you plan on storing many large Binary Large Objects (BLOBs ) in TM1 Applications, you will require a sufficient amount of disk storage, as BLOBs are stored directly on disk.
4.1
Even though TM1s memory management is very stable and some users run the TM1 server uninterruptedly for weeks or months, IBM recommends recycling the server on a weekly basis or after loading a large amount of new data. Such periodic recycling ensures a more compact and efficient storage scheme. If the TM1 server is running as an application, the server may be stopped automatically by setting the Tm1s.cfg parameter Downtime. Alternatively, the TM1 server can be stopped and restarted using an external scheduler.
4.2
A database save writes all changed cubes to disk storage and restarts the transaction log. The TM1 database should be saved nightly; this prevents log files from getting unmanageably long and reduces the recovery time in case of hardware or software failure. The TM1 database can be saved automatically by:
11
If you process data through TurboIntegrator or processing worksheets with cube logging turned off, a database save should be performed immediately after the data load is complete. When processing data through TurboIntegrator, this can be accomplished by calling the SaveDataAll function in the Epilog of the TurboIntegrator process.
TM1 allocates memory as it needs it from the operating system. However, when it frees memory, it does not return it to the operating system, but puts it in a garbage list which it then reuses as needed. Accordingly, the operating system performance monitor will not give you an accurate measure of the current consumption of memory of the TM1 server. Instead, IBM recommends using the TM1 Performance Monitor, as described in the TM1 Administrator's Guide.
5.1
The TM1 Performance Monitor keeps the following memory statistics for the server as a whole: Memory Used Memory In Garbage The sum of the two quantities should correspond to the memory consumption reported by the operating system performance monitor.
5.2
The TM1 Performance Monitor keeps the following memory-related statistics for each cube in the server: Total Memory Used Memory Used for Input Data Memory Used for Feeders Memory Used for Calculations Number of Fed Cells Number of Populated Numeric Cells Number of Populated String Cells Number of Stored Calculated Cells Number of Stored Views Memory Used for Views
12
5.3
The memory consumed by dimensions, subsets and other objects appears in the properties window of the TM1 Server Explorer. Note that the memory displayed for views is only the memory required to store the definition of the view. The memory used to store the values associated with the view will appear in the Memory Used for Views item produced by the performance monitor associated with the cube to which the view belongs.
6.1
Prerequisite
The netsvc command is part of the Windows 200 Resource Kit, which must be installed before you can successfully complete the procedure described below.
6.2
You must create two batch files, one to stop the TM1 server and one to start the TM1 server. Before you create these files, make sure you know the name of the computer on which the TM1 server is installed (computer_name) and the name of the service assigned to the TM1 server (service_name).
6.2.1
Creating stop_tm1.bat
The stop_tm1.bat file contains a single command to stop the TM1 server. 1. Start Notepad or your preferred text editor. 2. Enter the following line in the text file:
netsvc /stop \\computer_name "service_name"
For example, if your TM1 server is running as a service named "TM1 Server - SData" on a computer named CorpData, you would enter the line netsvc /stop \\CorpData "TM1 Server - SData". 3. Save the text file as stop_tm1.bat.
6.2.2
Creating start_tm1.bat
The start_tm1.bat file contains a single command to start the TM1 server. 1. Start Notepad or your preferred text editor. 2. Enter the following line in the text file:
netsvc /start \\computer_name "service_name"
13
For example, if your TM1 server is running as a service named "TM1 Server - SData" on a computer named CorpData, you would enter the line netsvc /start \\CorpData "TM1 Server - SData". 3. Save the text file as start_tm1.bat.
6.3
To schedule a time to stop and start the TM1 server, complete the following steps for both tm1_stop.bat and tm1_start.bat. You should set up your schedule so that tm1_stop.bat is executed first, followed by tm1_start.bat. When creating the schedule, allow sufficient time for the TM1 server to completely shut down. For example, if you schedule tm1_stop.bat to run at 11:00 PM, schedule tm1_start.bat to run at 11:10 PM. 1. From the Windows taskbar, click Start 2. Double-click Add Scheduled Task. 3. Follow the prompts in the Scheduled Task Wizard. Control Panel Scheduled Tasks.