CA Gen Transaction Enabler aefad/aefuf "-b" parameter
search cancel

CA Gen Transaction Enabler aefad/aefuf "-b" parameter

book

Article ID: 219618

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed

Issue/Introduction

Seeking some clarification regarding proper usage of The Transaction Enabler (TE) aefad and aefuf -b parameter which allows users to set the size of the TCP/IP Send/Receive buffers.

From the description of the -b parameter, is it unclear, whether its values must be set to the same number for both aefad and aefuf.
What will happen if aefad runs with -b parameter greater than the -b parameter defined for aefuf?

Environment

Release : 8.6

Component : CA Gen Asynchronous Daemon

Resolution

Background:
The Transaction Enabler uses TCP/IP sockets to communicate between the Clients and aefuf, aefuf and aefad as well as between the aefad and cooperative Load Modules (Unix only).

TCP/IP communication like this is subject to the amount of space reserved by the TCP/IP stack for the applications and during periods of heavy throughput between the various processes, this reserved space will become insufficient. Only by starting with larger Send/Receive buffers can applications hope to have enough reserved space on the TCP/IP stack for data transmission.

Applications using TCP/IP communications can set the buffer size without relying on the system settings and the -b parameter enables this for both the aefad and aefuf processes.  The -b parameter tells the processes to allocate Send and Receive buffers in 65K increments depending on the value of the parameters e.g. to allocate 10 increments:

                                 -b 10 = 656,000 bytes. 

  • If not set by the user, the default value for -b is 1. Therefore, a minimum of 65k bytes will be allocated.
  • The maximum permitted value for -b is 100.
  • The parameter must be set at startup of the process.

 

Differences of -b for aefad and aefuf:
There is a difference between the -b of the aefad that of the aefuf. 
The -b for the aefad will impact only the send/receive between the aefad and the aefuf, while the -b for the aefuf will only impact the send/receive between the aefuf and any client or proxy connected to it. 

The main reason to change (increase) the value of -b from the default is to prevent a situation where a hang could occur if both sides are attempting to send larger amounts of data to each other at the same time. 
The user can preemptively increase the value by a few points (say to 4 or 5).  Anything higher should be done when persistent hanging conditions are observed.
This hanging situation most likely will occur between the aefad and aefuf, so the -b of the aefad is where an increase could help. 
It is less likely to occur between the aefuf and connected clients. 
In summary, the user can set the -b to different values for the aefuf and aefad and they do not have to be the same.

Additional Information

CA Gen 8.6 > Middleware > Transaction Enabler > AEF Asynchronous Daemon > AEFAD Options

CA Gen 8.6 > Middleware > Transaction Enabler > AEF User Funnel > AEFUF Options