working time_sleep_until second pause one not example con php performance sleep

php - time_sleep_until - sleep() silencia silenciosamente a la CPU



sleep one second php (3)

¿De verdad está viendo que la CPU va al 100% o simplemente que no se están sirviendo otras páginas? ¿Cuántas instancias de apache está ejecutando? ¿Se están parando todos cuando ejecutas sleep () en de of the threads?

La función sleep () de PHP se ejecuta esencialmente a través de un bucle inactivo durante n segundos. No libera ninguna memoria, pero no debería aumentar significativamente la carga de la CPU.

Estoy ejecutando Apache en Linux dentro de VMWare.

Una de las páginas de PHP que estoy solicitando tiene un valor de sleep() , y creo que si intento solicitar una segunda página mientras la primera está en sleep()''ing , la segunda página se cuelga, esperando a que sleep() la primera página para terminar.

¿Alguien más ha visto este comportamiento?

Sé que PHP no tiene múltiples subprocesos , pero esto parece ser un mal manejo de la CPU.

Edición : debería haber mencionado que el uso de la CPU no aumenta. Lo que quiero decir con CPU "acaparando" es que ninguna otra página PHP parece capaz de usar la CPU mientras la página está inactiva ().


Lo que esto probablemente significa es que tu Apache solo está usando 1 proceso hijo.

Por lo tanto:

El proceso 1 hijo está manejando una solicitud (en este caso, durmiendo, pero podría estar haciendo un trabajo real, Apache no puede notar la diferencia), por lo que cuando llegue una nueva solicitud, tendrá que esperar hasta que finalice el primer proceso.

La solución sería aumentar el número de procesos secundarios que Apache puede generar (directiva MaxClients si está utilizando el MPM prefork), simplemente elimine el comando sleep () del script PHP.

Sin saber exactamente qué está pasando en tu script es difícil de decir, pero probablemente puedas deshacerte del sueño ().


Podría ser que la página llamada abra una sesión y luego no la comprometa, en este caso, vea esta respuesta para una solución.