Data Sharing Locking

This topic shows detailed information about Statistics - Data Sharing Locking.

In this example, the quantities per thread show as not calculated (N/C) because Db2 threads remained open during the reporting period.

Statistics - Data Sharing Locking

The field labels shown in the following sample layout of Statistics - Data Sharing Locking are described in the following section.


DATA SHARING LOCKING         QUANTITY  /SECOND  /THREAD  /COMMIT
---------------------------  --------  -------  -------  -------
GLOBAL CONTENTION RATE (%)       0.68
FALSE CONTENTION RATE (%)        0.00
P/L-LOCKS XES RATE (%)          97.56

LOCK REQUESTS (P-LOCKS)         56.00     0.02      N/C      N/C
UNLOCK REQUESTS (P-LOCKS)       34.00     0.01      N/C      N/C
CHANGE REQUESTS (P-LOCKS)       22.00     0.01      N/C      N/C

SYNCH.XES - LOCK REQUESTS     3759.00     1.06      N/C      N/C
SYNCH.XES - CHANGE REQUESTS      7.00     0.00      N/C      N/C
SYNCH.XES - UNLOCK REQUESTS   3770.00     1.07      N/C      N/C
BACKGROUND.XES -CHILD LOCKS      4.00     0.00      N/C      N/C
ASYNCH.XES -CONVERTED LOCKS     13.00     0.00      N/C      N/C

SUSPENDS - IRLM GLOBAL CONT     52.00     0.01      N/C      N/C
SUSPENDS - XES GLOBAL CONT.      0.00     0.00      N/C      N/C
SUSPENDS - FALSE CONT. MBR       0.00     0.00      N/C      N/C
SUSPENDS - FALSE CONT. LPAR       N/A      N/A      N/A      N/A
NO DELAY LOCK REQ REJECTS        0.00     0.00      N/C      N/C
INCOMPATIBLE RETAINED LOCK       0.00     0.00      N/C      N/C

NOTIFY MESSAGES SENT            28.00     0.01      N/C      N/C
NOTIFY MESSAGES RECEIVED        42.00     0.01      N/C      N/C
P-LOCK/NOTIFY EXITS ENGINES    500.00      N/A      N/A      N/A
P-LCK/NFY EX.ENGINE UNAVAIL      0.00     0.00      N/C      N/C

PSET/PART P-LCK NEGOTIATION     20.00     0.01      N/C      N/C
PAGE P-LOCK NEGOTIATION          0.00     0.00      N/C      N/C
OTHER P-LOCK NEGOTIATION        12.00     0.00      N/C      N/C
P-LOCK CHANGE DURING NEG.       30.00     0.01      N/C      N/C
GLOBAL CONTENTION RATE (%)

The total number of suspends because of contention divided by the total number of synchronous requests that went to XES, and the lock requests that were converted from synchronous to asynchronous locks, and the locks because of child lock propagation.

Note: If multiple members from the same data sharing group run on the same LPAR, the global contention rate should be ignored for a member where the QTGSFCON flag is zero. The QTGSFCON flag indicates whether the false contention is reported at the subsystem (=1) or LPAR level (=0).

Field Name: SGLOBRAT

FALSE CONTENTION RATE (%)

The total number of suspends because of false contention divided by the total number of synchronous requests that went to XES, and the lock requests that were converted from synchronous to asynchronous locks, and the locks because of child lock propagation. A false contention is if two different locks on different resources hash to the same lock entry.

Note: If multiple members from the same data sharing group run on the same LPAR, the global contention rate should be ignored for a member where the QTGSFCON flag is zero. The QTGSFCON flag indicates whether the false contention is reported at the subsystem (=1) or LPAR level (=0).

Background and Tuning Information

Try to keep the false contention rate to no more than 50% of the total global lock contention.

Field Name: SFLSERAT

P/L-LOCKS XES RATE (%)

Shows the percentage of P/L-lock requests that were propagated to XES synchronously.

Background and Tuning Information

This number reflects the effects of explicit hierarchical locking and other locking optimizations. Assuming a 100% Data Sharing workload, a value of 94% would mean that 6% of all Transaction Locks were not propagated to XES due to Data Sharing locking optimizations.

Db2 has some optimizations to reduce the necessity to go beyond the local IRLM whenever possible:
  • Explicit hierarchical locking allows IRLM to grant child locks locally when there is no inter-Db2 R/W interest on the parent.
  • If there is a single Db2 with update interest and multiple Db2s with read-only interest, Db2 propagates fewer locks than when all Db2s have update interest in the page set.
  • All locks that go beyond the local IRLM are owned by the subsystem, not by an individual work unit. This allows for another optimization. Only the most restrictive lock mode for an object on a given subsystem must be propagated to XES and the coupling facility. A new lock that is equal to or less restrictive than one currently being held is not propagated.

