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.

cache is governed by the DSNZPARM EDMDBDC parameter, with a size between 5 MB and<br />

2 GB.<br />

There is little overhead in below the bar storage to support this new DBD pool above the bar.<br />

So, make sure you adequately size the EDMDBDC parameter in order to avoid continually<br />

loading DBDs from disk.<br />

Storage <strong>for</strong> plans and packages<br />

Plans and packages (SKCT, CT, SKPT, and PT) and the authorization cache are the only<br />

control blocks that are stored in the EDM pool that remains below the bar. The DSNZPARM is<br />

EDMPOOL as be<strong>for</strong>e. As other <strong>DB2</strong> structures have moved above the bar in the DBM1<br />

address space, more space may become available below the bar to accommodate more<br />

plans and packages in the EDM pool.<br />

Remember that if you plan to use the current V7 size of the DSNZPARM EDMPOOL<br />

parameter in V8, the EDM pool may be over-allocated, since the DBDs (and potentially also<br />

the dynamic statement cache) no longer reside in that storage area in V8. However, we<br />

suggest you monitor your EDM pool per<strong>for</strong>mance be<strong>for</strong>e making any changes. Plans and<br />

packages are bigger in <strong>DB2</strong> V8 and consume some of the space in the EDM pool that was<br />

vacated by the DBDs. You can monitor the health of the EDM pool by using the pertinent <strong>DB2</strong><br />

PE report fields monitoring. If SKPT and SKCT I/O are to be eliminated, oversizing the EDM<br />

pool and monitoring SKPT and SKCT requests are best.<br />

The recommendations when monitoring are:<br />

► Failure due to EDM pool full should be 0<br />

► Request not found in EDM pool < 1 to 5%<br />

► CT + PT < 80% of pool<br />

Global dynamic statement cache<br />

In V7, if global dynamic statement caching is active (DSNZPARM CACHEDYN=YES<br />

parameter), the statements can be cached in a data space (if the DSNZPARM EDMDSPAC<br />

parameter is also >0), or in the normal EDM pool. In V8, cached, dynamic SQL statements<br />

are always cached in the EDM statement cache pool above the 2 GB bar. The maximum EDM<br />

Statement Cache size, specified by the DSNZPARM EDMSTMTC parameter, is 1 GB.<br />

The default value <strong>for</strong> EDM STATEMENT CACHE is taken from the EDMPOOL STORAGE<br />

SIZE field on panel DSNTIPC, or 5000 K, whichever is larger. The maximum size is 1048576<br />

KB.<br />

Storage <strong>for</strong> the dynamic statement cache is always allocated (at least 5 MB), and is no longer<br />

related to whether CACHEDYN is YES or NO. This is because the DSNZPARM CACHEDYN<br />

parameter can be changed online in V8, and <strong>DB2</strong> needs an initial size to be allocated at<br />

startup time to allow the size to be changed online.<br />

Although the EDM Statement Cache pool is located above the bar, its size has a real impact<br />

on storage below the bar. It impacts the Statement Cache Blocks pool, which contains various<br />

control blocks <strong>for</strong> dynamic SQL statements that are cached in the EDM Statement Cache<br />

pool above the bar. It impacts the dynamic SQL pools (local cache) below the bar that are<br />

used <strong>for</strong> statement execution and locally cached statements resulting from<br />

KEEPDYNAMIC(YES). The storage consumed below the bar is not only dependent on the<br />

size of the EDM Statement Cache above the bar, but is also dependent on the number of SQL<br />

statements in the cache.<br />

Note that the PTF <strong>for</strong> APAR PQ96772 further relieves virtual storage constraint <strong>for</strong> systems<br />

that are very active with dynamic statement caching by moving statement control blocks<br />

above the bar.<br />

Chapter 4. <strong>DB2</strong> subsystem per<strong>for</strong>mance 143

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

Saved successfully!

Ooh no, something went wrong!