Tag Archives for Rails RubyonRails

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)

The Rails Way

He estado utilizando últimamente este libro con bastante frecuencia y he podido resolver varios temas que tenía pendientes en L-exp de forma fácil.

Este libro escrito por Obie Fernández se ha convertido para mi en una buena fuente de consulta y para resolver determinados temas. Esta escrito con mucho detalle y además tratando todos los temas clave para que se puedan resolver fácilmente con la lectura ( ata todos los cabos ).

Trata todos los temas que tenemos que conocer para desarrollar aplicaciones con Ruby on Rails. Además no sólo se limita a tratar lo académico sino que además aporta otros elementos para hacer que las aplicaciones sean más funcionales y que el desarrollo sea más ágil. Además aporta experiencias suyas y consejos.

Este libro está actualizado ya que soporta Rails 2.0 y por tanto de momento estaremos a la última. Cosa que en algunos libros de Rails al cambiar de versión han quedado desfasados.

Pude ver a Obie Fernández en La Conferencia Rails hispana 2007 y me causó muy buena impresión. Una persona bastante pragmática y con mucho expertice. Claramente refleja la impresión que me llevé con este libro.

He ido recomendando libros alguna vez y supongo que hay un libro para cada cosa. Para mi este sería el tercer libro que me compraría si empezase con Ruby on Rails ahora.

  1. Agile Web Developing with Rails (2n edition)
  2. Ruby for Rails
  3. The Rails Way

Este libro está en inglés y no se si existe traducción. La ventaja es que ahora el dólar está barato.

Podéis ver una lista en L-exp sobre mis recomendaciones de libros con todos los enlaces. Plantearos hacer una pequeña inversión y ganaréis bastante tiempo en aprender Rails.