Field Name: SLLOCRAT

LOCK REQUESTS (P-LOCKS)

The number of lock requests for P-locks.

Field Name: QTGSLPLK

UNLOCK REQUESTS (P-LOCKS)

The number of unlock requests for P-locks.

Field Name: QTGSUPLK

CHANGE REQUESTS (P-LOCKS)

The number of change requests for P-locks.

Field Name: QTGSCPLK

SYNCH.XES - LOCK REQUESTS

The number of P/L-lock requests propagated to z/OS XES synchronously.

This number is not incremented if the request is suspended before going to XES.

Field Name: QTGSLSLM

SYNCH.XES - CHANGE REQUESTS

The number of change requests propagated to z/OS XES synchronously, including logical and physical locks.

This number is not incremented if the request is suspended before going to XES.

Field Name: QTGSCSLM

SYNCH.XES - UNLOCK REQUESTS

The number of unlock requests propagated to z/OS XES synchronously, including logical and physical locks.

This number is not incremented if the request is suspended before going to XES.

Field Name: QTGSUSLM

BACKGROUND.XES -CHILD LOCKS

The number of resources propagated by IRLM to z/OS XES asynchronously, including logical and physical locks.

This can happen when new inter-Db2 interest occurs on a parent resource or when a request completes after the requester's execution unit was suspended.

Field Name: QTGSKIDS

ASYNCH.XES -CONVERTED LOCKS

The number of synchronous to asynchronous heuristic conversions for LOCK requests in XES. This conversion is done when XES determines that it is more efficient to drive the request asynchronously to the coupling facility (CF).

Field Name: QTGSFLSE

SUSPENDS - IRLM GLOBAL CONT

The number of suspensions due to IRLM global resource contention. All IRLM lock states were in conflict on the same resource.

Global contention requires intersystem communication to resolve the lock conflict whereas local contention does not.

Field Name: QTGSIGLO

SUSPENDS - XES GLOBAL CONT.

The number of suspensions due to z/OS XES global resource contention. The z/OS XES lock states were in conflict but the IRLM lock states were not.

IRLM has many lock states but XES is only aware of the exclusive and shared lock states.

Field Name: QTGSSGLO

SUSPENDS - FALSE CONT. MBR

The total number of false contentions for LOCK and UNLOCK requests. A false contention occurs when different resource names hash to the same entry in the coupling facility (CF) lock table. The CF detects contention within the hash entry, and XES uses intersystem messaging to determine that no actual resource contention exists.

Note: The QTGSFCON flag indicates whether the false contention is reported at subsystem (=1) or LPAR level (=0).

Field Name: STGSFLM1

SUSPENDS - FALSE CONT. LPAR

The total number of false contentions for LOCK and UNLOCK requests. A false contention occurs when different resource names hash to the same entry in the coupling facility (CF) lock table. The CF detects contention within the hash entry, and XES uses intersystem messaging to determine that no actual resource contention exists.

Note: The QTGSFCON flag indicates whether the false contention is reported at subsystem (=1) or LPAR level (=0).

Field Name: STGSFLM2

NO DELAY LOCK REQ REJECTS

The total number of failed Db2 lock requests to XES to process without delay. XES rejects the lock request because it could not process it synchronously.

Field Name: QTGSCREJ

INCOMPATIBLE RETAINED LOCK

The number of global lock or change requests denied or suspended due to an incompatible retained lock.

Field Name: QTGSDRTA

NOTIFY MESSAGES SENT

The number of notify messages sent.

Field Name: QTGSNTFY

NOTIFY MESSAGES RECEIVED

The number of notify messages received.

Field Name: QTGSNTFR

P-LOCK/NOTIFY EXITS ENGINES

The maximum number of engines available for physical lock exit or notify exit requests.

Field Name: QTGSPEMX

P-LCK/NFY EX.ENGINE UNAVAIL

The number of times an engine is not available for physical lock exit or notify exit requests.

Field Name: QTGSPEQW

PSET/PART P-LCK NEGOTIATION

The number of times this Db2 was driven to negotiate a partition or page set physical lock due to changing inter-Db2 interest levels on the partition or page set.

Field Name: QTGSPPPE

PAGE P-LOCK NEGOTIATION

The number of times this Db2 negotiated a page physical lock because of physical lock contention within Db2.

Field Name: QTGSPGPE

OTHER P-LOCK NEGOTIATION

The number of times this Db2 was driven to negotiate a physical lock type other than page set, partition, or page.

Field Name: QTGSOTPE

P-LOCK CHANGE DURING NEG.

The number of times a physical lock change request was issued during physical lock negotiation.

Field Name: QTGSCHNP