WebSphere Commerce Payments -Tuning for high-performance environments

Each business model possesses unique requirements and, as such, utilizes the WebSphere Commerce Payments functions somewhat differently. Often, WebSphere Commerce Payments can be tuned to maximize its performance and functionality for a given business environment.

 

Wait time for transmission control protocol/internet protocol (TCP/IP) sockets

Each request to WebSphere Commerce Payments results in a TCP socket going into the TIME_WAIT state and remaining there for several minutes. For machines that service a high volume of requests, there may be a large number of sockets in the TIME_WAIT or TIME_CLOSED state, resulting in rejected requests, that is, a return code of Cannot connect to WebSphere Commerce Payments. This behavior is expected and necessary for all TCP connections.

TCP sockets move into the TIME_WAIT state for a period of time to ensure that any subsequent communication on the socket is not mistaken for new communication on a newly-bound socket. This period of time is, theoretically, 2 MSL (that is, twice the maximum segment lifetime). In practice, the TIME_WAIT default is as shown:

By altering the TIME_WAIT values on your operating system, high-volume users can reduce this problem. Following are examples of how the interval can be reconfigured on the various operating systems.

Exception:

If an alternative stack is being used, other measures may be required.

 

(AIX)

no -o tcp_timewait=1

The value (1) is in 15 second increments. For example, 1 equates to 15 seconds, 2 equates to 30 seconds, and so on. IBM recommends that you set the value to 1 or 2.

 

(Solaris)

ndd -set /dev/tcp tcp_close_wait_interval 30000

The value (30000) is in milliseconds.

 

(Windows)

  1. Locate in the Registry:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters \TcpTimeWaitDelay

    If this entry does not exist in your Windows Registry, create it, following step 2 below.

  2. Edit this entry as a new DWORD item.

  3. Set it to any value between 30 and 300 (value represents the number of seconds). IBM recommends that you set this value to 30.

Related tasks