Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf AU 2013: http://www.rubyconf.org.au When you talk to most people about Rails performance the conversation usually turns to concurrency. How can my Rails app handle 60 simultanious requests per second? How do I webscale? Although the topic of concurrency is important, we won't be focusing on that during this talk. We want to focus on end user speed. For every extra second your application takes to load your conversion rates will drop by an average of 7%. While most people start tweaking their backends to squeeze every extra ms in response time, more often than not (80-90%) of the actual time spent loading your application is on the front end and the network stack. This is where you should start. We will cover a range of techniques and provide benchmarks along the way to show how much performance you can expect from each step along the way. We'll also cover some backend performance tuning as well. Here's some of the topics we'll cover: How to accurately benchmark performance Asyncronously loading assets Reducing requests per page Rails http streaming (chunked responses) Basic caching What is SPDY - and how to use it What CDN is right for your app? Server location and why it matters
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 video 'Keith and Mario’s Guide to Fast Websites' presented at RubyConf AU 2013, speakers Keith Pitt and Mario Visic delve into strategies for improving frontend performance in web applications. They emphasize the importance of user experience, stating that for every additional second a web application takes to load, conversion rates can decrease by 7%. Rather than focusing on backend concurrency, the discussion centers on optimizing loading times for end users. The following key points are highlighted: - **Significance of Frontend Performance**: Most load time issues originate from the frontend and network stack (80-90%), necessitating a focus on these areas for improvement. - **Benchmarking Performance**: Accurate performance measurement is critical. The speakers utilize the HTML5 Navigation Timing API and developed a tool called WBench for consistent testing. They focus on the 'DOMContentLoaded' event, which is key for user experience. - **Optimization Techniques**: Several approaches are discussed: - Minifying CSS and JavaScript files, which can reduce load time by approximately one second. - Implementing Gzip compression to decrease file sizes, saving another second. - Moving script tags to the bottom of HTML documents to prioritize content loading. - Asynchronously loading JavaScript to enhance rendering times. - Splitting JavaScript assets into application-specific and vendor assets to allow for better caching. - **DNS Preloading**: To resolve DNS lookup delays with new asset hosts, DNS addresses are preloaded, allowing quicker resource requests. - **SPDY Protocol**: Employing SPDY can further reduce latency and improve resource loading efficiency by making multiple file requests over a single connection. After implementing these optimizations, the case study of their GIF Topper application shows a reduction in load time from 9 seconds to under 2 seconds. The speakers conclude by reiterating the importance of first impressions and user experience in web applications, encouraging developers to adopt these practices for optimal performance. Their findings provide valuable insights into how developers can enhance the speed and responsiveness of their web applications for better user engagement.
Suggest modifications
Cancel