The Golden Rule of Performance

From a translator: This is a translation of a note by a friend named Steve Souders, who is very closely involved with website performance issues and even wrote a couple of good books on this subject.

Yesterday I held a seminar at Google Ventures for some of the companies they invested in. I did not know how prepared the audience would be for performance issues, so I did a review of performance issues since my first speeches in 2007. For several years now, I haven’t talked about the performance improvement methods described on my High Performance Web Sites blog . I went through things like Less HTTP Requests , Adding an Expires Headerand gzip .

But I had to go back even further. Thinking about the times when the Velocity conference and the very concept of WPO did not exist , I decided that I should explain why I was engaged in client optimization. I found slides explaining the Golden Rule of Performance: 80-90% of the user’s latency is spent by the browser .

The slides contained data on server and client development times for popular sites, but the data was outdated and limited, so I decided to update them. Here is what happened.



To begin with, an example of a “waterfall” showing the server / client time distribution for a LinkedIn site. Server time is the time it takes the server to return the first byte to the client. It includes several processes: database selection, calls to remote web services, collecting HTML pages from templates, etc. Client time is the rest. It includes obvious phases, such as JavaScript execution and page rendering. It also includes the time taken to download all the necessary resources. I include this time in the client, because front-end developers can reduce it by using asynchronous script loading , combining scripts and stylesheets and spacing resources across different domains .



To get results related to reality, I made a selection of sites included in the Top 10. The average client time was 76%, which is slightly lower than stated in the golden rule. But do not forget that these sites are optimized to the maximum and two of them are search pages (not results, namely the query page), on which there are very few extra resources.



For a more typical picture, I looked at 10 sites in the ranking closer to the 10,000 mark. The client time here was 92%, which is much more than the time of sites from the Top 10 and even more than the time stated in the golden rule.



To convey this rule to the seminar participants, I showed the graphs for their sites. Client time was 84%. This allowed me to get them to agree that the biggest problem in performance is the client, and that it’s the client optimization that needs to be focused on.



After that, I realized that I have information from the HTTP Archive . I do not show specific data because I believe that real user data is more representative, but I calculated the average time for all 50,000 sites that were processed by the archive. It amounted to 87%.



It was very pleasant that the updated information only confirms the rule formed in the 2007th year and motivates us to continue to deal with client optimization issues. If you are happy about the availability and extensibility of your service - pay your attention to server optimization. But if you care how long users wait for your site to load, focus on client optimization.

Original.

From a translator: I translated this note, which is obvious to someone, with one purpose - to remind you that whatever you pursue goals in your project and no matter how cool you are, your site should work quickly for the end user, otherwise it just won’t wait downloads and go to competitors.

Also popular now: