0Pricing
React Academy · Lekcja

Pomiar wpływu strumieniowania: FCP, TTI i LCP

Porównają Państwo rzeczywistą różnicę wydajności między strumieniowanym SSR a blokującym SSR za pomocą Lighthouse i WebPageTest.

Pomiar wpływu strumieniowania: FCP, TTI i LCP to bezpłatna lekcja React Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej React Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs React Academy zawiera 4 lekcji w sumie.

FCP: Pierwsze wyrenderowanie treści

FCP mierzy czas od rozpoczęcia nawigacji do momentu, gdy pierwszy element treści (tekst, obraz lub tło) zostanie wyrenderowany na ekranie. Strumieniowanie poprawia FCP, ponieważ natychmiast wysyła powłokę HTML — przeglądarka może wyrenderować układ strony, nawigację i dowolny tekst widoczny bez przewijania, gdy tylko dotrą pierwsze fragmenty.

Jak strumieniowanie poprawia FCP

W przypadku synchronicznego SSR (renderToString) przeglądarka nie otrzymuje żadnego kodu HTML, dopóki całe renderowanie się nie zakończy. W przypadku strumieniowania przeglądarka otrzymuje powłokę HTML w ciągu milisekund od otrzymania żądania — układ strony i statyczna treść pojawiają się niemal natychmiast, znacznie skracając FCP.

LCP: Największe wyrenderowanie treści

LCP mierzy czas do wyrenderowania największego widocznego elementu w obszarze widoku — zazwyczaj obrazu hero lub dużego nagłówka. Strumieniowanie poprawia LCP, jeśli element LCP jest częścią powłoki (a nie granicy Suspense), ponieważ powłoka jest strumieniowana przed sekcjami zależnymi od danych.

Umieszczanie elementu LCP w powłoce

Kluczowa optymalizacja polega na zaprojektowaniu strony tak, aby element LCP — sekcja hero, główny nagłówek lub wyróżniony obraz — znajdował się poza każdą granicą Suspense. Jeśli element LCP znajduje się w granicy Suspense oczekującej na dane, strumieniowanie nie poprawi LCP do czasu rozwiązania tych danych.

TTI: Czas do interaktywności

TTI mierzy moment, w którym strona niezawodnie reaguje na dane wejściowe użytkownika — bez długich zadań blokujących główny wątek. Strumieniowanie połączone z selektywną hydratacją skraca TTI, rozkładając pracę związaną z hydratacją w czasie zamiast wykonywania jednego dużego, synchronicznego zadania hydratacji po pobraniu całego kodu JavaScript.

TTFB: Czego strumieniowanie nie naprawia

Czas do pierwszego bajtu (TTFB) zależy od opóźnienia sieciowego i czasu przetwarzania po stronie serwera przed wysłaniem pierwszego bajtu. Strumieniowanie nie zmienia TTFB — w tym miejscu pomaga renderowanie na brzegu sieci. Aby strumieniowanie poprawiło FCP, najpierw potrzebna jest niska wartość TTFB; w przeciwnym razie strumieniowanie odbywa się po prostu z wolnego serwera źródłowego.

WebPageTest do analizy streamingu

Widok filmstrip w WebPageTest pokazuje sekwencję zrzutów ekranu wykonywanych co 100 ms podczas ładowania strony. Na stronie wykorzystującej streaming układ pojawia się wcześnie, a następnie kolejne sekcje są stopniowo wypełniane. Strona niewykorzystująca streamingu pokazuje pusty ekran, po którym nagle pojawia się w pełni wyrenderowana strona — to wyraźna różnica wizualna.

Konfigurowanie benchmarku streamingu

Miarodajny benchmark porównuje tę samą stronę renderowaną na dwa sposoby: z włączonym streamingiem Next.js RSC oraz przy użyciu tradycyjnego synchronicznego SSR. Należy użyć WebPageTest ze stałymi warunkami sieciowymi (np. Fast 3G i 4x CPU slowdown) oraz porównać metryki FCP, LCP i TTI w 3 uruchomieniach testu, aby uzyskać wiarygodność statystyczną.

Ograniczanie przepustowości sieci w DevTools

Karta Network w Chrome DevTools zawiera listę rozwijaną "Throttling" z ustawieniami wstępnymi, takimi jak Fast 3G i Slow 4G. Fast 3G (1,6 Mb/s, RTT 150 ms) uwydatnia różnicę między streamingiem a jego brakiem, ponieważ wydłuża czas pobierania całego dokumentu HTML, dzięki czemu korzyści z przesyłania przyrostowego stają się widoczne.

INP: najważniejsza metryka

Interaction to Next Paint (INP) mierzy czas od dowolnej interakcji użytkownika do następnego wyrenderowania. W 2024 roku zastąpiła FID jako podstawowa metryka internetowa (Core Web Vital). Streaming zmniejsza INP, nadając priorytet hydracji interaktywnych komponentów, z którymi użytkownik najprawdopodobniej wejdzie w interakcję jako pierwszymi, i skracając czas blokowania przed uzyskaniem przez te komponenty responsywności.

Łączenie streamingu z renderowaniem na brzegu sieci

Największy efekt daje konfiguracja łącząca renderowanie na brzegu sieci (niski TTFB dzięki pobliskiemu PoP), streaming (stopniowe dostarczanie HTML) oraz selektywną hydrację (stopniowe przetwarzanie JavaScriptu). Razem te trzy techniki minimalizują wartości wszystkich głównych metryk wydajności w całym cyklu ładowania.

Którą metrykę najbardziej poprawia streaming

Jaką metrykę wydajności React streaming poprawia najbardziej bezpośrednio w przypadku treści widocznych bez przewijania?

Podsumowanie lekcji

Streaming najbardziej bezpośrednio poprawia FCP, natychmiast dostarczając szkielet HTML, a także poprawia LCP, gdy element LCP znajduje się w szkielecie. TTI poprawia się dzięki selektywnej hydracji, która rozkłada pracę JavaScriptu w czasie. TTFB pozostaje bez zmian — należy zająć się nim za pomocą renderowania na brzegu sieci. Do mierzenia wpływu streamingu należy używać widoku filmstrip w WebPageTest oraz ograniczania przepustowości w Chrome DevTools, a jako główną metrykę interaktywności w Core Web Vitals należy optymalizować INP.

Często zadawane pytania

Czy lekcja „Pomiar wpływu strumieniowania: FCP, TTI i LCP” jest bezpłatna?

Tak — pełny tekst „Pomiar wpływu strumieniowania: FCP, TTI i LCP” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu React Academy, przejdź na CoddyKit PRO. Kurs React Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Pomiar wpływu strumieniowania: FCP, TTI i LCP”?

Porównają Państwo rzeczywistą różnicę wydajności między strumieniowanym SSR a blokującym SSR za pomocą Lighthouse i WebPageTest. Ćwiczysz React Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć React Academy?

Nie wymagamy żadnego doświadczenia. React Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Pomiar wpływu strumieniowania: FCP, TTI i LCP”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji React Academy?

Tak. Każda lekcja React Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Strumieniowanie w React 18: jak działa renderToPipeableStream
  2. Granice Suspense i priorytet strumieniowania
  3. Progresywna hydratacja z selektywną hydratacją
  4. Pomiar wpływu strumieniowania: FCP, TTI i LCP
← Powrót do React Academy