Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
"Ruby can't scale." Tell that to LivingSocial, GroupOn, Gowalla, Sony, and the rest of our community pushing millions of requests per day. Scaling an application isn't about piling up hardware and dropping in the newest database fad, it's the combination of design and refinement. In this session, we'll look at refining Ruby code using tools to: Find CPU-intensive hotspots Measure memory and object allocation Monitor query count and duration Isolate data-store bottlenecks This is not about info-porn. It's about finding the 1% of your code that, through optimization, can dramatically improve performance. Help us caption & translate this video! http://amara.org/v/FGkf/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video titled "Metric Driven Development with Ruby on Rails," presented by Jeff Casimir at LA RubyConf 2012, focuses on enhancing performance in Ruby on Rails applications through metrics-driven approaches. Casimir emphasizes that scaling applications successfully involves careful design and optimization rather than just adding hardware. He outlines essential methods for identifying performance issues, including: - **Performance Metrics**: Understanding that performance is critical beyond functionality. Testing is not enough; developers should be aware of how quickly applications operate. - **Runtime Performance**: Stressing the difference between development and production performance, where real-world user demands can reveal slowdowns not visible in smaller tests. - **User Experience**: Highlighting that developers should see themselves as contributors to user experience, where fast applications lead to happier users and improved business outcomes. - **Goal Setting with Metrics**: Using tools like New Relic for performance tracking helps gauge the impact of application changes. - **Profiling Tools**: Introducing tools like PerfTools.rb to analyze CPU usage and identify bottlenecks. Casimir uses practical examples, such as profiling a sample blog application to reveal inefficiencies in database queries and memory usage. - **Optimization Techniques**: Discussing specific techniques, such as improving database queries using the Bullet gem to identify N+1 queries and suggesting practices like `includes` or `eager_load`. - **Awareness of Garbage Collection**: Addressing how Ruby's garbage collector can impact performance and exploring techniques to monitor and manage its effects. To conclude, Casimir encourages developers to adopt a mindset of measurement and analysis over assumption, pressing that achieving performance is a continual process informing development decisions. The session underscores the importance of aligning performance goals with user satisfaction and overall application success.
Suggest modifications
Cancel