Web server plug-in connections
Web server plug-ins establish persistent HTTP and HTTPS connections to WAS appservers.
When plug-ins are ready to send a request to the appserver, the connection pool is checkf or existing connections.
- If an existing connection is available the plug-in checks the connection status.
- If the status is still good, the plug-in uses that connection to send the request
- If a connection does not exist, the plug-in creates one.
- If a connection exists but has been closed by the appserver, the plug-in closes that connection and opens a new one.
After a connection is established between a plug-in and an appserver, it will not be closed unless...
- The Use Keep-Alive property is selected and Read timeout or Write timeout for the HTTP inbound channel has expired.
- The maximum persistent requests which can be processed on an HTTP inbound channel has been exceeded.
- The Application Server is shutting down.
Even if the appserver closes a connection, the plug-in will not know that it has been closed until it tries to use it again. The connection will be closed if one of the following events occur:
- The plug-in receives a new HTTP request and tries to reuse the existing connection.
- The number of httpd processes drop because the Web server is not receiving any new HTTP requests. For the IBM HTTP Server, the number of httpd processes that are kept alive depends on the value specified on the Web server's MinSpareServers directive.
- The Web server is stopped and all httpd processes are terminated, and their corresponding sockets are closed.
Avoid trouble: Sometimes, if a heavy request load is stopped or decreased abruptly on a particular appserver, a lot of the plug-in's connections to that appserver will be in CLOSE_WAIT state. Because these connections will be closed the first time the plug-in tries to reuse them, having a large number of connections in CLOSE-WAIT state should not affect performance.
Related tasks
Communicating with Web servers
Related
Transport chains collection