17
© Copyright IBM Corporation 2009 IBM Software Group IMS Buffer Pool Tuning Manoj Kaveri Cert IMS DBA Large Healthcare Payor Account in US Oct 2010

IMSBufferpool Tuning concept AMS presentation v01

Embed Size (px)

Citation preview

Page 1: IMSBufferpool Tuning concept AMS presentation v01

© Copyright IBM Corporation 2009

IBM Software Group

IMS Buffer Pool TuningManoj Kaveri

Cert IMS DBA

Large Healthcare Payor Account in US

Oct 2010

Page 2: IMSBufferpool Tuning concept AMS presentation v01

IMS Storage

VSAM Control Interval : VSAM works with a logical data area known as a control interval (CI). The default CI size is 4K bytes, but it can be up to 32K bytes. The CI contains data records, unused space, and a CI descriptor field.

Most commonly used VSAM file in IMS. - Key Sequence Data Set (KSDS) Contain two components: INDEX and DATA -Entry Sequence Data Set (ESDS) Contain single component: DATA. OSAM Block Size : OSAM works with a logical data area know as a

block size. VSAM dataset can store data up to 4GB & OSAM up to 8GB Identify the file type in DBD DBD NAME=XXLA01DB, ACCESS=(HIDAM,VSAM) or ACCESS=(HIDAM,OSAM)

AMS Share-Net | Oct 2010

Innovative ImprovedUsability

OpenStandards

Page 3: IMSBufferpool Tuning concept AMS presentation v01

IMS Database Types

Full- Function Database

HSAM,HISAM,HDAM,HIDAM

Fast-Path Database

DEDB,MSDB

HALDB Database

PHDAM,PHIDAM,PSINDEX

Identify the database type based on access methods in DBD

DBD NAME=XXLA01DB,

ACCESS=(HIDAM,VSAM)

Innovative ImprovedUsability

OpenStandards

Page 4: IMSBufferpool Tuning concept AMS presentation v01

4

Introduction

Buffer pool Buffer pool are areas of virtual storage that temporarily stores data during run-time.

Allocate sufficient buffers in the IMS database buffer pools to prevent I/O that results from an application program having to reread data previously brought into the pool.

Careful choice of sub pool sizes and matching against database block sizes and frequency of database references is required.

Type of buffer pools – Based on file type 1. VSAM Buffer Pool - Define VSAM sub pools using the VSRBF control statement 2. OSAM Buffer Pool - Define OSAM subpools are defined using the IOBF. Buffer Sizes can be 5 KB, 1 KB, 2 KB, 4 KB, 8 KB and multiple of 4KB. Buffer Size should be selected based on CI SIZE of VSAM or BLOCK

SIZE of OSAM file.

Innovative ImprovedUsability

OpenStandards

AMS Share-Net | Oct 2010

Page 5: IMSBufferpool Tuning concept AMS presentation v01

5

Buffer Pool Objective

Eliminating I/O reduces CPU costs

Increase Number of Page Hit Ratio.

Reduce CPU Time

Reduce Number of Page SWAP.

I/O Avoidance -Keep data in memory -Buffer Pool.

Optimize memory Usage

Batch Jobs -Achieve your batch requirements - Maximize throughput

Transactions -Improve productivity -Improve clients satisfaction

Reduce Elapse Time

AMS Share-Net | Oct 2010

Page 6: IMSBufferpool Tuning concept AMS presentation v01

6

Buffer Pool Component Located

DLI NOT WAIT

IMS Controller

IMS DB

IMS

PC

PROGRAM ELAPSE TIME

IMS Buffer Space

IMS DB

IMS Program

DLI ELAPSE TIME APPLICATION

DLI IWAIT

DB Access

AMS Share-Net | Oct 2010

Page 7: IMSBufferpool Tuning concept AMS presentation v01

7

How to meet the performance Objective ?

Business Scenario :

Buffer spool option be selected only if the user has established performance objectives and know how the current system is performing.

Understand Current Business Scenario : • Batch job/Online Program is access Large number of IMS Database.• Database type and Access methods.

-Database type : Full-Function, Fast-Path, HALDB -Access Method : HISAM,HDAM,HIDAM,PHDAM,PHIDAM

