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.

4.6.1 Per<strong>for</strong>mance<br />

maintained in a 2 GB IRLM address space. However V2.2 is not restricted to this 2 GB limit.<br />

The new maximum number of locks is theoretically 100 million, around 16 times more than<br />

V2.1, assuming that ECSA does not become a bottleneck sooner.<br />

Locks no longer reside in ECSA. There<strong>for</strong>e, the PC=NO parameter in the IRLM procedure is<br />

no longer honored. PC=YES is always used. This also means that the MAXCSA parameter<br />

no longer applies, as it was related to ECSA storage usage. You can still specify both PC=NO<br />

and MAXCSA= <strong>for</strong> compatibility reasons, but they are ignored by IRLM. Note that the IRLM<br />

parameters are positional, so you cannot remove them altogether.<br />

The fact that IRLM locks no longer reside in ECSA (when you were using PC=NO in V7) also<br />

means that a considerable amount of ECSA storage, which used to contain the IRLM locks, is<br />

now freed up in V8, and can be used by other subsystems (such as WebSphere) and other<br />

applications.<br />

IRLM V2.2 has two additional parameters that can be specified in the IRLM startup<br />

procedure. These parameters are:<br />

► MLMT - Max storage <strong>for</strong> locks:<br />

This specifies, in MB or GB, the maximum amount of private storage available above the 2<br />

GB bar that the IRLM <strong>for</strong> this <strong>DB2</strong> uses <strong>for</strong> its lock control block structures. The IRLM<br />

address space procedure uses this parameter (which you specify on the IRLM startup<br />

proc EXEC statement) to set the z/<strong>OS</strong> MEMLIMIT value <strong>for</strong> the address space. Ensure<br />

that you set this value high enough so that IRLM does not reach the limit. Note that the<br />

value you choose should take into account the amount of space <strong>for</strong> possible retained locks<br />

as well. IRLM only gets storage as it needs it, so you can choose a large value without any<br />

immediate effects. IRLM monitors the amount of private storage used <strong>for</strong> locks. If the<br />

specified limit is reached, new lock requests are rejected unless they are “must complete”.<br />

APAR PQ87611 allows you to dynamically change the amount of storage used <strong>for</strong> locks<br />

above the bar by using the z/<strong>OS</strong> command:<br />

MODIFY irlmproc,SET,PVT=nnnn<br />

where nnnn can be specified in nnnnM (MB) or nnnnG (GB). A SET,PVT= command<br />

causes the MEMLIMIT to be updated; never lower than the default 2 G, and never lower<br />

than the amount of storage in use, plus the 10% of reserved space.<br />

► PGPROT - Page protect:<br />

Acceptable values are NO and YES (default). The page protect IRLM startup procedure<br />

parameter specifies whether or not IRLM loads its modules that reside in common storage<br />

into page-protected storage. YES indicates that modules located in common storage are<br />

to be loaded into page-protected storage to prevent programs from overlaying the<br />

instructions. We recommend YES because it requires no additional overhead after the<br />

modules are loaded, and the protection can prevent code-overlay failures. NO indicates<br />

that common storage modules are to be loaded into CSA or ECSA without first<br />

page-protecting that memory.<br />

Some large <strong>DB2</strong> environments, <strong>for</strong> example, large SAP R/3® environments, should consider<br />

a MEMLIMIT of 4 GB <strong>for</strong> their IRLM if the real storage is available.<br />

Table 4-11 shows the CPU time consumed by IRLM while running the IRWW workload in a<br />

two member data sharing environment. Each value in the IRLM CPU row of the table<br />

represents a <strong>DB2</strong> member. All tests were run using PC=YES, including the V7 test. Note that<br />

IRLM request CPU time is not included in IRLM CPU. Instead it is included in accounting<br />

class 2.<br />

172 <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!