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 Handling 225k requests per second to RubyGems.org Chances are you’ve run bundle install or gem install at some point, seeing as we’re at RubyConf. Turns out, you’re not alone. At peak times, RubyGems.org has received as many as 225 thousand requests per second. How does a small, mostly-volunteer team handle serving all that traffic with their rails app? Let’s dive into how using CDNs, scaling with static files, and wrangling expensive endpoints has kept your favorite gem index up and running over the past decade.
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 presentation at RubyConf Taiwan 2023, Samuel Giddins discusses the intricacies of managing RubyGems.org, a vital gem hosting service that experiences significant traffic peaks. The session opens with an acknowledgment of the audience's familiarity with RubyGems through common commands like 'gem install' or 'bundle install'. Giddins, a maintainer of RubyGems and Bundler, shares insights into how RubyGems.org handles an average of 20,000 requests per second, peaking at an astounding 225,000 requests per second. Key points discussed include: - **Traffic Volume**: RubyGems.org serves approximately 150 billion downloads out of around 192,000 available gems, indicating a massive user base and continuous growth. - **Infrastructure**: The service utilizes AWS as its primary server host and Fastly for caching and DDoS protection. The total costs for infrastructure amount to about $20,000 per month. - **Volunteer Contribution**: A small, mostly-volunteer team, alongside Ruby Central’s support, is pivotal in maintaining operations, which highlights the reliance on community efforts in sustaining the service. - **Caching Strategies**: The team optimizes resource management by employing caching mechanisms through Fastly and simplifying the processing of requests, minimizing workload. This is leveraged particularly during peak traffic times to keep the service operational without excessive resource use. - **Incident Management**: Giddins recounts a critical event in May where an unforeseen spike in traffic led to database overloads. This incident led the team to innovate caching responses in S3, bolstering their system's resilience against future traffic surges. - **Support Importance**: The discussion emphasizes the essential role of sponsors like AWS and Fastly in facilitating the overall functionality and sustainability of RubyGems.org. In conclusion, the presentation underlines the collaborative effort and thoughtful architecture management required to maintain agile and effective service for users. Giddins encourages audience engagement with RubyGems.org and expresses gratitude towards the audience for their involvement, reinforcing the significant community aspect of the ecosystem.
Suggest modifications
Cancel