Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
From Stubbies to Longnecks - Finding and curing scaling bottlenecks RubyConf AU 2013: http://www.rubyconf.org.au Every application is different. Every application performs and scales in a different manner. What stays the same are the tools we use to monitor and diagnose our applications when they get sick or have a big night out. In this talk I'll cover how realestate.com.au monitors and troubleshoots the performance and scalability of our Ruby and non-Ruby apps. I'll look at the tools we use to infer when/where things go wrong and several cases where things have gone wrong and how we've dug our way out of the whole. Examples of areas covered include: - Vertical scaling our way out of I/O pain - Horizontal scaling our apps for throughput and availability - Using HTTP and CDNs to avoid the reddit-effect - Tools we use for establishing performance 'baselines'
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 "From Stubbies to Longnecks" presented at RubyConf AU 2013, Geoffrey Giesemann discusses the critical aspects of monitoring and optimizing application performance and scalability, particularly at realestate.com.au. He emphasizes that every application is unique in how it performs and scales, reinforcing the importance of tailored diagnostics and monitoring tools. Giesemann identifies three main types of bottlenecks that applications may encounter: - **I/O Bottlenecks**: Illustrated through a graph displaying I/O wait times on a database server, indicating performance degradation due to excessive read/write operations. He suggests upgrading the hardware as a common approach to alleviate such issues. - **Processing Bottlenecks**: A case is presented involving the generation of PDFs in a massive loop. The overhead of rendering a web page into a PDF billions of times can significantly slow down application performance if not managed properly. - **Artificial Bottlenecks**: He shares an example of limitations on login attempts to prevent overload on the system, leveraging controlled bottlenecks to enhance stability. In terms of performance testing, Giesemann explains: - The importance of consistent measurement and understanding the application’s characteristics to engineer around bottlenecks. - Tools like Siege and JMeter are highlighted for generating load and analyzing application performance. - The effectiveness of New Relic for monitoring and CloudWatch for AWS users in extracting meaningful data from vast arrays of metrics. - Optimization techniques for static assets, using caching strategies to minimize server requests and enhance user experience. Throughout the presentation, Giesemann emphasizes that recognizing and addressing these bottlenecks is an ongoing process. It's crucial to regularly test, monitor, and refine application performance to adapt to changing traffic patterns and user behaviors. Ultimately, the takeaway is clear: optimizing performance involves continuous measurement, appropriate caching strategies, and an understanding of both user needs and server loads, ensuring that applications consistently meet user expectations.
Suggest modifications
Cancel