Estoy "ajustando" una aplicación web PHP servida a través de NGINX con php-fpm como servidor FastCGI.
De la documentación :
fastcgi_read_timeoutDefine un tiempo de espera para leer una respuesta del servidor FastCGI.
Hasta ahora, todo bien. Pero entonces...
El tiempo de espera se establece solo entre dos operaciones de lectura sucesivas, no para la transmisión de la respuesta completa.
El script PHP comienza a enviar datos (lecturas de nginx), luego se detiene (tiempo de cálculo) y luego envía más datos (lecturas de nginx). Si la pausa dura más que el tiempo especificado, se interrumpe la conexión.
¿Es la interpretación correcta o me estoy perdiendo algo?
¿Qué significa exactamente " entre dos operaciones de lectura "?
¿No es la duración de la "respuesta completa" lo que importa? ¿Y qué parámetro establece un límite para eso?
El script PHP comienza a enviar datos (lecturas de nginx), luego se detiene (tiempo de cálculo) y luego envía más datos (lecturas de nginx). Si la pausa dura más que el tiempo especificado, se interrumpe la conexión.
Creo que es una interpretación correcta.
Y es fácil de probar: escriba un script php simple con algunos sleep s entre echo s y flush es. (No puedo hacerlo yo mismo en este momento).
¿No es la duración de la "respuesta completa" lo que importa?
Para mí personalmente, el enfoque fastcgi_read_timeout es más atractivo:
¿Y qué parámetro establece un límite para eso?
max_execution_time en php.ini o
fastcgi_param PHP_VALUE "max_execution_time=1000";en su configuración NGINX