5.6.6 Setting the communication timeout when sending and receiving a response (When the Smart Composer functionality is used)
You set the communication timeout for sending and receiving responses between the Web container and the redirector and between the Web server and the client.
The followings are the methods for setting the communication timeout in each of the cases:
- Organization of this subsection
(1) Settings in the Web container for sending responses
In the Web container, you specify the communication timeout for the process of sending a response from the Web container to the redirector. Set the waiting time for sending a response from the Web container in the Easy Setup definition file.
-
Timeout for the response sending process
Set the timeout (seconds) for sending a response from the Web container in the webserver.connector.ajp13.send_timeout parameter in the <configuration> tag of the logical J2EE server (j2ee-server). The default value of the parameter is 600 seconds.
(2) Settings in the redirector for receiving responses
Set communication timeout when the redirector receives a response from the Web container, to the redirector.
(a) How to set
Set the waiting time for the response from the Web container in the Easy Setup definition file.
-
Timeout for the response receiving process
Set the response waiting time (seconds) for each worker in the worker.worker-name.receive_timeout parameter in the <configuration> tag of the logical J2EE server (j2ee-server). The default value of the parameter is 3600 seconds. If you want to set communication timeout for J2EE applications, define and map workers for each J2EE application.
(b) Precautions for setup
You can detect Web application failure by the timeout in receiving a response in the redirector. Therefore, depending on the operation state, consider the time required for processing Web applications and set a value from which failure can be detected as the communication timeout value.
Take the followings into the consideration when you set the timeout value for receiving responses in the redirector:
-
Set a time longer than the time required for processing the Web applications in communication timeout.
If the set timeout value is shorter than the Web application processing time, even if the Web application is processing normally, the timeout is determined in the redirector and an error is returned to the client.
-
Consider the waiting time based on the controlling of the number of concurrently executing threads at the peak of the Web container.
Because of the controlling of the number of concurrently executing threads, at the peak of the Web Container, there might be requests awaiting processing. Therefore, if controlling the number of concurrently executing threads is set, you must specify the communication timeout considering the extension of the request processing time. For details on settings for controlling the number of concurrently executed threads for each Web container, see 5.11 Controlling the number of concurrently executing threads in the Web container. For details on settings for controlling the number of concurrently executed threads for each Web application, see the manual uCosminexus Application Server Web Container Functionality Guide. For details on settings for controlling the number of concurrently executed threads for each URL group, see the manual uCosminexus Application Server Web Container Functionality Guide.
-
When failure occurs in the Web container while the data is being sent to the redirector, the failure is detected by the timeout in the TCP re-send timer.
Note that in UNIX, the time until timeout depends on the OS.
(3) Settings in the Web server for sending responses
In the Web server, you set the communication timeout for sending a response to the client.
(a) How to set
Set the waiting time for the response from the client in httpsd.conf.
-
Communication timeout for the data sending process
Set the communication timeout in the Timeout directive. Note that the communication timeout specified in the Timeout directive is specified both as the communication timeout for the request receiving process and the communication timeout for the response sending process. Therefore, you cannot set a different time in the communication timeout for the request receiving process and the communication timeout for the response sending process.
For details on the communication timeout for the process of receiving requests from clients, see 5.6.4(1) Settings in the Web server for receiving requests.
(b) Precautions for setup
To set the timeout for sending responses in the Web server, take into the consideration the network configuration and traffic status between the client and the Web server and specify adequate time for sending and receiving data with the client.
Also, for the timeout value set in the Web server for sending responses, specify a value smaller than the timeout value in the Web container for sending responses. If the timeout for sending responses in the Web server is greater than timeout for sending responses in the Web container, and a failure occurs between the client and Web server, the timeout in the Web container for sending a response to the redirector might occur earlier than the timeout in the Web server for sending response to the client. In this case, one cannot determine whether the failure has occurred between the client and the Web server or between the redirector and Web container.