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, held in Bangkok, Thailand on December 9-10, 2022. Find out more and register for updates for our 2023 conference at https://rubyconfth.com/ RubyConfTH 2022 videos are presented by Cloud 66. https://cloud66.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
In the talk titled "A Rails Performance Guidebook: From 0 to 1B Requests/Day" presented at RubyConfTH 2022 in Bangkok, Cristian Planas discusses the scalability of Rails applications based on his experiences at Zendesk. He begins by addressing the common belief that Rails does not scale, presenting his theory that while scaling is a challenging endeavor, it feels harder due to the simplicity of Rails. Key points include: - **Experience and Motivation**: Cristian shares his journey from learning Rails in school to working as a CTO at a startup, illustrating the evolution of his understanding of scaling challenges. He emphasizes that despite the hurdles, Rails is capable of scaling significantly, as evidenced by Zendesk's handling of billions of requests. - **Understanding Scaling**: Cristian argues that the reality of scaling issues is often attributed to a lack of understanding rather than inherent limitations of Rails. The presentation aims to introduce various scaling strategies and offer a toolbox rather than silver bullets. - **Impact of Large Data Sets**: He highlights the rapid growth of data at Zendesk, stressing the importance of monitoring and proper data management strategies including sharding and database indexing to optimize performance. - **Monitoring and Error Budgets**: Monitoring is essential for identifying performance issues, and setting error budgets can help manage performance expectations effectively. - **Database Performance**: Cristian touches on common pitfalls like the N+1 problem and encourages the use of indexes to improve query performance. He warns against over-fetching data and emphasizes the importance of understanding p99 latencies that affect user experience. - **Caching and Trade-offs**: The complexities introduced by caching, including potential data inconsistencies and the importance of write-through caching for derived models, are discussed. Cristian also introduces the "Doraemon Paradox" to illustrate the potential misuse of technology. - **Cold Storage**: The practice of moving less frequently accessed data to cold storage is presented as a viable solution for managing large data sets, with an explanation of Zendesk’s archival process. - **User Experience Focus**: The talk reiterates that performance should prioritize user experience and that solutions should align with the users' needs. Strategies for improving workflows and managing data loading are mentioned, along with the necessity of defining limits to ensure stability. - **Final Thoughts**: Cristian concludes by reminding the audience that trade-offs are an inescapable reality in software development, and achieving balance between various aspects of application performance is key. He emphasizes that developer satisfaction is integral to a productive engineering environment and advocates for a fun approach to programming with Ruby. This presentation provides a thorough overview of strategies and mindsets necessary for scaling Rails applications effectively while accommodating rapid growth in data and user demands.
Suggest modifications
Cancel