z/OS Secure Sockets Layer (System SSL) Performance WorkloadThis tool consists of a client application and a server application. A shell script is used to establish the environment and set the client and server parameters for a given measurement.
The shell script allows a selection of the following parameters to determine the unique characteristics for any measurement. It then starts the server application and the specified number of client applications with the appropriate parameters.
- Security type.
- Cipher used for data encryption.
- Client Authentication.
- Number of server worker threads.
- Number of connections per iteration.
- Number of packets per iteration.
- Number of bytes to be sent in each packet.
- Number of bytes to be returned in each packet.
- Server Session ID timeout.
- Client Session ID timeout.
- Measurement duration.
- Host Address.
- Host Port.
In addition to these specific parameters, SSL allows other variations in the workload.
- Key size for certificates.
- Server Session ID cache size.
- Client Session ID cache size.
The server application, server, is a multithreaded program that opens a socket and listens for client requests. server can run in either secure (using SSL) mode or non-secure (using normal socket reads and writes) mode. By default, server runs with one socket listener thread and 20 server threads. The socket listener thread waits for connections from clients and puts each request onto the work list. The server threads dequeue requests and then perform the work.
The client application, client, is a single threaded program that connects to the server program and exchanges one or more data packets. client can also run in secure or non-secure mode, but its mode must match the mode of the server to which it is connecting. The number of connections, the number of read/write packets per connection, the number of bytes in each write packet, and the number of bytes in each read packet can be specified. Multiple clients can be run simultaneously to the same server.