Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Slow Ruby code can be a puzzle, but it doesn’t have to be that way. In this workshop you will see how fun it can be to use flamegraphs to find performance problems. You’ll get the most out of this session if you know you have slow areas in your Ruby application, and would like to learn how to find the code responsible.
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
In this workshop by Jade Dickinson at RubyConf 2021, titled "How to use flamegraphs to find performance problems," the focus is on optimizing Ruby applications by identifying and addressing performance issues using flamegraphs. The presentation outlines the importance of application performance for user experience, server costs, and overall reliability during peak traffic. **Key Points Discussed:** - **Importance of Performance:** - Faster loading times enhance user experience, particularly on customer-facing pages. - Slow application performance can lead to higher server costs and errors during peak load. - **Need for Profiling:** - Profiling helps identify slow areas in the code that are not immediately evident, particularly as applications scale up in usage. - Various Ruby profilers are mentioned, including `rb spy`, `ruby-prof`, and `rack-mini-profiler`, which is used throughout this workshop. - **Identifying Slow Code:** - A systematic approach is necessary to identify slow pages to prioritize optimization efforts. - Tools like New Relic are suggested for finding the most time-consuming web transactions. - **Using Flamegraphs:** - Flamegraphs visualize profiling data to easily identify performance bottlenecks. The x-axis represents time, while the height indicates stack depth. - Example patterns to recognize in flame graphs include long horizontal sections indicating time-intensive methods and spikes representing loops or database calls. - **Hands-on Exercises:** - Participants are guided through exercises to set up `rack-mini-profiler` and visualize their application performance using flamegraphs. - The workshop illustrates significant performance improvements by memoizing unnecessary method calls resulting from excessive querying. - **Adapting Strategies by Growth Stage:** - Different stages of product development necessitate unique performance optimization strategies: early stage, rapid growth, and stabilized growth. - Establishing performance targets early on is advised to mitigate potential slowdowns as feature sets expand. - **Final Takeaways:** - Optimize for high-impact areas, monitor application performance regularly, and use collaboration to address widespread issues across a development team. - The workshop encourages practical application, suggesting attendees install profiling tools in their projects and explore areas that could be optimized further.
Suggest modifications
Cancel