Setting custom properties for an HTTP transport

 

WebSphere Application Server has several transport properties that are not shown in the settings page for an HTTP transport. They are as follows:

 

ConnectionIOTimeout

Maximum number of seconds to wait when trying to read or process data during a request.

Data type: Integer.

The default value is five seconds. This value determines how long to wait while receiving two subsequent data packets for the same HTTP request. For example, using the default ConnectionIOTimeout setting of five seconds, if an HTTP client sends two data packets spaced six seconds apart, the timeout will fire, and a java.io.InterruptedIOException is raised. This will terminate the HTTP request and it will not be read.. The HTTP client will have to reissue the request.

 

ConnectionKeepAliveTimeout

Maximum number of seconds to wait for the next request on a keep alive connection.

Data type: Integer.

 

MaxKeepAliveConnections

Maximum number of concurrent keep alive (persistent) connections across all HTTP transports. To make a particular transport close connections after a request, you can set MaxKeepAliveConnections to 0 (zero) or you can set KeepAliveEnabled to false on that transport.

The Web server plug-in keeps connections open to the appserver as long as it can. However, if the value of this property is too small, performance is negatively impacted because the plug-in has to open a new connection for each request instead of sending multiple requests through one connection. The application server might not accept a new connection under a heavy load if there are too many sockets in TIME_WAIT state. If all client requests are going through the Web server plug-in and there are many TIME_WAIT state sockets for port 9080, the application server is closing connections prematurely, which decreases performance. The application server closes the connection from the plug-in, or from any client, for any of the following reasons:

  • The client request was an HTTP 1.0 request when the Web server plug-in always sends HTTP 1.1 requests.

  • The maximum number of concurrent keep-alives was reached. A keep-alive must be obtained only once for the life of a connection, that is, after the first request is completed, but before the second request can be read.

  • The maximum number of requests for a connection was reached, preventing denial of service attacks in which a client tries to hold on to a keep-alive connection forever.

  • A time out occurred while waiting to read the next request or to read the remainder of the current request.

Data type Integer
Default 90% of the maximum number of threads in the Web container thread pool. This prevents all of the threads from being held by keep alive connections so that there are threads available to handle new incoming connect requests.

 

MaxKeepAliveRequests

Maximum number of requests which can be processed on a single keep alive connection.This parameter can help prevent denial of service attacks when a client tries to hold on to a keep-alive connection. The Web server plug-in keeps connections open to the appserver as long as it can, providing optimum performance.

Data type Integer
Default 100

 

KeepAliveEnabled

Specifies whether to keep connections alive or not.

Data type: Boolean. Default is true .

One can set these properties on either the Web Container or HTTP Transport Custom Properties pages. When set on the Web container Custom Properties page, all transports inherit the properties. Setting the same properties on a transport overrides like settings defined for a Web container.

To specify values for these custom properties for a specific transport on the HTTP Transport Custom Properties page:

  1. Access the settings page for transport properties:

    1. Click through:

      Servers | Application Servers | servername | Web Container | HTTP Transport

    2. Click on the HOST whose properties you want to set.

    3. Under Additional Properties select Custom Properties.

    4. On the Custom Properties page, click New.

  2. On the settings page for a new property, enter the name of the transport property and the value to which you want it set. For example, if you want the transport to wait a maximum of 60 seconds when trying to read or write data during a request, enter ConnectionIOTimeout for name and 60 for value. Then click OK.

  3. Click Save on the console taskbar and save the changes to the configuration.

  4. Restart the server.

  5. Regenerate the Web server plug-in.


Configure transports
Modify the default Web container configuration
Tuning parameter index

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.