React Academy · Lección

Medición del impacto del streaming: FCP, TTI y LCP

Compare mediante Lighthouse y WebPageTest el rendimiento real del SSR en streaming frente al SSR bloqueante.

Lección 4 de 413 pasos

Medición del impacto del streaming: FCP, TTI y LCP es una lección gratuita de React Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de React Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de React Academy incluye 4 lecciones en total.

FCP: First Contentful Paint

FCP mide el tiempo transcurrido desde el inicio de la navegación hasta que el primer elemento de contenido (texto, imagen o fondo) se pinta en la pantalla. El streaming mejora FCP al enviar inmediatamente el shell HTML: el navegador puede pintar el diseño, la navegación y cualquier texto visible inicialmente en cuanto llegan los primeros fragmentos.

Cómo mejora el streaming el FCP

Con el SSR síncrono (renderToString), el navegador no recibe HTML hasta que termina todo el renderizado. Con el streaming, el navegador recibe el shell HTML unos milisegundos después de la solicitud; el diseño y el contenido estático aparecen casi de inmediato, lo que reduce drásticamente el FCP.

LCP: Largest Contentful Paint

LCP mide cuándo se pinta el elemento visible más grande del viewport, normalmente una imagen hero o un encabezado grande. El streaming mejora el LCP si el elemento LCP forma parte del shell (no está dentro de un límite de Suspense), ya que el shell se transmite antes que cualquier sección que dependa de datos.

Garantizar que el elemento LCP esté en el shell

Una optimización clave consiste en diseñar la página de modo que el elemento LCP —la sección hero, el encabezado principal o la imagen destacada— esté fuera de cualquier límite de Suspense. Si el elemento LCP está dentro de un límite de Suspense a la espera de datos, el streaming no puede mejorar el LCP hasta que esos datos se resuelvan.

TTI: Time to Interactive

TTI mide cuándo la página responde de forma fiable a la entrada del usuario, sin Long Tasks que bloqueen el hilo principal. La combinación de streaming e hidratación selectiva reduce el TTI al distribuir el trabajo de hidratación a lo largo del tiempo, en lugar de ejecutar una única tarea de hidratación síncrona y grande después de descargar todo el JavaScript.

TTFB: lo que el streaming no soluciona

Time to First Byte (TTFB) está determinado por la latencia de red y el tiempo de procesamiento del servidor antes de enviar el primer byte. El streaming no cambia el TTFB; ahí es donde ayuda el edge rendering. Para que el streaming mejore el FCP, primero necesita un TTFB bajo; de lo contrario, solo estará transmitiendo desde un origen lento.

WebPageTest para analizar el streaming

La vista de filmstrip de WebPageTest muestra una secuencia de capturas de pantalla tomadas cada 100 ms durante la carga de la página. En una página con streaming, la estructura aparece pronto y, después, las secciones se van completando progresivamente. En una página sin streaming, se muestra una pantalla en blanco seguida de una página completamente renderizada de repente: una diferencia visual clara.

Configuración de un benchmark de streaming

Un benchmark significativo compara la misma página renderizada de dos formas: con el streaming de RSC de Next.js habilitado y con SSR síncrono tradicional. Utilice WebPageTest con una condición de red fija (por ejemplo, Fast 3G y una ralentización de CPU de 4x) y compare las métricas FCP, LCP y TTI en 3 ejecuciones de prueba para obtener confianza estadística.

Limitación de red en DevTools

La pestaña Network de Chrome DevTools tiene un menú desplegable "Throttling" con ajustes preestablecidos como Fast 3G y Slow 4G. Fast 3G (1.6 Mbps, 150ms RTT) exagera la diferencia entre el streaming y la ausencia de streaming porque amplifica el tiempo de descarga del documento HTML completo, lo que hace visibles las mejoras del streaming incremental.

INP: la métrica más importante

Interaction to Next Paint (INP) mide el tiempo transcurrido desde cualquier interacción del usuario hasta la siguiente pintura. Sustituyó a FID como Core Web Vital en 2024. El streaming reduce el INP al priorizar la hidratación de los componentes interactivos con los que probablemente interactuará primero el usuario, reduciendo el tiempo de bloqueo antes de que esos componentes respondan.

Combinar el streaming con el renderizado en el edge

La configuración de mayor impacto combina el renderizado en el edge (un TTFB bajo gracias a un PoP cercano) con el streaming (entrega progresiva de HTML) y la hidratación selectiva (procesamiento progresivo de JavaScript). En conjunto, estas tres técnicas minimizan todas las métricas de rendimiento principales durante todo el ciclo de carga.

Qué métrica mejora más el streaming

¿Qué métrica de rendimiento mejora más directamente el streaming de React para el contenido visible inicialmente?

Resumen de la lección

El streaming mejora más directamente el FCP al entregar de inmediato la estructura HTML, y mejora el LCP cuando el elemento LCP se encuentra en esa estructura. El TTI mejora gracias a la hidratación selectiva, que distribuye el trabajo de JavaScript a lo largo del tiempo. El TTFB no cambia: para mejorarlo, utilice el renderizado en el edge. Utilice el filmstrip de WebPageTest y la limitación de red de Chrome DevTools para medir el impacto del streaming, y optimice el INP como métrica principal de interactividad en Core Web Vitals.

Gratis para empezar

Aprende React con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
88
Lecciones
324

Preguntas frecuentes

¿La lección «Medición del impacto del streaming: FCP, TTI y LCP» es gratis?

Sí — el texto completo de «Medición del impacto del streaming: FCP, TTI y LCP» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de React Academy, actualiza a CoddyKit PRO. El curso de React Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Medición del impacto del streaming: FCP, TTI y LCP»?

Compare mediante Lighthouse y WebPageTest el rendimiento real del SSR en streaming frente al SSR bloqueante. Practicas React Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar React Academy?

No se requiere experiencia previa. React Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Medición del impacto del streaming: FCP, TTI y LCP»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de React Academy?

Sí. Cada lección de React Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Streaming en React 18: cómo funciona renderToPipeableStream
  2. Límites de Suspense y prioridad del streaming
  3. Hidratación progresiva con hidratación selectiva
  4. Medición del impacto del streaming: FCP, TTI y LCP
← Volver a React Academy