Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
by Christian Joudrey Shopify is an e-commerce platform that powers over 150,000 online shops such as Tesla and GitHub. During the weekend of Black Friday and Cyber Monday, the platform gets hit with over a million requests per minute resulting in over 6,000 orders per minute (~50 million dollars.) Learn how we scale our Rails app and the measures we take (load testing, monitoring, caching, etc.) to ensure that there are no hiccups during this important weekend.
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 titled "Scaling Rails for Black Friday and Cyber Monday" by Christian Joudrey at RailsConf 2015 focuses on how Shopify scales its Rails application during peak e-commerce events. Joudrey provides an overview of the technical strategies employed to manage extreme traffic loads, particularly during Black Friday and Cyber Monday when requests can soar to over a million per minute. Key Points Discussed: - **Shopify Overview**: Shopify serves over 150,000 merchants, enabling them to customize their online presence across multiple channels. - **Technical Stack**: It utilizes a traditional Rails stack, including Nginx, Unicorn, and MySQL, with significant server capabilities to process millions of requests. - **Scaling Challenges**: Managing up to 600,000 requests per minute during sales necessitates effective scaling solutions to minimize downtime and maximize revenue. - **Caching Techniques**: - **Page Caching**: Implemented to reduce server load by serving the same response to numerous requests for identical pages. - **Generational Caching with Cacheable**: Automates cache updating based on data versioning, lowering the frequency of cache clearing. - **Query Caching**: Uses the Identity Cache gem to minimize database stress by caching common ActiveRecord queries in Memcache. - **Background Processing**: Offloads tasks like payment processing and webhook management to background jobs, freeing up Unicorn workers to handle client requests effectively. - **Monitoring and Load Testing**: Performance is continuously monitored using StatsD and subjected to stress tests with tools like Genghis Khan to ensure reliability during high traffic scenarios. - **Resilience Building**: Strategies include developing fallback mechanisms for dependencies, employing manual circuit breakers during peak traffic, and simulating outages using ToxyProxy to enhance system robustness. - **Conclusion**: Maintaining application performance during critical sales periods hinges on thorough testing, vigilant monitoring, and resilient coding practices to ensure uninterrupted service. The insights shared illustrate the importance of preparing and adapting to increased demand due to high-traffic events. In conclusion, Joudrey emphasizes the importance of adopting scalable practices and tools to optimize online commerce performance during crucial times. This presentation aligns closely with the real-world challenges faced by developers in maintaining seamless e-commerce operations.
Suggest modifications
Cancel