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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.2.2 Conclusion<br />

The purpose of the locking Protocol Level 2 enhancement is to avoid the cost of global<br />

contention processing whenever possible. <strong>DB2</strong> no longer needs to wait <strong>for</strong> global lock<br />

contention processing to determine that a new parent IX or IS L-lock is compatible with<br />

existing parent IX or IS L-locks which is reasonably common in a data sharing environment.<br />

For our workload, our testing has shown that the new locking protocol dramatically reduces<br />

both XES and false contention. This results in shorter lock and global contention suspension<br />

times. We also observed less IRLM SRB time with an improved overall transaction<br />

throughput. However, we see more synchronous XES requests to the coupling facility and<br />

more lock structure traffic with slightly higher coupling facility utilization. These increases do<br />

not appear to be excessive and should not impact overall per<strong>for</strong>mance.<br />

The new locking protocol also reduces the per<strong>for</strong>mance gap between RELEASE(COMMIT)<br />

and RELEASE(DEALLOCATE) <strong>for</strong> data sharing workloads.<br />

Another consequence of this enhancement is that, since child L-lock propagation is no longer<br />

dependent upon the parent L-lock, parent L-locks will no longer be held in retained state<br />

following a system failure. This means, <strong>for</strong> example, that an IX L-lock will no longer be held as<br />

a retained X-lock after a system failure. This can provide an important availability benefit in a<br />

data sharing environment. Because there is no longer a retained X-lock on the page set most<br />

of the data in the page set remains available to applications running on other members. Only<br />

the pages (assuming page locking is used) with a retained X-lock will be unavailable.<br />

With the change to the LOCKPART parameter behavior, you may see additional locks<br />

acquired on individual partitions even though LOCKPART NO is specified.<br />

When <strong>DB2</strong> decides it must propagate its locks to the coupling facility <strong>for</strong> a given page set,<br />

<strong>DB2</strong> must collect and propagate all the locks it currently owns <strong>for</strong> that page set to the coupling<br />

facility. This can cause some overhead, particularly when a page set is not used often enough<br />

<strong>for</strong> lock propagation to occur all the time. Page set P-locks are long duration locks and tend to<br />

be more static than L-locks, so the chances are higher that lock propagation will continue <strong>for</strong><br />

longer.<br />

8.2.3 Recommendations<br />

The new mapping in the coupling facility lock structure to support the Protocol 2 Level locking,<br />

takes effect after the restart of the first member, after successful quiesce of all members in<br />

the <strong>DB2</strong> data sharing group. To enable this feature, a group-wide outage is required after you<br />

have entered NFM. This obviously has some impact on availability.<br />

However, we recommend you plan to schedule a group-wide restart of <strong>DB2</strong> soon after you<br />

enter NFM to enable the new locking protocol as soon as possible.<br />

If you currently are in the practice of starting table spaces in RO to avoid locking contention in<br />

a data sharing environment, you may wish to revise this strategy.<br />

In data sharing, the recommendation <strong>for</strong> RELEASE(DEALLOCATE) (and thread reuse) to<br />

reduce XES messaging <strong>for</strong> L-locks is no longer required. This is good news because using<br />

RELEASE(DEALLOCATE):<br />

► Can cause increased EDM pool consumption, because plans and packages stay allocated<br />

longer in the EDM pool.<br />

► May also cause availability concerns due to parent L-locks being held <strong>for</strong> longer. This can<br />

potentially prevent DDL from running, or cause applications using the LOCK TABLE<br />

statement and some utilities to fail.<br />

Chapter 8. Data sharing enhancements 331

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

Saved successfully!

Ooh no, something went wrong!