Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
#rubyconftw 2023 A Rails performance guidebook: from 0 to 1B requests/day Building a feature is not good enough anymore: all your work won't be of use if it's not performant enough. So how to improve performance? After all, performance is not an easy discipline to master: all slow applications are slow in their own way, meaning that there is no silver bullet for these kinds of problems. In this presentation, we will guide you across patterns, strategies, and little tricks to improve performance. We will do that by sharing real stories of our daily experience facing and solving real performance issues in an application that daily serves billions of requests per day.
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 session presented at RubyConf Taiwan 2023, Cristian Planas discusses the importance of performance in application development, particularly for Ruby on Rails frameworks, illustrating that building features is not enough if those features are not performant. The presentation is structured around critical patterns, strategies, and real-life experiences at Zendesk—a company managing billions of requests daily. Key points discussed include: - **The Challenge of Scalability**: Cristian addresses the common concern regarding Ruby’s scalability, comparing it to Python and highlighting that many companies successfully use Rails for large-scale applications, like Shopify. - **Learning from Experiences**: He shares his journey of dealing with scaling while leading the authentication team at Zendesk, reflecting on early misgivings about the capabilities of Rails and emphasizing that scaling challenges often appear later in application's development. - **Real Techniques for Performance Improvement**: - **Error Budgets**: Setting up error budgets is essential for identifying performance breakdowns. - **Database Indexing**: The importance of efficient indexing in databases is underscored, suggesting that many performance bottlenecks stem from a lack of it. - **Data Sharding**: Cristian recommends dividing data effectively to lower the load on any single database. - **Data Minimization**: Fetching only necessary fields rather than using 'select all' commands to minimize the data size requested from databases. - **Archiving Strategies**: Long-term storage solutions for less-accessed data can help maintain response times. - **API Endpoint Limits**: Limiting API endpoints helps manage potential usage spikes that can lead to performance issues. - **Continuous Evaluation**: Regular assessments of resource consumption can prevent unnecessary bloat in applications. - **Trade-offs in Performance Engineering**: Emphasizing the need for informed trade-offs that accommodate business needs while balancing speed and complexity. The session concludes by reinforcing the idea that a focus on developer happiness within the Rails community can nurture an environment where application performance can be optimized organically. Happy developers lead to better-performing systems.
Suggest modifications
Cancel