19.06.2013 Views

DB2 UDB for z/OS Version 8 Performance Topics - IBM Redbooks

DB2 UDB for z/OS Version 8 Performance Topics - IBM Redbooks

DB2 UDB for z/OS Version 8 Performance Topics - IBM Redbooks

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

8.5.5 Buffer pool long term page fixing<br />

<strong>DB2</strong> V8 allows you to fix the buffer pages once in memory and keep them fixed in real<br />

storage. This is implemented by new - ALTER BUFFERPOOL parameter called PGFIX. The<br />

ability to long term page fix buffer pool pages in memory and keep them in real storage,<br />

avoids the processing time that <strong>DB2</strong> needs to fix and free pages each time there is an I/O.<br />

The ability to page fix buffer pool pages in memory has a significant improvement in <strong>DB2</strong><br />

per<strong>for</strong>mance, both <strong>for</strong> data sharing environments and non-data sharing environments.<br />

Although there are still significant CPU savings to be realized in data sharing, the CPU<br />

savings are generally not as much as in non-data sharing. This is because the castout buffers<br />

are NOT long term page fixed.<br />

The primary reason why an overall saving is not as high in data sharing is a higher fixed<br />

overhead of data sharing. A long term page fix applies to GBP read and write. It does not<br />

apply to castout work area, since cast work area is not a part of buffer pool and a long term<br />

page fix is a buffer pool option.<br />

Refer to 4.5, “Buffer pool long term page fixing” on page 169 <strong>for</strong> a more detailed analysis of<br />

long term page fixing <strong>DB2</strong> buffers, both in data sharing and non-data sharing environments.<br />

8.5.6 Batched index page splits<br />

In previous versions of <strong>DB2</strong>, index page splits <strong>for</strong> indexes with inter-<strong>DB2</strong> read/write interest,<br />

required multiple synchronous log writes and multiple separate writes to the group buffer pool.<br />

This was to ensure that when a leaf page split occurs, the index pages involved are written<br />

out in the correct order, to prevent another member from seeing a reference to an index page<br />

that does not yet exist in the group buffer pool.<br />

This caused significant overhead <strong>for</strong> GBP-dependent indexes, resulting in additional<br />

synchronous group buffer pool writes, and even more important, in high wait times <strong>for</strong><br />

synchronous log I/O.<br />

With this enhancement, <strong>DB2</strong> accumulates the index page split updates and processes them<br />

as a single entity, thereby reducing log writes and coupling facility traffic. The writes to the<br />

coupling facility of the accumulated updates use the new z/<strong>OS</strong> CF Batching commands<br />

described earlier.<br />

However even without CFCC level 12 and z/<strong>OS</strong> 1.4, (the prerequisites <strong>for</strong> CF Batching), you<br />

can still take advantage of some per<strong>for</strong>mance improvements through this enhancement. In<br />

this case the coupling facility writes are not batched, but the number of <strong>for</strong>ced writes to the log<br />

are reduced to just one or two.<br />

Batching the updates <strong>for</strong> index page splits will boost per<strong>for</strong>mance by reducing the cost of<br />

page set group buffer pool dependency, but even more by reducing the log I/O wait time, is a<br />

more efficient mechanism to process index page splits. Applications which have heavy<br />

insertion activity will see the most benefit in data sharing.<br />

This enhancement does not impact non-data sharing environments or data sharing<br />

environments where the index is not group buffer pool dependent. In these cases, <strong>DB2</strong> does<br />

not have to externalize the updated index pages in any particular sequence to be seen<br />

correctly by any other <strong>DB2</strong> members.<br />

In both V7 and V8, we see 2 or 3 <strong>for</strong>ced log writes now.<br />

Chapter 8. Data sharing enhancements 339

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!