• IMS Storage and Control Interval Verification. - Verify CI Size of VSAM INDEX & DATA Component. - Verify Block Size of OSAM file.

AMS Share-Net | Oct 2010

Page 8: IMSBufferpool Tuning concept AMS presentation v01

8

How to meet the performance Objective ?

Problem Statement :

Buffer pool was not defined according to the VSAM CI or OSAM Block size.

Buffer pool was not been divide into sub-pool for Data (D –VSAM Data component, ESDS) and Index (I- VSAM Index Component).

Common buffer control card has been used across all the batch jobs. Existing production code : DFSVSAMP DD DSN=TEST.PROCLIB (XXVSAMP) 18432,4 16384,4 12288,200 8192,700 IOBF=(2048,4,N,N) IOBF=(4096,500,N,N) IOBF=(6144,300,N,N)

AMS Share-Net | Oct 2010

Page 9: IMSBufferpool Tuning concept AMS presentation v01

9

How to meet the performance Objective ?

Solution:

IMS may build multiple VSAM pools. Each pool may have multiple sub pools. A VSAM pool is defined by a POOLID= statement in the DFSVSMxx member for online

systems or the DFSVSAMP data set for batch and utility jobs. Suggest Changes : POOLID=SP01 VSRBF=8192, 700, D DBD= XTDBD01 (1, SP01) POOLID=SP02 VSRBF=12288, 200, D VSRBF=10240, 500, I DBD= XTDBD02 (1, SP02) IOBF=(2048,4,Y,Y) OPTIONS, VSAMFIX= (BFR, IOB), BGWRT= (YES, 50)

By dividing buffer pools in data and index component number of page hit ratio can be increased and reduce the I/O transfer rate/sec, which results in reduction of elapse time, CPU units, I/O transfer counts.

Buffer pool has been defined according to the VSAM CI or OSAM Block Size.

AMS Share-Net | Oct 2010

Page 10: IMSBufferpool Tuning concept AMS presentation v01

10

How to meet the performance Objective ?

Change Desc:Change Desc: VSAM ESDS Buffer poolVSAM ESDS Buffer pool

