Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf 2019 - Fixing Performance & Memory problems by Frederick Cheung Performance problems got you down? Do memory leaks strike fear in your heart? In this session I'll share two real world stories of how you can solve performance problems and plug memory leaks. You'll learn how to use tools such as ruby-prof and stackprof, interpret their output and gain extra insight into how your code is performing. When dealing with memory leaks, the biggest challenge can be finding them. You'll learn how to use rbtrace and ObjectSpace to identify what objects are being leaked and by which code, so that you can approach leaks with confidence. #confreaks #rubyconf2019
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 "Fixing Performance & Memory Problems" by Frederick Cheung at RubyConf 2019 addresses common challenges faced in Ruby application development, focusing on performance and memory management issues. The session shares practical insights and tools for debugging and optimizing applications based on two real-world experiences. **Key Points Discussed:** - **Introduction to Real-time Recommender Systems:** - The speaker explains the difference between batch processing and real-time recommendations, highlighting the need to balance accuracy and immediacy. - **Initial Deployment Challenges:** - After a promising deployment, a performance regression was noticed when a backlog of jobs accumulated, indicative of systemic delays in response times. - **Identifying Bottlenecks with Profilers:** - Using RubyProf, the team uncovered that serialization processes were consuming 90-95% of their time, leading to the decision to refactor the serialization method for efficiency. - **Using StackProf for Production Monitoring:** - StackProf was utilized due to its lower overhead in comparison to RubyProf, providing crucial insights without heavily impacting application performance. - **Memory Management Issues:** - Addressing the initial misconception of Ruby's garbage collection, the speaker delves into problems encountered in memory usage, particularly focusing on a memory leak caused by long-lived objects in middleware. - **Diagnostic Tools:** - The presentation covers how tools like rbtrace and ObjectSpace were employed to track memory allocations and diagnose leaks in real-time, significantly aiding in understanding memory behavior. - **Heap Dumps for Memory Leak Analysis:** - An analysis of heap dumps allowed the identification of retained objects that never released memory, leading to effective memory management practices. **Conclusions and Takeaways:** - Effective monitoring and profiling tools are critical in identifying and addressing performance and memory issues within Ruby applications. - It is vital to understand object lifecycles and memory allocation patterns to manage application resources efficiently. - The session emphasizes the importance of collecting data swiftly and iteratively improving application performance and memory handling through strategic testing and debugging techniques.
Suggest modifications
Cancel