Tuning Job Servers in IBM Cognos Planning

Size: px
Start display at page:

Download "Tuning Job Servers in IBM Cognos Planning"

Transcription

1 Proven Practice Tuning Job Servers in IBM Cognos Planning Product(s): IBM Cognos Planning 7.1, 7.2, 7.3, 8.1, 8.2, 8.3 Area of Interest: Job Performance Tuning

2 Tuning Job Servers in IBM Cognos Planning 2 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 This document is maintained by the Best Practices, Product and Technology team. You can send comments, suggestions, and additions to cscogpp@ca.ibm.com.

3 Tuning Job Servers in IBM Cognos Planning 3 Contents 1 INTRODUCTION OVERVIEW EXECUTING A JOB TUNING JOBS IMPROVING JOB SERVER UTILIZATION... 8 APPENDIX A: OBSERVED RESULTS... 9

4 Tuning Job Servers in IBM Cognos Planning 4 1 Introduction This document provides details to improve job server utilization. Environments with strong infrastructure have seen high gains and performance benefits, while weak infrastructures have witnessed failures when implementing the setting recommended in this document. If you experience issues with the recommendations, experiment with the setting to ensure stable job execution. 2 Overview An IBM Cognos Planning job is an administration task batch process, broken into units of work that execute for every e.list item. The types of jobs executed in IBM Cognos Planning are: Commentary tidy: Deletes user annotations and audit annotations, and references to attached documents. Cut-down models: Cuts down applications. Cut-down tidy: Removes any cut-down models that are no longer required. Export queue tidy: Removes obsolete items from the export queue. Import queue tidy: Removes from the import queue model import blocks that are no longer required. Inter-app links: Transfers data between applications. To run successfully, requires that links are reconciled to e.list items. Job test: Test the job sub-system using a configurable job item. Language tidy: Cleans up unwanted languages from the data store after the Go to Production (GTP) process is run. This job is created and runs after the GTP process. Prepare import: Processes import data ready for reconciliation. Publish: Publishes the data to a view format.

5 Tuning Job Servers in IBM Cognos Planning 5 Reconcile: Ensures that the structure of the e.list item data is up to date. This job is created and runs after the GTP process. Reporting publish: Publishes the data to a table-only format. Validate links: Updates the validation status of links. Validate users: Checks to see if the owner or editor of an e.list item has the rights to access the e.list item. The job checks the rights of users and updates the information in the Web browser. This job is created only if a change is made to the Contributor model, and runs after the GTP process. There are two methods to view the Job Status. The easiest approach is to use the Job Doctor macro, where you simply need to select the Job Container, and provide a location for the Job Doctor report to be saved.

6 Tuning Job Servers in IBM Cognos Planning 6 Once you execute the Job Doctor Macro a.htm report will be generated in the location specified. The report will contain a great deal of information about the jobs that have been executed on the selected container. Another method is to query the tables job information is stored in. The job description and state are contained within the Application & Publish container P_JOB table. The P_JOBTASK table contains one row for every CPU that has worked on the job, as well as the user, machine, and state of the task. The P_JOBITEM contains one row for every e.list. It provides guids that can be related to the jobtask, jobguid, as well as providing the order the e.lists were executed, and their state.

7 Tuning Job Servers in IBM Cognos Planning 7 3 Executing a job Jobs are caused by administrative actions taking place in the application. Job servers monitor the Job Containers by polling the application database every 15 seconds (job polling times can be adjusted). Once a job is discovered the Job Begin process performs an initialization to get the job started. Each CPU designated for job execution monitors the application container and, more specifically, the P_JOBITEM table to see if there is a row of work to do. If there is a task to execute it locks the job item, indicating that it will work on it. It then processes the job item, clears the lock on the job item and performs the Job End task. This process is designed to harness as much of the job servers resources as possible. Tasks that initiate a job execution and the proceeding job are: Importing data: prepare import and reconcile * Running administration links: inter-app links, validate links Publishing data: publish and reporting publish Deleting annotations: annotations tidy Creating a new application: reconcile * Cut-down model options: cut-down models and cut-down tidy * Changing planner-only cubes: reconcile * Synchronizing with IBM Cognos 8 Planning Analyst: reconcile * * Indicates the job will be triggered by a GTP (Go to Production) 4 Tuning jobs Since Each CPU is working independently there is a chance that between the two queries above, (one query checking to see if there is work to do and the second query locking the row for a specific task that requires work), there is the possibility another CPU discovers it first, and locks the row.

8 Tuning Job Servers in IBM Cognos Planning 8 When this happens the originating CPU waits for a timeout value and looks for other rows. You may notice the following side-effects. Overnight batches are not fast enough to complete in the allotted time. Job servers appear under utilized. Database servers appear under utilized. Job Servers are denied locks by Job Tasks. This can be determined by viewing the Monitoring Console. If you see many Denied_Locks appearing this may be a symptom. 5 Improving job server utilization The lock check internal set by default during the install causes the delays in CPUs acquiring jobs. By default the maximum lock check interval is 30 seconds and the minimum is 5. If a CPU checks for a row which has recently been locked while job polling it can wait up to 30 seconds before moving to the next e.list item that requires work. You can modify this setting by making changes to the epjobexecutorresources.xml file found in either the <install>\cognos\c8\bin or the <install>cognos\cer*\mts directory. Make a copy of this file before modifying it s properties. Open the epjobexecutorresources.xml in your favorite text editor and change the values for Maximum lock check interval and Minimum lock check interval. This file may be set to read-only. If you remove the read-only setting before saving.

9 Tuning Job Servers in IBM Cognos Planning 9 ATTENTION: This setting needs to be changed on all job servers. All services or COM+ components need to be restarted once the settings have changed in order to allow the new settings to take effect the next time a job is executed. The suggested value for a strong Enterprise Planning Infrastructure is much lower. The suggested value is 2 for the maximum lock check interval, and 1 for the minimum lock check interval. Note: Do not modify The percentage of the existing lock duration to wait before trying to get the lock again value. Appendix A: Observed Results Testing has shown 10 25% reduction in job times across the board. The improvements vary widely on the characteristics of individual jobs.

10 Tuning Job Servers in IBM Cognos Planning 10 This puts more load on your network and database infrastructure as lock interval checks happen at a shorter interval.