LServ: Get better performance with File and Buffer definitions.
search cancel

LServ: Get better performance with File and Buffer definitions.

book

Article ID: 27046

calendar_today

Updated On:

Products

Compress Data Compression for MVS Compress Data Compression for Fujitsu Bind Analyzer for DB2 for z/OS SQL-Ease for DB2 for z/OS SYSVIEW Performance Management Option for DB2 for z/OS Plan Analyzer for DB2 for z/OS Subsystem Analyzer for DB2 for z/OS PanAudit Plus Easytrieve Report Generator PAN/SQL Endevor Endevor Natural Integration Endevor - ECLIPSE Plugin Endevor - Enterprise Workbench CA 2E

Issue/Introduction

Many of the general considerations for VSAM I/O optimization apply to tuning the LServ File Server.  
This document describes various definitions to consider when tuning VSAM files managed by LServ in order to get optimal performance

Environment

Release: All
Component: LServ

Resolution

To be able to make the right changes, measurement is required. Part of the monitoring data consists of I/O counts and percentages gathered on the z/OS level.

The other part originates from within LServ.

 

The DISPLAY STATISTICS command will show the following for each managed File :

LDM0546I File server database statistics -

LDM0547I Ddname   PUT   SEQ GET   DIR GET   ERASE   RETRY
LDM0549I ddname    nn        nn        nn      nn      nn 
LDM0550I [avg.    n.n       n.n       n.n     n.n     n.n] 

The LDM0549I displays the following:

Ddname : The ddname of a managed file. If you specify a ddname on the DISPLAY command, LServ will displays information about that file only. Otherwise, it displays information about all managed files.

PUT     : The number of logical write requests issued for the data set.
SEQ GET : The number of logical read requests issued for the data set in sequential mode. 
DIR GET : The number of random read requests issued for the data set. 
ERASE   : The number of records deleted from the data set. 
RETRY   : The number of I/O requests that had to be retried. 

LDM0550I :

If you specify the SERVICE operand with the DISPLAY command, LServ will displays average service times (in milliseconds) in message LDM0550I.

The RETRY column here represents the time elapsing after an I/O operation that could not be satisfied because of database contention.

It includes a hard coded wait period and is an average represented in milliseconds.

When VSAM fails an I/O because of CI contention or string/buffer shortage, LServ does not return control to the 'client' application.
Because the problem is most of the time temporary, it retries the I/O request.

The 'RETRY' column in message LDM0549I displays the total number of I/O that were retried since the last time the counters were reset, ie. at startup, or when the command 'D STAT, RESET' is performed.

Of interest here is not so much the total number of retries but rather the ratio between the number of retries, and the total number of I/O requests over an interval.

Obviously, if the counters have not been reset for a long time, the ratio itself can be misleading, since would then tend to mask the peak intervals.

Any RETRY/IO_COUNT ratio greater than 5% needs to be looked into. In such a case do a LISTCAT of the VSAM files matching to the DDNAME and see if they have a large number of CI splits.

Files managed with LServ can be buffered in NSR or LSR Buffer Pools.

Private (NSR) buffer pools, are reserved for a single file.

By default, VSAM creates a private buffer pool when the data set is initially opened.

Only private buffer pools need to be defined to LServ if you wish to override the VSAM defaults, which can be done by using the BUFNI, BUFND, and STRNO keywords of the ADDFILE command.

Local shared resource (LSR) buffer pools, are shared by a set of files you designate.

Files that share a buffer pool should have similar buffer characteristics.

Broadcom recommends to use LSR buffer pools for Endevor's Element Catalog, Element Catalog Index, MCF, Package and ELib VSAM files.

In general files with similar characteristics can benefit, because of improved service times for most types of I/O processing, and especially with random access.

Up to 15 LSR buffer pools can be defined with the ADDPOOL command.

 

The DISPLAY BUFFERPOOL command displays information about LSR Pools that LServ manages:

LDM0552I File server buffer pools - 
LDM0553I Pool   Size   Count   BFRFND   BUFRDS   UIW   NUIW 
LDM0554I   nn     nn      nn       nn       nn    nn     nn 
POOL   : The number assigned to a buffer pool. 
SIZE   : The size (in bytes) of one set of buffers in the pool. 
COUNT  : The number of buffers of a given size contained in the pool. 
BFRFND : The number of read requests that could be satisfied without an I/O operation because VSAM found the data in a buffer. 
BUFRDS : The number of times VSAM had to bring data into a buffer. 
UIW    : The number of user-initiated write (PUT) requests. 
NUIW   : The number of write requests initiated by VSAM buffer management. 
These are write operations that VSAM was forced to do because no buffers were available for reading the contents of a control interval.

Note :

These are the result from a SHOWCB macro operation, which implies that the values are counting from the time of the OPEN until the DISPLAY.

LServ will ignore the BUFND, BUFNI, and STRNO parameters of the ADDFILE, when LSR buffer pool are in use.

STRNO allows you to specify the number of VSAM strings assigned to the buffer pool and can be defined for LSR on the ADDPOOL.
STRNO count specifies the maximum number of concurrent I/O requests against the buffer pool that VSAM will be able to process.
The value can be 3 up to 255 (the default is 16).

Additional Information

Refer to the following documentation for more detailed information:

The IBM manual z/OS DFSMS Using Data Sets relevant to your level of z/OS.  
Look for additional information on keywords BFRFND, BUFRDS, UIW, and NUIW as well as the interpretation of the figures listed under these headings.

Common Components and Services for z/OS - Administrating - L-Serv