PASF-ID

Consultoría tecnológica

Disponible la versión 2.2 RC1 de Rails

October 31st, 2008

Ya se puede probar la versión 2.2 RC1 de rails que incorpora, si no grandes cambios cara al programador, si importantes novedades que llevábamos tiempo esperando y que pueden aumentar significativamente el rendimiento de nuestra aplicación.



Para empezar Rails ya es Thread Safe ( programación multihilo). Esto significa que dependiendo de la infraestructura de nuestro servidor web rails podrá satisfacer más peticiones de clientes con menos instancias de rails en memoria, obviamente mejorando la respuesta y mejorando el rendimiento en máquinas de varios núcleos. Una de las grandes trabas en la puesta en producción de una aplicación rails es precisamente la necesidad de tener varias instancias de mongrel o thin corriendo detrás de un servidor web (Apache, Ngnix ) que implicaba la puesta en marcha de infraestructuras web de cierta complejidad que echaban atrás a muchos, especialmente a aquellos que venían de un entorno de desarrollo basado en Php . Cada vez hay más soluciones que simplifican la puesta en producción y mejoran el comportamiento de una aplicación en rails como mod_passenger o lsws, pero sin duda sea cual sea la solución de implementación que se adopte el hecho de que rails sea multihilo aumentará el rendimiento facilitando las soluciones de implementación adoptadas o la aparición de nuevas cada vez más seguras y menos complejas.


Otra de las novedades es que ya lleva incorporado el soporte para ETags, es decir el uso de una marca de tiempo para servir peticiones lo cual nos permitirá enviar una respuesta vacía si el contenido que vamos a servir no ha sido modificado acelerando la respuesta a aquellos clientes que se encuentren detrás de un servidor caché, sea este de su proveedor de Internet o de su empresa, o aquellos navegadores que cacheen los resultados.


Y no menos importante que los dos puntos anteriores Connection Pooling, Rails distribuye ahora las peticiones a bases de datos a través una pila de conexiones que por defecto son 5 pero podemos limitar o aumentar al número que nos convenga en el fichero database.yml ¿Ventajas? Esto ayudara a evitar cuellos de botella sobre todo en aquellas aplicaciones con un número elevado de clientes concurrentes.


Otro aspecto que mejorará el rendimiento de nuestras aplicaciones es el soporte de ruby 2.0, con su máquina virtual YARV. La fecha prevista de salida de ruby 2.0 ( 1.9.1) es a mediados de Diciembre. Aun tendremos que esperar un poco para ver que tal está implementado el soporte de ruby 2.0 en rails pero para aquellos impacientes ruby 1.9.0 está disponible en www.ruby-lang.org y Rails 2.2 RC1 se puede instalar como siempre:


gem install rails -s http://gems.rubyonrails.org -v 2.2.0


Deje una respuesta