Sessions at Velocity Europe 2011 about Web Performance

Tuesday 8th November 2011

Web applications are being shipped faster, deployed instantly to the cloud and are catering to the ever-growing needs of a technologically connected audience.

How do you manage it all? How do you maintain high performance in your application, stay on top of your server performance and ensure your end users are getting the best service you can deliver? Find out with New Relic!

The complexity of website content (as measured by the HTTP Archive) continues to increase. Meanwhile, the number of mobile browsing devices is increasing at more than 25% each year. Due to their limited processing power, memory, storage and network bandwidth these devices pose new challenges in terms of web performance as sites become more complex. To date, the approach to solve these issues has been to create mobile versions of web sites with limited content and simplified layout. This talk will present a new way we are looking at the mobile browsing challenges at Amazon.com. We will present data about site latency among various classes of devices and usage of mobile versions of the site. Much of the presentation will focus on technical approaches to dramatically reduce web site latency for this class of users.

We all talk a lot about how fast our web pages are but are we comparing apples with apples?

There are at least 6 different ways to measure web page performance, and multiple metrics to gather such as initial render, “above the fold” time or onLoad event time.

The goal of this talk is to put web performance measurement in perspective by identifying and classifying the different ways of measuring web performance.

So what dimensions can we compare them on?

1. Accuracy?
2. What metrics do they collect?
3. “Completeness” of measurement – e.g. can they measure 3rd party or CDN content?
4. Ease of implementation / use?
5. Scalability (e.g. are they suitable for “real-user monitoring” type solutions or are they more developer/single-user oriented?)
6. Are they suitable for Mobile devices?
7. Are they suitable for measuring web API’s?
8. What’s the cost?
9. Suitable for SME vs Enterprise?

We will also talk about the “active monitoring versus real-user monitoring” debate… what are the pro’s & con’s of each approach and will one eventually supplant the other?

Let’s unravel the grey area of improving actual JavaScript code itself and discover the truth and science of JavaScript performance patterns.

While improving network performance of your scripts through file size and the script loading is critical, the run-time performance of your JavaScript code has the most direct effect of the visceral feel that your users experience.

I created jsPerf.com, the JavaScript performance testing playground, to settle the scores of JavaScript performance recommendations. I’ve come up with a simple theorem — easily summarized. Basically, the biggest enemies of performance when it comes to JavaScript (in descending order) are:

Of course, there’s not much you can do in JavaScript without using any of these things. The idea is that if you can get rid of a DOM read by using a function call or a property lookup instead, you should do it. Similarly, if you can replace a function call with a scope lookup, go for it! It will result in DRY code with much better performance.

I spend a lot of time reviewing other people’s JavaScript code for performance issues, and I think it’s safe to say this presentation covers about 70% to 80% of the improvements that I usually end up recommending. It’s a simple principle, and it’s easy to apply it once you understand it fully —there just needs to be someone to explain it all to you. I’m that guy!

The basic gist of this idea fits in one slide, but I’d like to take the time to A) explain what exactly these slow things are (so even JavaScript beginners that don’t know what a scope lookup is can follow along); and B) show lots of practical, real-world examples of how applying this technique can result in better performance, regardless of whether you’re using JavaScript libraries or plain vanilla JavaScript. A is especially useful for people who are new to high-performance JavaScript, but B will be useful for more advanced JavaScript coders as well.

I believe this technique is useful because it can be applied to all the JavaScript code you’ll ever write, and it’s guaranteed to have a positive impact on performance (among other advantages). It will be useful for both JavaScript beginners (because everything will be explained properly) and advanced scripters that want to focus on performance while coding JavaScript.

Page Speed Analysis tools provide performance metrics for web-sites, and mod_pagespeed and Page Speed Service automatically rewrite web sites by applying web performance “best practices”. But exactly what is the impact on web site latency and usability from implementing these transformations? We’ll share what we’ve learned from running Page Speed and mod_pagespeed in the field.

What is the impact of specific web performance optimizations on metrics like page load time and time to first paint? What is the interaction between latency, page structure, and network-level decisions such as when to flush web pages so that browsers can start rendering? In this talk, we’ll present our latest findings and show developers how to apply these findings to their own web sites.

We’ll conclude with a discussion of new features being added to Page Speed analysis & rewriting tools to translate these learnings into a faster web.

Wednesday 9th November 2011

Performance has always been something we at SPIL within Technology had thoughts about, but never really had full focus on. Within Development, the main focus has always been delivering features that the business requires from us; performance was never a mindset that we had during the creation of these features. As we have a global audience of 130 million unique visitors visiting our portals daily, we came to the conclusion that we needed to have more focus in the field of performance. We could get so much more out of our current users, by increasing their browsing experience not only from well connected broadband countries but also from countries that have more scattered performance.

We’ll share with you what we had to do to get Performance on the map, challenges we faced, what we’ve been able to achieve so far and the lessons we’ve learned up until this point. Performance is now fully on our radar and we still have many things we can and will improve.

Google Chrome gets faster and faster with every release. We’ll talk about the latest advances as well as what the team is working on now. Chrome’s speed is great for users, but let’s not forget about developers! Chrome now has the richest developer tools for making your site as fast as possible. Come learn about the new features that have us most excited.

Ghandi once said that there is more to life than increasing its speed. In the same vein there is more to making a browser amazing than making it perform fast. In this talk you’ll learn what Firefox has in store for users and developers alike and get a glimpse into how a browser can blur the line between apps and the web whilst allowing you to experience the web on your own terms.

By now we all have become aware that faster websites equal to more pageviews, visitors and revenue. In order to optimize web performance most of you have adopted and put to practice the “14 rules for creating high performance websites”. However important it may be, IT organizations don’t necessarily have the resources, time or money available to devote themselves to continuous fine-tuning their web performance. But there’s still the need to optimize and improve.

It’s time to look for a “steve-in-a-box” approach, automation of web performance optimization. But where to start, what is the ideal type of product or implementation for me? What will it cost or save me? In this session we will cover every aspect of performance automation and more. We will cover: - Automated vs Manual optimization - Current available automated solutions - Build a business case: How to determine what works best for your site? - Benchmark results of automated solutions, including comparison of: overall performance between vendors, by different types of sites and by supported optimization techniques (spriting, concat scripts, data: URI images, etc.) - Tips & Tricks for implementing performance automation within your organization

All test data will be shared publicly, including detailed overview of test setup.

Mobile browser performance is constrained by more than just bandwidth. You already know slow loading sites create a bad user experience. But even if you’ve resolved download speed, what happens to the user experience if a site is jumpy, choppy, or worse yet, non-responsive to basic interaction.

Yes, your site loads quickly even with low bandwidth. You’ve followed the 14 WOP tips. You’ve improved your sites performance, or so you think. Your app is loading quickly, but why is it not responding quickly?

In this session you’ll learn about what YSlow and Page Speed don’t cover. We’ll talk about images, HTML5, CSS3, JavaScript and the DOM. We’ll cover common trouble spots that lead to these poor user experiences as well as tips and techniques to prevent these trouble spots from arising.