👇Web Performance metrics explained in a single tweet each 👇
Metric Name
⚙️ What does it measure?
👩💻 What’s the impact on your users?
⚛️ Is it useful for my technical stack?
Let’s get started!
⚙️ Triggered when network is quiet and page is fully loaded
👩💻 Everything is loaded, including under-the-fold content & third party scripts (analytics, etc…)
⚛️ Considered deprecated today — doesn’t really reflect how modern websites (like SPAs) work or the actual UX
⚙️ Measure how fast pixels of the page reach their final position
👩💻 Focused on what the user sees first. Penalizes websites where elements jump around while loading
⚛️ Waaay better than Load Time. Relevant for all websites. Crucial for SEO
⚙️ The time it takes for the browser to receive the first byte from the server, usually HTML
👩💻 Not visible by the user
⚛️ Particularly relevant for Server Rendered (Django) or Server-Side Rendered (NextJS) websites, where most computations happen server-side
⚙️ FP is the time it takes for the first pixel to be drawn on the screen. FCP represents the first painting of a DOM element (text, image…)
👩💻 The screen is not blank anymore.
⚛️ Server-rendered and SSR websites where the HTML is big
⚙️ The “hero” element of the page (a big element at the top center) is visible
👩💻 The purpose of the user’s visit to the website is visible (tweet, video…)
⚛️ All stacks. The “meaningful” element can be specified manually by using Custom Metrics
⚙️ (Roughly) the time where CPU computations and network requests are few and far between
👩💻 Approximates the moment where users can reliably interact without lag or jank
⚛️ A must-have for SPAs (React, Vue…), although not a silver-bullet as it’s an estimate
⚙️ Similar to (but not exactly like) TTI, measures the time between the first user interaction and the page updating accordingly. Measured on PageSpeed Insights
👩💻 When users click on something, the page responds quickly
⚛️ Useful for SPAs, complements the TTI
⚙️ Aggregates many of the previous metrics, simulates middle-end device & poor network conditions. Measured via Dev Tools or web.dev/fast
👩💻 The page overall feels fast even on 3G / your old neighbor’s desktop
⚛️ Useful for all websites
⚙️ Measures how many bytes of resources / JS the user needs for the page to be usable
👩💻 A high size means poor performance & lagginess on low-end devices and slow networks
⚛️ Critical for SPAs, set up a Performance Budget to keep track
- WebPageTest : webpagetest.org
- Rendering on the Web: developers.google.com/web/updates/20…
- User Centric Performance Metrics: developers.google.com/web/fundamenta…
- Performance Budgets 101: web.dev/fast/performan…