IBM CICS Client Driver


The IBM CICS Clients for Windows 95/98/NT allows a PC based application to send requests to a CICS Server to have an application program executed.  Many customers would like to know how many clients a particular CICS region can support and what kinds or performance numbers can be achieved.  Previously, this task had proved to be difficult because no support existed for driving a CICS region from a CICS Client environment in any kind of volume.  Today this has changed.

Client Driver Overview

The CICS Client Driver is a Windows 95/98/NT based graphical application which can be used to place client originated load on a CICS server.  The Client driver can be configured with many parameters identifying the target CICS server and the types of workload to be placed upon the server.  The Client driver will then stress the CICS Server with the configured load and report results including transactions/second and response times.

Client Driver Usage

When started, the Client Driver displays a panel similar to the one shown below:

This panel should be filled out with details of the tests to be executed.

Server The name of the CICS Server as configured in the cicscli.ini configuration file.  This is the server upon which load will be placed
Userid The CICS userid on the server under which the application will execute
Password The CICS userid password
Program The name of the CICS program which is to be executed.
# of clients The number of CICS Client requests which are to be concurrently generated against the CICS server
Report Rate The interval (in milliseconds 1000 milliseconds = 1 second) between results collection

When these parameters have been entered into the application, the Start button (green triangle) may be pressed to launch the test.  The Client driver will now generate requests as fast as possible and target those requests to the specified server.  When results have been gathered, the Client driver can be stopped.

Commareas

Data can also be passed by the Client driver to the CICS region through commareas.   By opening the commarea dialog box, two different types of commarea source data may be added.

Commarea Files

Commarea files are files on the disk whose contents are used as the contents of commarea data.  The length of the commarea sent is the length of the underlying file.

Commarea Data

Commarea data is the identification of a commarea by name and size.  The contents of the commarea is set to a random set of byte values before transmission to the CICS Server.

Multiple commareas can be entered.  If a commarea is enabled (checked) then it will be used by the Client driver.  If the commarea is disabled (unchecked) it will be ignored by the Client driver.  Enabled commareas will be used in a round-robin fashion.  If no commareas are enabled or none entered then no commarea will be used.

commarea.jpg (15527 bytes)

Logs

Under the view menu, a log item may be found.   Selecting this menu item will display the results log for each client call.   The log contains the return code and the elapsed time to execute each call.   The log data may be saved by pressing the Save button.  Two types of log output may be generated:

Full Text The full text of the log is saved.  This is exactly as it appears in the log window.
Response Times Only the response times for each call are saved.  There is one response time value per line written to the output file.  This can then be used as input to a graphing package such as Microsoft Excel.

Multi-client emulation

The CICS Client driver can send multiple concurrent requests to a CICS Server.   The CICS Server sees all these requests arriving over the same connection since the Server value is constant.  This may not accurately reflect real life usage where each CICS Client may reside on its own workstation.  In that environment, the target CICS Server would see ECI requests coming in from multiple CICS Clients over multiple connections.  This can be emulated by the CICS Client Driver.

To achieve this emulation, the client driver must select a different Server name for each ECI call.  Each Server name may point to the very same TCP/IP hostname or IP address and port.  This will cause each request to be sent to the same CICS Server (as before) but this time, the CICS Client will create a new connection for each client driver thread.

In the Client driver, this can be accomplished by ending the Server name with a '?' character.  Each ECI thread will contact the CICS Server as the Server name entered to the Client driver but replacing the '?' with the index of the thread.

For example, if the CICS Server name is specified as "REGION?", then ECI thread 0 will contact region "REGION0", ECI thread 1 will contact region "REGION1" and so on.

This technique requires that a CICSCLI.INI CICS Client configuration file be created with a server entry for each possible CICS Server.  This file can be easily created by selecting the Client driver Client.ini menu item under View.

The client.ini dialog allows the entry of a template server entry which will be added to a complete cicscli.ini file to create a possibly large number of Server entries.   Again, a '?' character in the name of the CICS Server in the template will be replaced with an index value.

Client Driver Installation

The CICS Client Driver is supplied as a ZIP file which should be unzipped into a temporary directory.  Once expanded, the setup.exe command should be run to install the driver onto your machine.

Client Driver Status

The IBM CICS Client Driver has been developed by Neil Kolban of the IBM Dallas Systems Center, USA in response to IBM field rep and customer requests.  If you have any questions on the use or disposition of this utility, please contact Neil at "kolban@us.ibm.com".

6th October, 1998 Version 1.0
12th October, 1998 Version 1.2, Released as an IBM CICS SupportPac
9th April, 1999 Version 1.3, COMMAREA support fixed