Hace tiempo ya escribí un post que había podido analizar cuellos de botella en la base de datos por falta de índices con el plugin query analyzer. Ahora voy a hablar de otro problema que es complejo de analizar que consiste en detectar aquellas páginas que son más lentas y hacer pruebas de rendimiento en nuestra web.
El primero que he encontrado es RAWK:
Consiste en un fichero ruby que nos descargamos a nuestro servidor y lo ejecutamos directamente indicándole cual nuestro fichero production.log. Este lo que hará será analizarlo y sacar estadísticas muy completas. Es perfecto para poder analizar aquellas consultas más lentas o las que más se están realizando.
Para ejecutarlo hacer ruby rawk.rb < log/production.log
Si queréis guardar el resultado en un fichero ruby rawk.rb < log/production.log > file.txt
También si queremos borrar los logs lo podemos hacer con rake log:clear RAILS_ENV=’production’
Con este he encontrado varías páginas que son excesivamente lentas y además puedes ponderar por el número de veces que han sido usadas permitiéndote hacer una estrategia de optimización.
El siguiente es Rails Analyzer:
Consiste en una serie de herramientas para realizar pruebas de carga y analizar rendimientos. Dispone de varías herramientas como Bench, Crawler, RailStat, IOTail, Action Profiler y Syslogger. He probado Crawl que empieza a hacer una serie de llamadas a una dirección web analizando cuando lo paramos el rendimiento real de este. Muy interesante. Con Bench hacemos lo mismo, pero lo hace en paralelo y nos puede ayudar a dimensionar el número de fastcgi o mongrels que ponemos.
Aún me falta profundizar en todos ellos, pero gracias a estas herramientas se me abren nuevas posibilidades de optimización que hasta ahora se me hacían más difíciles. ¿ conoces otras formas de analizar y optimizar?
Vía | Analyzing the Production log (podcast)
L-exp | Rails plugins and gems ( mis preferidos)
Popularity: 1% [?]

