Cómo configurar tiempos de espera de solicitud en cada salto de red

Cómo configurar tiempos de espera de solicitud en cada salto de red

Estoy tratando de entender los tiempos de espera de la red y cómo deben configurarse para cada salto de una solicitud determinada. Para simplificar, no estoy analizando un desglose de los tiempos de espera de conexión, lectura y escritura y asumiré que "tiempo de espera" significa "tiempo total máximo permitido desde el primer paquete recibido hasta el último paquete enviado (o viceversa para el cliente). Digamos que tengo los siguientes saltos en mi flujo de solicitudes:

(client) --> (AWS ALB) --> (nginx) --> (server)

…y supongamos que mi servidor está configurado para que se agote el tiempo de espera después de 10 segundos.

Mi pregunta: ¿cuál sería un conjunto válido de tiempos de espera para cada salto? Podría ser

// A
(client, 13s) --> (AWS ALB, 12s) --> (nginx, 11s) --> (server, 10s)

o

// B
(client, 7s) --> (AWS ALB, 8s) --> (nginx, 9s) --> (server, 10s)

o (C) ¿algo más?

Obviamente, también me interesa la lógica detrás de tus sugerencias.

Respuesta1

Si busca tiempos de espera difíciles (no indica el propósito), cada etapa de procesamiento tienemenostiempo que el anterior. Básicamente, A es el enfoque correcto.

Sin embargo, la ruta del cliente a AWSALB está fuera de su control y puede ser comparativamente larga/lenta. Un segundo por paso parece muy generoso, así que no hay problema. Pero si lo reduce a 50 o quizás 100 ms por paso, el primer paso necesitará más asignación.

información relacionada