El mal comportamiento de la caché de NGINX provoca que el sistema entre en un frenesí

El mal comportamiento de la caché de NGINX provoca que el sistema entre en un frenesí

Estamos usando CentOS/nginx fastcgi_cache para almacenar en caché las solicitudes de archivos PHP en nuestro servidor. Se accede a este archivo con mucha frecuencia y también se actualiza con mucha frecuencia, por lo que tiene caché de 1 segundo.

Normalmente, al revisar el registro de acceso veremos algo como esto:

00:01 REQUEST 1 "EXPIRE"
00:01 REQUEST 2 "HIT"
00:01 REQUEST 3 "HIT"
00:02 REQUEST 4 "EXPIRE"
00:02 REQUEST 5 "HIT"
00:02 REQUEST 6 "HIT"

Cuando ocurre el problema, algo le sucede a nginx y de repente el registro comienza a verse así (todos caducan aunque en el mismo segundo):

00:01 REQUEST 1 "EXPIRE"
00:01 REQUEST 2 "EXPIRE"
00:01 REQUEST 3 "EXPIRE"
00:02 REQUEST 4 "EXPIRE"
00:02 REQUEST 5 "EXPIRE"
00:02 REQUEST 6 "EXPIRE"

Nota importante: Justo antes de que esto suceda, php-fpm informa: ADVERTENCIA: el servidor [pool www] alcanzó la configuración max_children (35), considere aumentarla AVISO: Terminando... AVISO: saliendo, ¡adiós! AVISO: fpm se está ejecutando, pid 27544 AVISO: listo para manejar conexiones

(Este no es un comportamiento normal y es muy raro)

Intenté reiniciar php-fpm a mitad del trabajo para ver si afecta el caché; no lo hice. También intenté realizar pruebas de estrés en los archivos específicos que se llaman con frecuencia y no puedo hacer que el sistema se vuelva loco. También verifiqué que la clave de caché esté configurada correctamente.

¿Alguien tiene alguna idea de qué otras posibilidades existen aquí? ¿Algo más que pueda investigar?

PD: Para solucionarlo cuando sucede, detenemos las solicitudes del archivo, reiniciamos el servicio y vuelve a funcionar.

Gracias por la ayuda, Alon

información relacionada