Advanced Performance Optimization of Rails Applications
Location: Pavilion 9 - 10
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
- 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 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.
Comments on this page are now closed.