Re: [PHP-ES] testear performance, mejorar un framework
[email protected] (hahmael)
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <[email protected]> |
Gracias Yago y a los otros compañeros..a mi también me sirvió sus respuestas. Saludos. 2010/7/20 Gerardo Benitez <[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 > -- Agradecido. Hahmael Tâher.