Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyKaigi2017 http://rubykaigi.org/2017/presentations/codefolio.html How much faster is current Ruby than Ruby 2.0 for a production web application? Let's look at a mixed workload in the real commercial Discourse forum software. We'll see how the speed has changed overall. We'll also examine slow requests, garbage collection, warmup iterations and more. You'll see how to use this benchmark to test your own Ruby optimizations.
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 presentation titled "How Close is Ruby 3x3 For Production Web Apps?" at RubyKaigi 2017, Noah Gibbs, a Ruby Fellow with AppFolio, discusses the performance improvements of Ruby 3 compared to Ruby 2.0, especially in the context of production web applications. Using the Discourse forum software as a real-world benchmark, he measures how these speed enhancements manifest in typical workloads faced by web apps. **Key Points Discussed:** - **Benchmarking Reality:** The importance of real-world benchmarks focusing on web frameworks, specifically Ruby on Rails, was highlighted. The Discourse application serves as a significant case study as it is widely recognized and openly built in Ruby on Rails. - **User Simulation:** To simulate user behavior effectively, Gibbs created a testing script that sends randomly generated requests to Discourse based on historical log patterns. This made the benchmark closer to real user experiences. - **Puma Server Configuration:** A comprehensive setup was described, utilizing Puma with optimal configurations of processes and threads to maximize performance on a dedicated virtual machine. - **Warm-up Iterations:** Gibbs elaborated on the necessity of warm-up iterations that allow Ruby to reach optimal speed due to various caching mechanisms. He provided data showing that warm-up significantly enhances performance metrics. - **Comparison Results:** Over successive Ruby versions, he observed performance improvements ranging from 45%-50% from Ruby 2.0 to 2.3.4, and 3% to 5% from Ruby 2.3.4 to 2.4.1. Ruby 2.4.1 showcased about 150% the speed of Ruby 2.0 during request processing. - **First Request Serving Time:** He also documented decreases in the time taken to serve the first request, noting a 30% improvement for Ruby 2.4.1 compared to Ruby 2.0. - **Real-World Application:** Key findings underscored that Discourse's performance is maintained and enhanced through Ruby version updates, indicating a positive trend in Ruby’s usability in production environments. **Conclusions and Takeaways:** - Ruby 3's performance enhancements, though not a straightforward 300% improvement, provide significant real-world benefits, particularly in web applications like Discourse. - Warm-up iterations and optimally configured application servers play crucial roles in achieving these performance improvements. - Encouragement for developers to conduct their benchmarks to validate these findings further illustrates the evolving nature of Ruby's performance optimization.
Suggest modifications
Cancel