+ All Categories
Home > Documents > Understanding Ibm Cognos 8 Powerplay Performance

Understanding Ibm Cognos 8 Powerplay Performance

Date post: 22-Oct-2014
Category:
Upload: danielle-santos
View: 155 times
Download: 1 times
Share this document with a friend
Popular Tags:
12
Guideline Understanding IBM Cognos 8 PowerPlay Performance Product(s): IBM Cognos 8 PowerPlay Area of Interest: Performance
Transcript
Page 1: Understanding Ibm Cognos 8 Powerplay Performance

Guideline

Understanding IBM Cognos 8 PowerPlay Performance

Product(s): IBM Cognos 8 PowerPlay

Area of Interest: Performance

Page 2: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 2

Copyright and Trademarks

Licensed Materials - Property of IBM.

© Copyright IBM Corp. 2010

IBM, the IBM logo, and Cognos are trademarks or registered trademarks ofInternational Business Machines Corp., registered in many jurisdictions worldwide.Other product and service names might be trademarks of IBM or other companies. Acurrent list of IBM trademarks is available on the Web at http://www.ibm.com/legal/copytrade.shtml

While every attempt has been made to ensure that the information in this documentis accurate and complete, some typographical errors or technical inaccuracies mayexist. IBM does not accept responsibility for any kind of loss resulting from the useof information contained in this document. The information contained in thisdocument is subject to change without notice.This document is maintained by the Best Practices, Product and Technology team.You can send comments, suggestions, and additions to [email protected].

Microsoft, Windows, Windows NT, and the Windows logo are trademarks ofMicrosoft Corporation in the United States, other countries, or both.

Page 3: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 3

Contents

1 INTRODUCTION .............................................................................................. 4

1.1 PURPOSE..................................................................................................................41.2 APPLICABILITY.............................................................................................................41.3 EXCLUSIONS AND EXCEPTIONS...........................................................................................4

2 BACKGROUND INFORMATION ....................................................................... 4

2.1 OVERVIEW................................................................................................................42.2 ARCHITECTURE AND REQUEST FLOW

52.3 COMPARISON WITH OTHER COGNOS 8 SERVICES......................................................................62.4 ADMINISTRATIVE SETTINGS AND MIGRATION...........................................................................7

3 HIGH/LOW AFFINITY CONNECTION SETTINGS ............................................ 7

3.1 UNDERSTANDING THE NUMBER OF HIGH/LOW AFFINITY CONNECTION SETTINGS................................... 73.2 HIGH/LOW AFFINITY CONNECTION SETTINGS AND IBM COGNOS POWERPLAY CLIENT CONNECTIONS............93.3 HIGH/LOW AFFINITY CONNECTION SETTINGS RECOMMENDATIONS...................................................9

4 POWERCUBE READ CACHE ........................................................................... 10

4.1 UNDERSTANDING POWERCUBE READ CACHE SETTINGS..............................................................104.2 SETTING PPDS CACHE SETTINGS....................................................................................104.3 PPDS CACHE SETTINGS RECOMMENDATIONS.........................................................................11

5 MONITORING AND TUNING ......................................................................... 11

Page 4: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 4

1 Introduction

1.1 Purpose

This document is intended to provide IBM Cognos Series 7 PowerPlayadministrators an overview of the tuning mechanisms in place for IBMCognos 8 PowerPlay.

1.2 Applicability

This document applies to: IBM Cognos PowerPlay 8.4 27.27

1.3 Exclusions and Exceptions

Although some contents of this document may apply to an environment thathouses both IBM Cognos 8 PowerPlay content and content form other IBMCognos 8 BI components; this document is geared for IBM Cognos 8PowerPlay content only.

2 Background Information

2.1 Overview

The IBM Cognos 8 service-oriented architecture makes possible theintegration of IBM Cognos PowerPlay into the IBM Cognos 8 environment.This integration provides a lower cost of ownership while enhancing thecapabilities of IBM Cognos PowerPlay and maintaining the same product feelthat is know to existing users. Among the benefits, this architecture:

allows the PowerPlay service in the IBM Cognos 8 environment tocontinue to use the same query engine as in IBM Cognos Series 7. Asa result, IBM Cognos PowerPlay reports and cubes, migrate easily intothe IBM Cognos 8 environment.

adds PowerPlay as an IBM Cognos 8 studio and allows existing IBMCognos 8 studios to open PowerPlay reports. This allows reportauthors to work with a familiar interface to produce reports andleverage the features of other IBM Cognos 8 studios.

