[z/OS]

Troubleshooting zHyperLink

There are a few ways you can troubleshoot zHyperLink performance issues.

Issue the command:
D SMS,DSNAME(dsname),STATS(ZHLWRITE)
to display zHyperLink write statistics, where dsname is the name of the data set that is used for log writes.

D SMS,DSNAME,STATS(ZHLWRITE) Start of Report                          
DATA SET VICY.MQ57.LOGCOPY1.DS01.DATA                                 
STATISTICS Since 04/08/2024 10:51:57.096121                           
SUMMARY                                                               
        TOTAL     %SYNC -------------%ASYNC---------------            
  WRITE REQUESTS WRITES   SKIP LNKBSY   ¬EST   MISC DISABL            
            1146   4.36  79.66   0.00   0.08   0.00   4.01            
                        -------%ASYNC-------                          
                          MISS  DELAY   DUAL                          
                         11.86   0.00   0.00                          
DEVICE STATISTICS                                                     
            TOTAL  %SYNC ---------------%ASYNC---------------------   
SSID DEVNO WRITES WRITES   SKIP LNKBSY    EST   MISC   MISS  DELAY    
5144 0619C   2288   3.05  39.90   0.00   0.04  16.21  40.77   0.00    
D SMS,DSNAME,STATS(ZHLWRITE) End of Report                            

The preceding output shows what percentage of writes were completed synchronously, and what percentage of writes were completed asynchronously, broken down by reason for not using synchronous writes.

The output displays:
SKIP
Percentage of zHyperLink writes for which zHyperLink was not attempted due to a previous zHyperLink failure to the same track that is being written to.
LINKBSY
Percentage of zHyperLink writes that encountered a busy link condition.
EST
Percentage of zHyperLink writes where zHyperLink write access was not established.
MISC
Percentage of zHyperLink writes that were completed asynchronously due to other reasons.
MISS
Percentage of zHyperLink writes that were completed asynchronously due to a cache miss.
DELAY
Percentage of zHyperLink writes that were completed asynchronously due to an operation delay.
and, if present
DISABL
The percentage of zHyperLink writes where zHyperLink was not enabled.
DUAL
Percentage of zHyperLink writes that were completed asynchronously due to the other data set in a dual logging request.

See Appendix B of Getting Started with IBM zHyperLink for z/OS for more information and various commands and processes for problem determination with zHyperLink.

You can find the serial number and SCU number by running the following command:
DS QD,nnnn
where nnnn is the device number. For example:

DS QD,9200
IEE459I 07.04.45 DEVSERV QDASD 742
UNIT VOLSER  SCUTYPE DEVTYPE CYL  SSID SCU-SERIAL DEV-SERIAL EFC
09200 CONCD1 2107981 2107900 1113 0230 0175-FCC41 0175-FCC41 *OK
**** 1 DEVICE(S) MET THE SELECTION CRITERIA
**** 0 DEVICE(S) FAILED EXTENDED FUNCTION CHECKING
Use the output of this command to get the SCU-SERIAL number required for displaying the number of zHyperLink sessions.

DS QD,MACH=0175-FCC41,ZHL
IEE459I 04.10.26 DEVSERV QDASD 419
UNIT  VOLSER SCUTYPE DEVTYPE CYL  SSID SCU-SERIAL DEV-SERIAL EFC
09200 CONCD1 2107981 2107900 1113 0230 0175-FCC41 0175-FCC41 *OK
ZHYPERLINK WRITE TOKENS ASSIGNED
TOKEN DATE TIME UNIT DATA SET NAME
00AD 07/07/21 15:10 09C16 DB2BL.D2B1.LOGCOPY2.DS02.DATA
01AE 07/07/21 15:10 09B96 DB2BL.D2B1.LOGCOPY1.DS02.DATA
02AF 07/07/21 15:10 09B96 DB2BL.D2B2.LOGCOPY1.DS02.DATA
03B0 07/07/21 15:10 09639 DB2BL.D2B2.LOGCOPY2.DS02.DATA
**** 4 WRITE TOKEN(S) MET THE SELECTION CRITERIA
**** 1 DEVICE(S) MET THE SELECTION CRITERIA
**** 0 DEVICE(S) FAILED EXTENDED FUNCTION CHECKING
Each token represents a connected zHyperLink session, showing which data sets are using zHyperLink.