Strange behavior in getpages

bill larsen

Strange behavior in getpages

Hi all ,

I have a strange problem to submit to the community.

We have an application (software developed by another company) in data sharing (4 members) from CICS transactions in CICS plex configuration. Transactions  uses a table as temporary storage, create rows in it , some other read the rows  and delete when finished. The key is something like Terminal ID, a business field and a sequence member. the data zone is varchar 30K.  

The underlying TS  is an UTS PBG 32K table, only one 2G partition used, MAXPART 1. It is in a quite preserved 32K bufferpool and during my trace from 4 to 6pm it is the only large user of the BP pages (DIS BP LSTATS on all object in the Buffer pool every 5 minutes)

There is an unique on a  quite separated BP too. I forgot to take bufferpool stats on this index 


We already urge the software company to rewrite the code to use TS queue (they choose this solution because sharing TS queue dis not existed in previous release of CICS ) , but it is another story.

Last friday, the table was very disorganized and until 4:55pm , the number of getpage (and sync IO)  on this object was hundred millions, causing unavaibility of the application. there was almost no sequential reads.

Then after 4:55, suddenly no more getpage , and no more sync/IO , seq reads is still stable.

The number of transactions using this table  did not decreased , in contrary, there were more transactions using it. 

So my question is : what can happen that explain that the table is still disorganized , still use as usual , the workload didn't change but no more the disorganization effect ? 

tHANK YOU for your valuable inputs and sharings. 







Bruce Williamson

RE: Strange behavior in getpages
(in response to bill larsen)

Howzit Billy?

What version of DB2 are you using? What's your maintenance level? Have you looked at RTS to see whether there are large numbers of INSERTs/DELETEs happening?


P.S. Want to make a difference but don't know how? Join the RFE Community (Requests For Enhancement), no time like the present!!!

P.P.S. While you're at it why not join the "All DB2 for z/OS" group and find

Michael Hannan

RE: Strange behavior in getpages
(in response to bill larsen)


I have to assume that something was running up to 4:55 Pm Friday, that was destroying your Bufferpool and causing good data to be thrown out and read back in (just a wild idea), and that it stopped at that time, allowing the performance to suddenly come good. If you don't need to read data sequentially, you might want to check the VPSEQT etc. type Sequential thresholds for the BP.

So a temporary BP shortage could be the main problem.

A new transaction cannot get data out of  Data Page without a Getpage to locate where it is in the BP or trigger a Sync I/O (or Prefetch) to get it in. Perhaps not for objects fixed in memory contiguous BP in Db2 z 12. Check if you have that. I would have to read that detail again.  Once a page is "In Use" by an SQL, DB2 need not keep on Getpaging it in same transaction using that same SQL, unless it moves off that page in the object. Similarly for Index Pages.

So "no more Getpages" is a little bit difficult to swallow. There are products like "Quick Select" of course that bypass execution of the SQL, so no Getpages, but that is for pretty much "read only" tables. LOL

Michael Hannan,
DB2 Application Performance Specialist
CPT Global Ltd