allows for drill through from IBM PowerPlay Studio to other existingIBM Cognos 8 studios.

provides a single access point for all IBM Cognos 8 administrationsettings within the IBM Cognos Administration zero-footprint Web-based interface.

Page 5: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 5

2.2 Architecture and Request Flow

An incoming HTTP request is received by the Cognos 8 gateway and handed off tothe load balancing C8 Dispatcher (if one exists). In Series 7, PowerPlay had its owngateway. In Cognos 8, all components use a common gateway – Cognos.cgi. Theload balancing dispatcher will receive the request and will then find a C8 dispatcher(request processor) to process this request based on a weighted round robinalgorithm, and will then send a BIBUS request to the selected C8 dispatcher.

Once a dispatcher has been identified to process the request, it will receive theBIBUS request and look for a connection to pass the request to the PPESBusServer.If all connections to the PPESBusServer are busy (See Affinity section), the requestwill go into a queue where it waits for the next available connection. When requestsare queued, a connection becomes available when a previous request hascompleted. PPESBusServer is a thin wrapper around the BIBUSTKServer process,and contains the PPES plug-in, which is the equivalent of the Series 7 PPESDispatcher.

Page 6: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 6

The PPES Plug-in calls QECL to get credential information. QECL is the componentthat IBM Cognos PowerPlay uses to store session information, such as credential anddata source connection information. The PPES Plug-in then passes the request off toa ppdsweb.exe (query processor or QP) or pprp.exe (report processor or RP). An RPprocesses PDF reports in Client layout, where all other PowerPlay 8 requests areprocessed by the ppdsweb process. The ppdsweb and pprp processes perform thesame functions in IBM Cognos PowerPlay 8 as they did in IBM Cognos Series 7PowerPlay. If the maximum number of QP’s or RP’s is already in use, then therequest will go into a queue (different from the above mentioned queue).

The QP receives and parses the request and sends it to PPDS. HTML files are thenplaced into the temp directory, and then the QP replies to the PPES Plug-in with theencrypted HTML page. The QP is now done and is available for the next incomingrequest from the PPES Plug-in.

The PPES Plug-in will then pass the response to the C8 dispatcher via the sameconnection that was used for the incoming request. The C8 dispatcher passes therequest back to the load balancer (if it exists). The PPESBusServer connection cannow be used for other incoming and/or waiting requests. The C8 dispatcher receivesthe request and parses the response. The HTML page is passed to the CGI, which inturn passes the request back to the browser.

When using IBM Cognos PowerPlay Client, only the initial open request goes throughthe C8 dispatcher and PPESBusServer. All of the subsequent cube requests godirectly to a ppdsweb process via socket communication.

2.3 Comparison with Other Cognos 8 Services

IBM Cognos PowerPlay has different performance characteristics than Report Studioand Analysis Studio and Query Studio reports. It is not wise to blindly copy the highand low affinity connection settings from the Report Service to the PowerPlayService.

Report Service is typically tuned by adjusting the number of Report Serviceprocesses (Maximum number of processes for the report service during peakperiods) and not adjusting the high and low affinity connection settings. There is nosimilar setting for the PowerPlay service because there is only ever one process forthe PowerPlay service.

The PowerPlay service is implemented as a single "dispatcher" child process(PPESBusServer) that spawns and manages "query processor" child processes(ppdsweb.exe) that actually service requests. The PowerPlay Service dispatcherprocess is lightweight and can easily manage dozens (or more) query processors.There is no need to ever have more than one dispatcher process. The number ofquery processors per PowerCube/package or report is configurable.

Page 7: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 7

2.4 Administrative Settings and MigrationWhen an IBM Cognos Series 7 PowerPlay application is migrated to IBM CognosPowerPlay 8, the administrative settings for reports and cubes are migrated. Thiscan be seen by looking at the PowerPlay tab in IBM Cognos Administration after themigration has completed, and comparing these settings to the IBM Cognos Series 7PowerPlay Admin tool.

3 High/Low Affinity Connection Settings

3.1 Understanding the Number of High/Low Affinity Connection SettingsIn “IBM Cognos Administration”, click on the “Configuration” tab and then on“Dispatchers and Services” on the left. The main frame will list the services. Clickon the Properties icon for the PowerPlay service. Then click on the Settings tab.The settings discussed are the “Number of high affinity connections for thePowerPlay service during non-peak period” and “Number of low affinity connectionsfor the PowerPlay service during non-peak period”. These will be referred to as thenumber of high and low affinity connections.

