Advanced Performance Optimization of Rails Applications
In this session Alexander covers steps of performance improvement process necessary to make real-world production Rails application fast and keep it so.
To start, your application is slow. Make it faster:- optimizing common hotspots in Ruby code, including Date class, String::+=, BigDecimal comparisons and more
- preloading has_many/belongs_to associations when Rails eager loading can’t (custom joins and selects)
- optimizing template rendering, especially when including multiple small partials
- tips for faster PostgreSQL queries: manually pushing down conditions into subqueries, using arrays instead of joins and more
- performance characteristics of JRuby and Ruby 1.9
- Virtual Attributes AR plugin
- Template Inliner plugin
- impact of filesystem performance
- shared database performance under severe memory restrictions
- debugging live production applications (strace, dtrace, oprofile)
- debugging performance problems caused by load-balancing solutions commonly used with Rails
- HTTP optimization basics, managing browser cache
- optimizing JavaScript performance, efficient drag-and-drop
- IE-specific optimizations
- performance-aware coding and unit testing
- continuous performance integration testing
- memory profiling
- techniques for realistic database profiling
- production performance monitoring
Need to justify performance work to your boss? Alexander will use the data he gathered from production Rails application to demonstrate how quickly the performance degrades when you don’t care about it. You will understand that the continuous work on performance should be the integral part of your development and deployment process.
People planning to attend this session also want to see:
Alexander Dymo
Pluron, Inc.
Alexander is a Director of Engineering in Pluron Inc., the startup from Silicon Valley working on Acunote – the enterprise project management and Scrum software built with Rails. As a software engineer, team leader and project manager, Alexander has three years of experience of real world Rails application development, deployment and performance optimization.
Alexander currently lives and works in Ukraine. He holds a PhD in Project Management and is a part-time associate professor at National University of Shipbuilding.
Alexander is actively involved in the Free Software movement. He is a maintainer of the KDevelop IDE project. He has been a KDE developer since 2002, has contributed code to KOffice, KDELibs, KDevelop, including major parts of Ruby and Rails support.
Alexander contributed performance-related patches and optimizations to both Ruby and RoR.
Alexander regularly presents at conferences in Europe and Americas promoting free software, KDE and KDevelop.
Add a comment (requires login)














Comments
Lots of interesting, helpful and specific points with a minimum of fluff and funny photos. Well done! I like how you gave specific examples.
The presentation was straight to point, no fluff. Pragmatic approach with data to back it up. Surely not a Twix.
see link above too
Slides for this presentation are here: blog.pluron.com/adymo_rails...
Great presentation. The slides are where?
Smart presentation, lots of valuable lessons. Check out the slides. Plenty to work on now, thanks Alexander!
Wow! A lot to digest. I will definitely have to check out the slides and go over some of the suggestions in more detail over the next few weeks. Thanks!
Really looking forward to this talk!