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.

Important:<br />

4.1.2 Conclusion<br />

If you plan to stay in CM <strong>for</strong> some time and are interested in finding out the per<strong>for</strong>mance of<br />

V8 on your per<strong>for</strong>mance-sensitive workload, you should definitely rebind. Rebinding will<br />

give you a sense of the V8 per<strong>for</strong>mance.<br />

After you have entered NFM, we recommend that you plan to rebind all of your plans and<br />

packages. <strong>DB2</strong> then stores these plans and packages in the <strong>DB2</strong> catalog in the new<br />

<strong>for</strong>mat. <strong>DB2</strong> will then no longer need to expand the plans and packages each time it needs<br />

to use them.<br />

For most workloads, our measurements have shown a less than 10% increase in CPU<br />

consumed by moving from V7 to V8, and we did not even change applications to take<br />

advantage of any new function or make any aggressive configuration changes. In addition,<br />

the difference in CPU consumption between <strong>DB2</strong> V8 CM and NFM is only minor and<br />

there<strong>for</strong>e should not be considered significant.<br />

Generally, you should experience less CPU regression if, under <strong>DB2</strong> V7:<br />

► You are already using IRLM PC=YES and LOCKPART YES.<br />

In V8 these are required.<br />

► You are heavily using hiperpools or buffers in data spaces in V7.<br />

You are taking advantage of simplified buffer pool management above the bar.<br />

► You already use CURRENTDATA(NO) in your BIND options.<br />

CURRENTDATA(NO) already exploits lock avoidance in V7.<br />

► You collect SMF type 89 records.<br />

V7 generates these records after every SQL statement while V8 generates these records<br />

on each commit. In some environments, this has the potential of saving up to 15% in CPU<br />

consumed by <strong>DB2</strong> V8 (extreme stress environment).<br />

► You heavily use DSNTEP2 (now DSNTEP4) and DSNTIAUL which now exploit multi-row<br />

operation. This is applicable to NFM only.<br />

► You heavily use DRDA which now automatically exploits multi-row operation. This is<br />

applicable to CM as well as NFM.<br />

Multi-row FETCH/INSERT/UPDATE have the potential to save considerable CPU,<br />

especially in DRDA applications.<br />

► You have the DSNZPARM MINSTOR and CONTSTOR parameters set to YES and are not<br />

thread storage constrained.<br />

Having these parameters set to YES in V7 uses extra CPU cycles. Once in V8, if you can<br />

set them to NO, this improves the CPU time.<br />

► You use BIND RELEASE(COMMIT) in data sharing.<br />

In V8 there is potentially less global lock contention as a result of the Locking Protocol<br />

Level 2. <strong>DB2</strong> V7 must use more CPU cycles to resolve more global lock contention than<br />

V8, which potentially has less global lock contention.<br />

► You have I/O intensive workloads.<br />

I/O intensive workloads tend to benefit from long term page fix option and 180 CI limit<br />

removal. Sequential processing with larger CIs can also benefit.<br />

136 <strong>DB2</strong> <strong>UDB</strong> <strong>for</strong> z/<strong>OS</strong> <strong>Version</strong> 8 Per<strong>for</strong>mance <strong>Topics</strong>

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

Saved successfully!

Ooh no, something went wrong!