POOLID=SP01 /* POOLID: Define buffer pool name, SPO1: is buffer pool name. Its user define name POOLID=SP01 /* POOLID: Define buffer pool name, SPO1: is buffer pool name. Its user define name

VSRBF=8192, 700, D /*-VSRBF: Sub pools in the pool are defined by the VSRBF= statements which follow VSRBF=8192, 700, D /*-VSRBF: Sub pools in the pool are defined by the VSRBF= statements which follow

/*the POOLID= statement - 8192-: Buffer Size -Sub pool has a buffer size of 8192, /*the POOLID= statement - 8192-: Buffer Size -Sub pool has a buffer size of 8192,

/*700 : Number of buffer pool/No. of block in SPO1 buffer pool. /*700 : Number of buffer pool/No. of block in SPO1 buffer pool.

D : Data component will use this buffer pool SP01.D : Data component will use this buffer pool SP01. VSAM KSDS Buffer pool VSAM KSDS Buffer pool

POOLID=SP02 POOLID=SP02

VSRBF=12288,200,D / * D : Indicates that data component can use this subpoolVSRBF=12288,200,D / * D : Indicates that data component can use this subpool

VSRBF=10240,500,I /* I : Indicated the only index component can use this subpool.VSRBF=10240,500,I /* I : Indicated the only index component can use this subpool.

DBD=XTDBD02 (1,SP02) /* XTDBD02 : DBD name corresponding to dataset.DBD=XTDBD02 (1,SP02) /* XTDBD02 : DBD name corresponding to dataset.

Job1

Shared Buffer Pools

Job2

Online ScrRemember:Remember:

Performance dependence Performance dependence on whether shared buffer on whether shared buffer used by multiple program used by multiple program

during run-timeduring run-time

AMS Share-Net | Oct 2010

Page 11: IMSBufferpool Tuning concept AMS presentation v01

11

Test Results..

B&UT Testing : IBM GR Team – Test Results

Description Base Converted Run1

CPU UNITS 3,026,234 2,843,993

CPU Time 00:01:14.88 00:01:02.37

SERV UNITS 3,092,247 2,906,908

SRB UNITS 51,595 48,524

I/O UNITS 14,418 14,391

Execution Time (step XNC100X)

00:10:55.09 00:05:30.62

DLI Statistics Report

Calls Base Convert

GU 47 41

GN 83,342 83,343

GNP 2,062,941 2,062,981

GHU 6 6

DB (TOTAL)

2,146,342

2,146,383

CHKP 42 42

LOG 294 294

Remember 1:Remember 1:Performance should be Performance should be

compared based on No. of compared based on No. of DLI calls issued & No. of DLI calls issued & No. of

record accessed in record accessed in program.program.

AMS Share-Net | Oct 2010

Page 12: IMSBufferpool Tuning concept AMS presentation v01

12

Test Results..

SIT Testing : Client Technical Expert Group – Test Results

Description Base Converted Run1

Converted Run2 Converted Run3

CPU UNITS 10,264,284 9,914,169 9,538,354 9,031,724

CPU Time 00:04:06.28 00:04:05.32 00:03:56.02 00:03:36.71

SERV UNITS 10,584,075 10,227,066 9,842,507 9,325,137

SRB UNITS 233,312 230,039 226,202 217,536

I/O UNITS 86,479 82,858 77,951 75,877

Execution Time (step XNC100X)

00:30:06.43 00:24:18.70 00:20:10.64 00:12:16.73

Remember 2:Remember 2:Whether the IMS1/IMS2 Whether the IMS1/IMS2

region database has been region database has been re-org recently re-org recently

AMS Share-Net | Oct 2010

Page 13: IMSBufferpool Tuning concept AMS presentation v01

13

Business Benefits…

Buffer pool concept will be applicable to batch & online application.

By proposing IMS buffer-pool concept we are able to reduce 10-20% of elapse time, CPU units, I/O transfer counts.

Implementing buffer-pool concept into there respective account will add values to clients and will be able to meet SLA, as it will reduce application elapse time.

Dividing buffer pools in data and index component number of page hit ratio can be increased and reduce the I/O transfer rate/sec

Supports additional new opts Included – BGWRT (Back Ground Write) % used for parallel write operation to database and buffer pool can be released during database processing.

IMSBuffer IM

SIMS

AMS Share-Net | Oct 2010

Page 14: IMSBufferpool Tuning concept AMS presentation v01

14

Performance Dependent Parameters…

Performance of XNC100JD dependent on the below parameters

Region Parameters:

• Whether these database are used by other program during the batch job execution.

• Shared buffer used by other program for loading the data.• Whether the IMS1/IMS2 region database has been reorganized recently.

Application Parameters:

• No. of record retrieved from the database..• No. of DLI call issued by the program.• BGWRT- The best percentage value to be specified will change depending on

whether the program is re- accessing the buffers or not. • Background Write: In general, maximum benefit occurs in sequential update

processing.

AMS Share-Net | Oct 2010

Page 15: IMSBufferpool Tuning concept AMS presentation v01

15

Implementation Method…

Batch Jobs

- Update the DFSVSAMP DD Control Cards

Online Program

- DFSVSMxx member in IMS.PROCLIB for online systems

Example 1:

POOLID=VSM1 VSRBF=4096,3000,D VSRBF=12288,2000,I VSRBF=32768,12,D

Since the second VSRBF statement builds an index subpool, the first and third subpools may only be used for data components. The second subpool may only be used for index components.

Assumption:Assumption:Application is IMS Batch Application is IMS Batch

or Online Programor Online Program

AMS Share-Net | Oct 2010

Page 16: IMSBufferpool Tuning concept AMS presentation v01

16

For more information

IMS Full Function Database Use of VSAM Buffer Pools

-http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/FLASH10240 IMS Buffer Pool Analyzer

- http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.imstools.bpl.doc.ug/bplucon_hilites.htm

IMS Performance Monitoring and Tuning Update

-ibm.com/redbooks

AMS Share-Net | Oct 2010

Page 17: IMSBufferpool Tuning concept AMS presentation v01

17

IMS Buffer Pool is …

… Just Great !

THANK YOU …..ANY QUESTIONS

AMS Share-Net | Oct 2010