aumento del tiempo de espera de conexión para tomcat en el arranque de primavera
¿Cómo se puede aumentar el tiempo de espera para que hasta que se procese la respuesta, la solicitud no expire?
onfiguración de @Tomcat en Spring Boot -
server.tomcat.max-connections=2000
server.tomcat.max-threads=200
server.connection-timeout=1200000
Solicitud por segundo se plantearonconstantUsersPerSec(20) during (15)
a 300 durante el transcurso de 15 segundos y todas las solicitudes se atendieron como se puede ver en la gráfica a continuación desde gatling (azul).
scn.inject(
constantUsersPerSec(20) during (15),
)
Esto es debido amax-connections = 2000
que atendió 300 solicitudes usando200
hilos de trabajo.
Controller está escrito en Spring MVC que devuelveDeferredResult
que realiza el procesamiento de solicitud asíncrono y, por lo tanto, reanudará la respuesta una vez que se procese la respuesta.
Pero a pesar deserver.connection-timeout
se establece en número alto1200000
hay muchos 503 hacia el final (rojo)
> status.find.in(200,304,201,202,203,204,205,206,207,208,209), b 78 (100.0%)
ut actually found 503
Gatling.conf también está configurado para aumentar el tiempo de espera -
timeOut {
simulation = 8640000 # Absolute timeout, in seconds, of a simulation
}
ahc {
#keepAlive = true # Allow pooling HTTP connections (keep-alive header automatically added)
connectTimeout = 600000 # Timeout when establishing a connection
handshakeTimeout = 600000 # Timeout when performing TLS hashshake
pooledConnectionIdleTimeout = 600000 # Timeout when a connection stays unused in the pool
readTimeout = 600000 # Timeout when a used connection stays idle
#maxRetry = 2 # Number of times that a request should be tried again
requestTimeout = 600000