Daily Archives for Lunes, abril 2008

Detectando problemas de rendimiento en rails

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% [?]

Get Adobe Flash playerPlugin by wpburn.com wordpress themes