Una respuesta que entrega algunos bytes de vez en cuando puede permanecer dentro de cada límite de inactividad de lectura mientras tarda mucho más de la cuenta en conjunto. Un tiempo de lectura no tiene que medir toda la duración de la transferencia.

Elija la política según la carga de trabajo. Un archivo finito necesita un presupuesto de finalización; un flujo de eventos puede continuar legítimamente durante horas y estar en silencio a ratos.

Mida el progreso útil

Para una descarga de archivo, mantenga un plazo general y considere los controles de baja velocidad o de progreso que admite el cliente. Defina el intervalo y la cantidad de datos útiles. Un byte de latido puede mostrar actividad sin hacer un progreso real hacia la finalización del archivo.

Mantenga la configuración del túnel separada de la transferencia del cuerpo. Esperar a que CONNECT se complete y recibir un cuerpo de destino lento son etapas diferentes con pruebas diferentes.

Consuma o cierre la respuesta en cada ruta de salida. Dejar abierto un flujo lento puede hacer que la siguiente solicitud espere capacidad del grupo, lo que produce otro tiempo de espera por una razón distinta.

Si la duración observada supera la política prevista, inspeccione la versión exacta del cliente y el bucle de lectura. Un temporizador de inactividad correcto, el comportamiento de un bucle personalizado y un error de implementación necesitan correcciones diferentes.

Artículos relacionados