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