Category Archives for Rails

Libro :: Agile Web Development with Rails :: 3a Edición

Acaban de anunciar la aparición de la 3a edición de “Agile Web Development with Rails“. Para los que no lo conozcan es el libro básico y perfecto para iniciarse en Ruby on Rails. Está muy bien estructurado y va desarrollando un ejemplo que nos permitirá iniciarnos en esta Web Framework.image

Con la aparición de la versión Rails 2.0 la anterior edición quedó completamente desfasada ya que el ejemplo no utilizaba Rest que es la nueva filosofía de desarrollo.

No puedo más que recomendarlo a aquellos que quieran iniciarse en esta Framework. No se si existe versión en Castellano y podemos comprarlo tanto en PDF como en papel ( o los dos formatos).

Lo que más me gusta de Pragmatic Programmers es la posibilidad de comprarlo en fase Beta e iremos recibiendo actualizaciones de este hasta que llegue el definitivo. Incluso si hay correcciones posteriores te las envían.

Este libro es la base para empezar y coger una buena idea de su funcionamiento. Pero lo siguiente que nos encontraremos es que hemos de aprender Ruby para desarrollar en Ruby on Rails. Por ello os añado una lista con los libros que yo he encontrado interesantes.

L-exp | books to learn Ruby on Rails

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)