2010-01-13 35 views
5

Estoy buscando entender conceptualmente todo lo que se necesita para perfilar un programa ruby ​​o ruby ​​on rails (por ejemplo, uso de memoria, velocidad de envío de solicitudes, velocidad de conexión con programas externos como DB) y son las mejores herramientas (a nivel conceptual y fundamental) que están disponiblesPerfilando una aplicación ruby ​​/ ruby ​​on rails

Gracias

+0

Gracias chicos Damato. Sin embargo, estoy buscando una visión general conceptual de los perfiles de rendimiento y luego algunas herramientas y trucos específicos de ruby. He usado nuevas RPM reliquias, pero eso hace muchas cosas por ti. Estoy buscando más desde una perspectiva de aprendizaje y, por lo tanto, querría usar los conceptos yo mismo usando algunas herramientas básicas. –

+0

Tu comentario parece hacer que la pregunta sea vaga y esotérica. ¿Quieres herramientas para perfilar Ruby, pero no quieres herramientas que sean específicas de ruby? Ver el código fuente de las herramientas de OSS que lo hacen podría ayudarlo a obtener la comprensión conceptual que está buscando. En particular, mire la fuente de las herramientas de Joe Damato a las que me he vinculado en mi respuesta. Github enlaces en los enlaces respectivos. Los artículos vinculados profundizan en los problemas detrás de la creación de perfiles. –

+0

Marca, lo que estoy viendo es un proceso de 2 pasos para entender el perfil de rendimiento de ruby: 1.) Conceptos genéricos: objetos en memoria, GC, velocidad, etc. 2.) Herramientas específicas de Ruby para aplicar estos conceptos. El beneficio que estoy tratando de buscar como resultado de estos 2 pasos es: 1.) Obtenga una idea genérica de cómo se puede perfilar una aplicación para el rendimiento (no en profundidad: genérica) 2.) Como me siento cómodo programando con Ruby y utilizando Rails, revisa la implementación de estos conceptos genéricos en aplicaciones y programas en vivo ¡Espero que esto lo haga más claro! –

Respuesta

2

no sé si ayuda, pero he leído en alguna dicho artículo, que Java es el mejor generador de perfiles para Ruby on Rails aplicaciones. La idea era ejecutarlos en JRuby y usar JProfiler u otras herramientas de creación de perfiles de Java para perfilar su aplicación Rails. Otra posibilidad que conozco podría ser la aplicación comercial Relic RPM, especialmente para perfilar aplicaciones de Rails.

+0

Esa es una idea interesante. Supongo que, con esa lógica, si pudieras hacer que Rails se ejecutara en IronRuby, podrías usar algunas de las herramientas de perfilado de .NET. – jerhinesmith

+0

+1 para http://www.newrelic.com/ – tfwright

1

Si programa en una Mac, es posible que desee comprobar DTrace.

Personalmente uso linux en este momento, así que no puedo hablar de ello, pero lo he mencionado varias veces en varios libros de Rails.

Fue desarrollado originalmente por Sun para ejecutarse en Solaris, pero creo que ahora viene preinstalado en Mac OS X Leopard.