Pregunta

La causa fue, probablemente, que me quedé sin espacio en el disco, haciendo que todo funcione de manera extraña. Voy a dejar esta cuestión hasta todos modos, en caso de que alguien más tiene un problema similar.

Tengo un par de scripts PHP que han colgado durante mucho tiempo, pero al parecer no son realmente usando mucho tiempo de CPU, ya que no mueren. Todavía están haciendo que sea imposible para lighttpd para desovar cualquier proceso más PHP como la cantidad máxima de ellos ya se ha generado.

Soy consciente de la set_time_limit que se puede utilizar como una función o puesto en php.ini para controlar el tiempo máximo de una secuencia de comandos de la CPU puede ejecutar. Lo que quiero es limitar todos los scripts PHP a cargo de mi servidor web (lighttpd) no en tiempo de CPU, pero el tiempo del reloj.

En caso de que importa, esta es la parte PHP de mi archivo de configuración lighttpd.

fastcgi.server = (".php" => ((
 "bin-path" => "/opt/local/bin/php5-cgi",
 "socket" => "/tmp/php.socket" + var.PID,
 "min-procs" => 16,
 "max-procs" => 16,
 "idle-timeout" => 15,
)))

Aquí está mi server-status de lighttpd. Se puede ver que PHP ha estado funcionando mucho más tiempo de lo que esperaba y ha causado que el servidor se obstruyen. Por extraño que también parecen ser más procsos PHP que mis max-procs.

legend
. = connect, C = close, E = hard error
r = read, R = read-POST, W = write, h = handle-request
q = request-start,  Q = request-end
s = response-start, S = response-end
388 connections
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhrhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhrhhhhhhhhhhhhhhhhhhhhhhhhrhhhhhhhhhhh
hhhhrhhhhhhhhhhrhrhhhrrhrhhhhhrhhhrhhhhhhrhhhrrrhr
rrhrrrhrhhhhrrhrrhhrrhrrhrrrrrrrrrrrrh

Connections
Client IP:  Read:   Written:    State:  Time:   Host:   URI:    File:
204.16.33.51    0/0 0/0 handle-req  1361    ... (a PHP script)
204.16.33.46    0/0 0/0 handle-req  1420    ... (another PHP script)
... gazillion lines removed ...

Todas las ideas que podrían ayudar a configurar una configuración que yo no tengo que cuidar constantemente sería muy apreciada!

¿Fue útil?

Solución

Usted es probablemente mejor fuera de editar el archivo php.ini y establecer permisos allí.

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 32M      ; Maximum amount of memory a script may consume (8MB)

Otros consejos

No estoy seguro de que usted puede hacer que en lighttpd. Se podría, sin embargo, establecer una secuencia de comandos "Spinner" para comprobar periódicamente si hay procesos paralizados y los matará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top