Re: [PHP-ES] testear performance, mejorar un framework
[email protected] (Gerardo Benitez)
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <[email protected]> |
Gracias!! Esta respuesta es muy completa y junto con las otras que han enviado yo ya cuento con varias herramientas para empezar. Voy a ir incorporandolas a mi estilo de trabajo. Cualquier duda les vuelvo a consultar. Gracias de nuevo. Gerardo. 2010/7/18 Yago Ferrer <[email protected]> > Hola Gerardo Benitez, > me gustaría ampliar la recomendación de Carlos Medina. > > Profiling con microtime: > Puedes empezar por crear tus propias herramientas de profiling. Es muy > sencillo, empieza por calcular cuanto tiempo tardan en ejecutarse funciones, > consultas a la db, parseado de ficheros, etc. Utiliza microtime(true) para > calcular el tiempo de ejecución. (ver ejemplo 2. en > http://php.net/manual/es/function.microtime.php) > > Número de ejecuciones: > ¿Cuantas veces estás ejecutando el mismo método o función en cada petición? > Idealmente sería una vez, pero quizá no es cierto. Utiliza herramientas como > XDebug para trazar el número de ejecuciones por función o método. > http://xdebug.org/docs/execution_trace XDebug 2 tiene > otras interesantísimas herramientas de profiling que te sugiero revisar con > detalle. > > Número de consultas a la DB: > Si estás realizando consultas a datos en la base de datos que prácticamente > son estáticos y que cambian muy poco. Te recomiendo el uso de Memcache para > liberar estrés a tu motor de base de datos. Memcache reserva > un espacio en memoria RAM donde puedes guardar valores > Memcache::set("clave", "valor", false, tiempo_expiración) y obtenerlos > Memcache::get("clave") (ver > http://www.php.net/manual/es/class.memcache.php) > También es aplicable a parseado de XML u otros canales de información. > > Refactoring y UnitTesting: > Si hablas con cualquier programador experimentado no importa el ramo, te > mencionará lo importante que es usar UnitTesting y sus ventajas. En PHP > puedes utilizar PHPUnit para crear tus 'testing cases' para asegurarte que > todos los métodos y funciones realizan exactamente lo que esperas. > > Ponte al día: > Para finalizar te recomiendo la lectura de este libro que acaba de salir: > http://www.amazon.com/Pro-PHP-Refactoring-Francesco-Trucchia/dp/1430227273/ > > Saludos! > > Yago > --------------------------- > Ayúdanos a traducir el manual de PHP en: [email protected] > > 2010/7/14 Gerardo Benitez <[email protected]> > > Hola a todos, >> >> Estoy buscando formas de detectar y mejorar puntos flojos de un sistema, o >> puntos donde la ejecucion de un script se hace lenta. >> >> El punto es este, nos gustaria mejorar un framework de desarrollo que >> tenemos, por eso querria conocer como medir y detectar donde el codigo, o >> lo >> que sea, se podria mejorar, y esto no lo quiero limitar solo a codigo, por >> que por ahi no se trate solo de codigo, sino tambien de configuracion de >> servers, base datos etc. >> >> Para no hacerla muy larga, me gustaria que me cuenten si conoce como >> detectar los puntos flojos. >> >> >> Gracias de antemano. >> >> >> >> -- >> Gerardo Benitez >> > > > > -- > Yago Ferrer > -- Gerardo Benitez