AMP:Building Accelerated Mobile Pages
上QQ阅读APP看书,第一时间看更新

What is "good" web performance?

Measuring web performance is complicated. Since we are interested ultimately in providing a good user experience, this means we are interested in optimizing for the user's perception of how quickly the page loads, rather than an absolute, objective measure of how fast the entire page actually loads. You can think of it as building an illusion for the user: use a bunch of tricks to get just enough of the page rendered so the user thinks it has loaded, and in the meantime finish the job in the background.

When performance-tuning a web page, we need to optimize for getting something usable onto the user's screen as quickly as possible. This has an impact on what we must focus on to make a page seem fast: things such as prioritizing above-the-fold content and time-to-first-byte; even exploiting low-level transport-layer knowledge, such as TCP packet size, to achieve an interactive and responsive page render in the first 14 KB of data sent from the web server.

In general, following Google's Response-Animation-Idle-Load (RAIL) approach, you are doing well if you can achieve:

  • Initial server response within 100 ms
  • Initial usable and responsive page content load within 1 s
  • Frame rate of 60 fps

These numbers will translate into a site that loads fast and that feels responsive, without any lag. This is a site that users are more likely to stay on.