Note that these two options should have simply been named “Number of high/lowaffinity connections for the PowerPlay service” leaving off the “during non-peakperiod.” These settings apply to peak and non-peak periods. In the future, we mayhave separate settings for peak and non-peak periods.

The sum of these two settings is the maximum number of concurrent requests thatthe PowerPlay Service will allow. In this default case, it’s 1 + 4 = 5.

In addition to affinity settings, maximum processes can be set on a cube and/orreport basis in IBM Cognos Administration, on the PowerPlay tab.

Page 8: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 8

Each high and low affinity request causes a new process (ppdsweb or pprp) to bespawned or an existing process to be re-used. The maximum number of ppdsweb orpprp processes that are spawned will not exceed the sum of high and low affinitysettings. This needs to be taken into consideration when setting affinity settings. Ifyou specify 1 and 4 as high and low affinity connections, but allow 10 cubeprocesses, only 5 processes will ever be spawned.

It’s important to understand the difference between low-affinity and high-affinityrequests.

Low-affinity requests are requests that can be handled equally efficiently by anyPowerPlay server. For example, opening a report can be done equally well by anyone of a number of available servers.

High-affinity requests are requests that can be handled more efficiently by aPowerPlay server that has handled previous related requests. For example, drillingdown on an already-opened report is a high-affinity request. It makes sense to sendthis request back to the same server that initially opened the report to takeadvantage of server-side state such as processes that have been started,connections opened, caches populated. Routing a high-affinity request back to thesame server provides better response time.

High-affinity connections are only used for high-affinity (and absolute affinity)requests. If there is a low-affinity request (i.e. opening a report) pending, and onlyhigh-affinity connections are available, the low-affinity request will be queued until alow-affinity connection becomes available.

Page 9: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 9

Low-affinity connections can be used for any requests, both high- and low-affinity.They’re general-purpose. If there are no high-affinity connections available toservice an incoming high-affinity request, it will be processed by a low-affinityconnection. It’s better for a high-affinity operation like “drill” to take a little longerby using a low-affinity connection than to have it languish in a queue waiting for anavailable high-affinity connection.

It may be tempting to set up the system with only low-affinity connections and nohigh-affinity connections. By only specifying low-affinity connections, you’re tellingthe system to treat all requests equally. If there are no high-affinity connections, aquick high-affinity request like a drill might wait in a queue behind a bunch of slowlow-affinity open requests. This may result in interactive users (who make high-affinity requests) seeing slower responses than they could. It will also mean thatabsolute affinity requests that have to be sent to a particular PowerPlay server maybe queued behind slower low-affinity requests. This will increase the amount of timeit takes for data to appear on the screen and make the user interface appearsluggish. Having an adequate number of high affinity connections is important.

The default out-of-the-box settings for the high and low affinity connections areshown in the picture above. The default is one connection for high-affinity requestsand four connections for low-affinity requests, for a total of 5 connections.

3.2 High/Low Affinity Connection Settings and IBM Cognos PowerPlayClient connections

The High/Low affinity connection settings only apply to IBM Cognos 8 PowerPlayinteractions performed via the portal. IBM Cognos 8 PowerPlay Client cancommunicate with local data sources persisted on disk or via remote data sourcespersisted on the IBM Cognos 8 environment. While IBM Cognos 8 PowerPlay Studiocommunicates to the IBM Cognos 8 PowerPlay service via the IBM Cognos 8dispatcher, IBM Cognos 8 PowerPlay Client communicates to remote data sourcesdirectly through the IBM Cognos 8 PowerPlay service. Therefore, High/Low affinityconnection settings have no impact on IBM Cognos 8 PowerPlay Client. Remoterequests between the IBM Cognos 8 PowerPlay Client and the IBM Cognos 8PowerPlay service are light weight in nature and are achieved directly via socketcommunications. This contrasts with the heavier requests between IBM Cognos 8PowerPlay Studio and the IBM Cognos 8 PowerPlay service brokered through theIBM Cognos 8 dispatcher.

Similar to IBM Cognos Series 7, controlling the overall number of query processorsavailable to IBM Cognos 8 PowerPlay Client is controlled by the Cube setting for theminimum and maximum processes on a package by package basis.

3.3 High/Low Affinity Connection Settings Recommendations

Please note that the most important recommendation is to monitor and tune yoursystem based on the other recommendations!

