Google
Web dns.bdat.net

[PHP-ES] Re: consumo de recursos al usar while() y funciones de cadena

Write haof XML files: Diego Andrés Firmenich ( dfirmenich@dgrchubut.gov.ar)
Fecha: jue 25 ago 2005 - 18:18:50 CEST


Pues..digamos que lo que planteas es una cuestion que encuentra respuesta a
nivel operativo, asi que aqui me pongo la remera de Tux y te cuento lo que
puedo...
Tu script esta corriendo en algun proceso. Asi, haga lo que haga tu proceso,
(un forever vacio, entrada - salida, lo que fuere que haga) recibira una
cuota de cpu y luego le tocara a otro proceso, y luego a otro, y a otro,
ya...asi sucesivamente...
El hecho y a lo que me refiero, es que tu script podra exigir mas o menos
recursos, pero el scheduler de corto plazo (en el kernel, el que reparte los
tiempos de procesador) lo va a ir fletando, de manera q el resto de sus
procesos hagan sus cosas. Asi, por un bucle infinito en un script nunca se
te puede palmar la maquina, de hecho, la maquina no sabe lo que esta en un
bucle infinito.
Es mas importante que eso el el bloque de codigo que contiene el while, dado
que ahi puedes estar pretendiendo demasiados recursos.
Por otro lado adoptando politicas correctas de configuracion, nunca se
deberia planchar todo un servidor por el mal codigo de una sola persona,
pues seria un desastre.
Modulos fundamentales en la optimizacion de recursos que tomara el apache
para atender nuestras visitas, son los modulos prefork y worker.
Asi q pues eso, pegale una revizada que esta interezante.
Saludos Lista.

""Camilo Kawerín"" < camilokawerin@ciudad.com.ar> escribió en el mensaje
news:430D1E04.8070409@ciudad.com.ar...
> Hola a todos,
>
> ¿Es posible que la ejecución de un while consuma tantos recursos que el
> servidor "se planche"?
>
> Estaba usando una función que recorría el código html de una página
> generado por un script con un while así:
>
> while (strpos($documento, "><")) {
>
> ...
>
> }
>
> Dentro del ciclo ejecutaba unas funciones de tratamiento de cadenas que
> agregaban sangría al código.
>
> La ejecución de todo el ciclo tardaba 5.6056 segundos y el bloque de
> funciones se ejecutaba 498 veces.
>
> Ya anulé esa parte del script, porque ese tiempo de ejecución es excesivo.
> Pero de todos modos, me queda la duda sobre si ese bloque de sentencias
> puede consumir tantos recursos que haga que el equipo "se planche".
>
> ¿Alguien tiene alguna idea?
>
> Saludos
>
> --
> Camilo Kawerín
> 27Sur comunicación & diseño
> http://www.27sur.com

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:23:49 CET