Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
A talk from RubyConfTH 2023, held in Bangkok, Thailand on October 6-7, 2023. Find out more and register for updates for our next conference at https://rubyconfth.com/
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
### Summary of "Rails Performance Monitoring 101: A Primer for Developers" In this talk, Rishi Jain from uLabs addresses performance monitoring in Ruby on Rails applications during the RubyConf TH 2023 in Bangkok, Thailand. The session aims to debunk misconceptions around performance issues and emphasize the importance of monitoring for all developers, not just seniors. #### Key Points Discussed: - **Understanding Performance Issues:** - Many developers experience performance issues (e.g., N+1 queries, high CPU/memory usage) but often feel these are only concerns for senior developers. - Both backend and frontend teams must collaborate to identify the source of performance problems, rather than deflecting blame to one another. - **Common Misconceptions**: - Performance monitoring should not be seen as solely the responsibility of senior developers. All developers should be cognizant of the impact their code may have on performance. - Caching is not a universal solution; excessive caching can exacerbate slow performance, especially with frequently changing data. - More hardware does not automatically equate to faster applications, similar to how larger highways do not increase individual travel speeds. - **Importance of Rails Performance Monitoring**: - Key reasons to monitor performance include scalability, user experience, cost savings, and professional development. - **Application Performance Monitoring (APM) Tools**: - Tools like New Relic and DataDog help monitor metrics such as request queuing, response times, and transaction performance. - Specific metrics Rishi highlights include: - **Request Queue Time**: Ideally between 20-50 milliseconds—not exceeding that indicates a potential problem. - **Slow Transactions**: Identifying the slowest transactions can help prioritize fixes. - **Throughput**: Knowing peak usage times can inform system upgrades. - **Object Allocations**: Keeping live object counts below 50,000 to avoid performance degradation. - **Instance Restarts**: Monitoring for restarts during peak times aids in diagnosing issues. - **Common Mistakes in Rails Applications**: - **N+1 Query Problem**: Using eager loading (e.g., `includes`) alleviates excessive queries. - **Lack of Background Processing**: Implement background jobs for long-running tasks like notifications. - **Timeouts for Third-Party Integrations**: Set strict timeouts to prevent long wait times due to external services. - **Missing Database Indexes**: Essential for optimizing query performance, particularly with larger datasets. #### Conclusions/Takes Away: - Developers at all levels must engage in performance consideration. - Utilize APM tools and understand key metrics to enhance application performance. - Being aware of common pitfalls can lead to significant improvements in the efficiency of Rails applications. Rishi encourages attendees to explore further learning resources such as Nate Bobic’s workshops and the book "SQL Performance Explained" to deepen their understanding of Rails performance.
Suggest modifications
Cancel