Page 10: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 10

Review administrative settings when deploying to new hardware. If youare also deploying to new hardware when moving to IBM Cognos 8 PowerPlay, it’simportant to review the administrative settings to see whether they best takeadvantage of the new hardware.

Set the total number of connections appropriately. A suggested starting point is to set the total number of connections based on the number of CPU’s. For adetailed case study, please see the IBM Cognos 8 PowerPlay Tuning and BestPractices document.

Monitor and tune the system. This is described in more detail in the Monitoringand Tuning section. It is vital to monitor and tune the system in order to optimizeperformance.

Consider putting Content Manager on a separate machine. In non-trivialenvironments (i.e. multi-user environments with significant numbers of packages,reports), it is generally advised to install Content Manager and the content store ona separate machine from the PowerPlay server.

4 PowerCube Read Cache

4.1 Understanding PowerCube Read Cache Settings

The default read cache size for published PowerCubes is 80 MB. You can set thisparameter to a value between 1 MB and 1 GB, as required for optimal queryperformance.

The optimal read cache size may be higher or lower than the default value of 80 MB.

This is to be expected, as PowerCubes in production vary widely in type and querycharacteristics.

Note that the read cache size has no effect on the initial time required to open acube.

4.2 Setting PPDS Cache Settings

To change the default PPDS Cache:

1. Open the ppds_cfg.xml (or ppds_cfg.xml.sample).2. Modify <ReadCacheSize value="80000"/> to what you would like the default

for all data source connections.

To set the PPDS Cache for an existing cube data source:

1. From Cognos Connection, launch IBM Cognos Administration.

Page 11: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 11

2. Click on the Configuration tab.3. In your list of data sources, click the data source you would like to modify.4. Click ‘Set Properties’ and then click on the Connection tab.5. Click Edit the Connection String, and then enter the appropriate value in the

Read Cache Size box.6. Click OK to close the Edit Connection String dialog box.

4.3 PPDS cache Settings recommendations

The typical profile for query performance, or processing time, follows a patternwhereby performance increases with the read cache size and then levels off beyondthe optimal setting. To determine the optimal setting, use the resulting queryperformance results as a guide for establishing whether reductions or increases arerequired.

The optimal read cache size will change as the cube grows and changes in theproduction environment. As a result, you should review the optimal read cache sizewhen changes to the user’s query performance pattern, or changes in thePowerCube characteristics, occur.

5 Monitoring and Tuning

The goal of the tuning exercise is to set up the system with the smallest number ofprocesses that fully utilize machine resources.

The best approach is to start with a low number of connections, and increasegradually, monitoring the system along the way and making adjustments.

Page 12: Understanding Ibm Cognos 8 Powerplay Performance

Understanding IBM Cognos 8 PowerPlay Performance 12

The Cognos Administrator should watch the queue metrics to determine if thesystem is keeping up with demand. To determine if PowerPlay requests are beingqueued:

Go to IBM Cognos AdministrationGo to the Status tabClick on SystemIn the Metrics – System frame, expand the Queue – PowerPlay service entry

Queue length represents the number of items currently in the queue. Time in queuerepresents the amount of time queued requests have been waiting to be processed.If these numbers are high, and the system is not fully utilized, the number ofconnections may not be set high enough to meet demand.

The machine administrator should watch the following:

CPU memory usage disk IO usage and swapping

If requests are getting queued and the machine is not maxed out on any of thesecriteria, increase the total number of connections. Stop as soon as the machine isfully utilized on one criterion.

Note that there is a penalty for adjusting the number of connections while thesystem is under load. Such adjustments are best done at a non-busy time.(Performance might be noticeably slow for up to five minutes after the number ofconnections is changed.)

If the system is set up with a sub-optimal high/low affinity connection ratio, thefollowing behaviors will become evident under high load:

If a system is set up with too high a ratio of high-affinity connections,opening reports will tend to take too long

If a system is set up with too high a ratio of low-affinity connections, usergestures that should be quick, like drill-down, tend to take too long. (What ishappening here is that these requests will be handled by low-affinityconnections in turn. So they may end up queued up after a bunch of reportopens.)

If the total number of connections is set too high, too many concurrent requests willcompete for machine resources resulting in contention for memory and disk, pagefaulting, etc. Throughput and performance will suffer. Disk IO rates will go throughthe roof and excessive memory and page faulting will be observed.

If the total number of connections is set too low, the machine will not be fullyutilized.


Recommended