Medí el Rendimiento de los React Server Components para que Tú No Tengas Que Hacerlo

Bookmark
Rate this content

Seguimos escuchando que los React Server Components (RSC) son el futuro. Y que se supone que son los mejores para el rendimiento. Y simplemente los mejores en general. Pero, ¿qué tan válida es esa afirmación? ¡Vamos a medir y descubrirlo!

Para hacer esto, me volví un poco loco e implementé una aplicación de tres maneras diferentes: usando Client-Side Rendering (CSR), Server-Side Rendering (SSR) y React Server Components (RSC). Luego, medí la diferencia. Y ahora estoy listo para mostrártelo.

En esta charla, echaremos un vistazo a qué es el rendimiento de carga inicial, cómo medirlo y cuál es la diferencia entre los patrones de renderizado: desde la perspectiva de la implementación, diferencias en los gráficos de rendimiento y en términos de números de rendimiento reales. 

This talk has been presented at React Advanced 2025, check out the latest edition of this React Conference.

Nadia Makarevich
Nadia Makarevich
22 min
01 Dec, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Nadia presenta los React Server Components y el rendimiento, destacando los beneficios de los server components en la mejora del rendimiento y la necesidad de una comprensión clara de su impacto en el renderizado y la obtención de datos en las aplicaciones de React. Explorando el impacto del Server-Side Rendering en el rendimiento: Análisis de la transición del renderizado del lado del cliente al lado del servidor, incluidas las implicaciones en el rendimiento y la obtención de datos. Transformando una pantalla vacía en una mejora del rendimiento: Proceso detallado del trabajo del navegador, renderizado de React e impacto en la obtención de datos. Haciendo el cambio al Server-Side Rendering: Impacto en la interactividad y optimización de la obtención de datos. Comprendiendo los beneficios de la versión AppRouter en SSR con una carga reducida de JavaScript e introducción de los server components. Investigando un renderizado del lado del servidor más inteligente con server components y streaming en Next.js. Refactorización para server components: Obtención de datos asíncrona, identificación de server components y utilización de Suspense para React streaming chunks. Mejorando el rendimiento con server components: Equilibrando enfoques de renderizado, importancia de la obtención de datos del lado del servidor y aprovechando Suspense para mejorar el streaming.

1. Exploring React Server Components

Short description:

Nadia presenta los componentes de servidor de React y el rendimiento, destacando los beneficios de los componentes de servidor en la mejora del rendimiento y la necesidad de una comprensión clara de su impacto en el renderizado y la obtención de datos en las aplicaciones de React.

Hola a todos. Soy Nadia, y hoy quiero hablar sobre los componentes de servidor de React y el rendimiento. Un poco sobre mí. He sido desarrolladora durante mucho tiempo, y en los últimos años, me he centrado principalmente en el rendimiento del front-end y React. Me encanta investigar cómo funcionan las cosas en esta área tanto que ahora terminé con un montón de análisis profundos e investigaciones, e incluso dos libros sobre el tema de, lo adivinaste, React y el rendimiento.

Y si has prestado atención a las conversaciones sobre React en los últimos años, probablemente hayas escuchado las palabras componentes de servidor mencionadas en el contexto de mejorar el rendimiento. Su principal promesa es simple. Llevar más trabajo al servidor, enviar menos JavaScript, obtener datos antes, y tu carga inicial se vuelve más rápida. Pero, ¿cómo sucede exactamente esto? ¿Y cuánto puedo esperar de mejora en el rendimiento? Esto es lo que quiero descubrir hoy.

Sin embargo, aquí está el truco. No puedo simplemente activar y desactivar componentes de servidor simples para medir lo que quiero. Para entender qué cambian exactamente los componentes de servidor, necesitamos un modelo mental claro de cómo React normalmente renderiza y obtiene datos. Tanto en el cliente como en el servidor, por cierto. Porque aquí está la parte divertida. Ya tenemos el concepto de renderizado en servidor. Y lo tenemos desde hace años. Entonces, ¿cuál es exactamente la diferencia?

2. Analyzing Server-Side Rendering Effects

Short description:

Explorando el impacto del renderizado del lado del servidor en el rendimiento: Análisis de la transición del renderizado del lado del cliente al del lado del servidor, incluidas las implicaciones en el rendimiento y la obtención de datos. Evaluación del impacto de la introducción de componentes de servidor en una aplicación existente basada en SSR, especialmente en el contexto de moverse al Next.js App Router.

Construí una aplicación de una sola página, tu SPA normal, con múltiples rutas del lado del cliente y obtención de datos del lado del cliente como base. Voy a llevar esto a un renderizado básico del lado del servidor y explicar qué cambia en el perfil de rendimiento y por qué. Luego a un SSR más complicado con obtención de datos en el servidor y nuevamente analizar qué cambia y por qué. Y finalmente, convertir la aplicación en los componentes de servidor y mostrarte el resultado. De esta manera veremos qué puedes ganar y qué pagas cuando agregas un renderizado del lado del servidor a una aplicación previamente renderizada en el cliente. ¿Qué puedo esperar si ya tengo SSR y mi framework de repente agrega soporte para componentes de servidor? Y como un bono, ¿qué puedo esperar si ya tengo una aplicación basada en SSR y decido moverme a Next.js App Router, que es el framework más popular en este momento?

Así que aquí está mi aplicación conejillo de indias. Tengo algunas páginas. Ya es muy interactiva. Y para el propósito de las mediciones de hoy, me centraré exclusivamente en la página de la bandeja de entrada. Ya es bastante funcional. Como puedes ver, incluso tiene un editor rudimentario que aparece cuando hago clic en un mensaje y en realidad funciona. Los elementos en la barra lateral se obtienen de un endpoint bastante rápido. Toma alrededor de 100 milisegundos para ejecutarse. Una lista de mensajes se obtiene de un endpoint bastante lento. Toma alrededor de un segundo para ejecutarse. Voy a usar Chrome DevTools hoy para medir la carga inicial. Si nunca lo has hecho, abre el perfil de rendimiento en DevTools, haz clic en recargar, espera un poco y luego haz clic en finalizar. Te dará esta imagen grabada. Voy a estar mirando principalmente lo que está sucediendo en el panel de red. Y las métricas que me interesan hoy son cuando la página se vuelve visible, lo que corresponde a la métrica en Chrome llamada LCP, Largest Contentful Page, Paint. Cuando los elementos de la barra lateral se vuelven visibles, está en algún lugar aquí. Y luego cuando los mensajes mismos se vuelven visibles, en algún lugar aquí. Y finalmente, voy a usar esos ajustes para imitar dispositivos más lentos e internet más lento y deshabilitar la caché de red para imitar la primera vez que el usuario abre la página cuando aún no hay caché en el lado del navegador.

Bien, eso es suficiente de configuración. Vamos finalmente a investigar y medir cosas. Primero, comencemos con la línea base, el renderizado del lado del cliente. ¿Qué es exactamente? Desde un punto de vista de implementación, significa que cuando tu navegador solicita esta página de bandeja de entrada, el servidor responde con HTML que se ve así. El horror. Pantalla completamente vacía.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Simplificando los Componentes del Servidor
React Advanced 2023React Advanced 2023
27 min
Simplificando los Componentes del Servidor
Top Content
React server components simplify server-side rendering and provide a mental model of components as pure functions. Using React as a library for server components allows for building a basic RSC server and connecting it to an SSR server. RSC responses are serialized virtual DOM that offload code from the client and handle interactivity. The client manifest maps serialized placeholders to real components on the client, enabling dynamic rendering. Server components combine the best of classic web development and progressive enhancement, offering the advantage of moving logic from the client to the server.
Una Guía del Comportamiento de Renderizado de React
React Advanced 2022React Advanced 2022
25 min
Una Guía del Comportamiento de Renderizado de React
Top Content
This transcription provides a brief guide to React rendering behavior. It explains the process of rendering, comparing new and old elements, and the importance of pure rendering without side effects. It also covers topics such as batching and double rendering, optimizing rendering and using context and Redux in React. Overall, it offers valuable insights for developers looking to understand and optimize React rendering.
Acelerando tu aplicación React con menos JavaScript
React Summit 2023React Summit 2023
32 min
Acelerando tu aplicación React con menos JavaScript
Top Content
Mishko, the creator of Angular and AngularJS, discusses the challenges of website performance and JavaScript hydration. He explains the differences between client-side and server-side rendering and introduces Quik as a solution for efficient component hydration. Mishko demonstrates examples of state management and intercommunication using Quik. He highlights the performance benefits of using Quik with React and emphasizes the importance of reducing JavaScript size for better performance. Finally, he mentions the use of QUIC in both MPA and SPA applications for improved startup performance.
Concurrencia en React, Explicada
React Summit 2023React Summit 2023
23 min
Concurrencia en React, Explicada
Top Content
React 18's concurrent rendering, specifically the useTransition hook, optimizes app performance by allowing non-urgent updates to be processed without freezing the UI. However, there are drawbacks such as longer processing time for non-urgent updates and increased CPU usage. The useTransition hook works similarly to throttling or bouncing, making it useful for addressing performance issues caused by multiple small components. Libraries like React Query may require the use of alternative APIs to handle urgent and non-urgent updates effectively.
Explorando los fundamentos de los Componentes del Servidor React
React Day Berlin 2023React Day Berlin 2023
21 min
Explorando los fundamentos de los Componentes del Servidor React
Top Content
This Talk introduces React Server Components (RSC) and explores their serialization process. It compares RSC to traditional server-side rendering (SSR) and explains how RSC handles promises and integrates client components. The Talk also discusses the RSC manifest and deserialization process. The speaker then introduces the Waku framework, which supports bundling, server, routing, and SSR. The future plans for Waku include integration with client state management libraries.
How React Compiler Performs on Real Code
React Advanced 2024React Advanced 2024
31 min
How React Compiler Performs on Real Code
Top Content
I'm Nadia, a developer experienced in performance, re-renders, and React. The React team released the React compiler, which eliminates the need for memoization. The compiler optimizes code by automatically memoizing components, props, and hook dependencies. It shows promise in managing changing references and improving performance. Real app testing and synthetic examples have been used to evaluate its effectiveness. The impact on initial load performance is minimal, but further investigation is needed for interactions performance. The React query library simplifies data fetching and caching. The compiler has limitations and may not catch every re-render, especially with external libraries. Enabling the compiler can improve performance but manual memorization is still necessary for optimal results. There are risks of overreliance and messy code, but the compiler can be used file by file or folder by folder with thorough testing. Practice makes incredible cats. Thank you, Nadia!

Workshops on related topic

Masterclass de Depuración de Rendimiento de React
React Summit 2023React Summit 2023
170 min
Masterclass de Depuración de Rendimiento de React
Top Content
Featured Workshop
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Dominando React Server Components y Server Actions en React 19
React Summit US 2024React Summit US 2024
150 min
Dominando React Server Components y Server Actions en React 19
Featured Workshop
Maurice de Beijer
Maurice de Beijer
¡Llamando a todos los desarrolladores de React! Únete a nosotros para una masterclass inmersiva de 4 horas profundizando en React Server Components y Server Actions. Descubre cómo estas tecnologías revolucionarias están transformando el desarrollo web y aprende a aprovechar todo su potencial para construir aplicaciones rápidas y eficientes.

Explora el mundo de React Server Components, combinando sin problemas el renderizado del lado del servidor con la interactividad del lado del cliente para un rendimiento y experiencia de usuario incomparables. Sumérgete en React Server Actions para ver cómo combinan la interactividad del lado del cliente con la lógica del lado del servidor, facilitando el desarrollo de aplicaciones interactivas sin las limitaciones tradicionales de las API.

Obtén experiencia práctica con ejercicios prácticos, ejemplos del mundo real y orientación experta sobre la implementación de estas tecnologías en tus proyectos. Aprende temas esenciales como las diferencias entre Server y Client Components, optimización de la obtención de datos, pasando datos de manera efectiva y maximizando el rendimiento con nuevos hooks de React como useActionState, useFormStatus y useOptimistic.

Ya sea que seas nuevo en React o un profesional experimentado, esta masterclass te equipará con el conocimiento y las herramientas para elevar tus habilidades de desarrollo web. Mantente a la vanguardia y domina la tecnología de vanguardia de React 19. No te lo pierdas: ¡regístrate ahora y desata todo el poder de React!
Next.js 13: Estrategias de Obtención de Datos
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Estrategias de Obtención de Datos
Top Content
Workshop
Alice De Mauro
Alice De Mauro
- Introducción- Prerrequisitos para la masterclass- Estrategias de obtención: fundamentos- Estrategias de obtención – práctica: API de obtención, caché (estática VS dinámica), revalidar, suspense (obtención de datos en paralelo)- Prueba tu construcción y sírvela en Vercel- Futuro: Componentes de servidor VS Componentes de cliente- Huevo de pascua de la masterclass (no relacionado con el tema, destacando la accesibilidad)- Conclusión
La Puerta al Backend: Guía del Desarrollador Frontend para el Desarrollo Full-Stack
React Summit US 2023React Summit US 2023
160 min
La Puerta al Backend: Guía del Desarrollador Frontend para el Desarrollo Full-Stack
Top Content
WorkshopFree
Amy Dutton
Amy Dutton
Esta masterclass te guiará a través del ciclo de vida del desarrollo de productos para crear una aplicación web del mundo real. Aprenderás sobre los Componentes del Servidor React, construyendo un sistema de diseño dentro de Storybook, y utilizando el desarrollo frontend para acercarte a convertirte en un desarrollador full-stack. La masterclass cubrirá el aumento de la confianza en tu aplicación con pruebas unitarias e implementando autenticación y autorización. Tendrás la oportunidad de trabajar a través de las características del producto y examinar un proyecto real de RedwoodJS, obteniendo valiosa experiencia en el desarrollo de productos del mundo real. RedwoodJS hace que sea simple acercarse al desarrollo full-stack, y esta masterclass te dará las habilidades que necesitas para crear tus propias aplicaciones web del mundo real.
Patrones Avanzados de Despliegue de Aplicaciones con Componentes de Servidor React (feat. un Marco RSC DIY)
React Summit US 2023React Summit US 2023
104 min
Patrones Avanzados de Despliegue de Aplicaciones con Componentes de Servidor React (feat. un Marco RSC DIY)
Top Content
Workshop
 Greg Brimble
Greg Brimble
El ecosistema de desarrolladores siempre está avanzando rápidamente y este año no ha sido una excepción. Los Componentes de Servidor React pueden ofrecer una mejora significativa a la experiencia del desarrollador y al rendimiento de la aplicación. Pero creo que es justo decir que este nuevo paradigma de servidor primero puede ser complicado de entender!En la primera mitad de esta masterclass, exploraremos los Componentes de Servidor React desde cero: construyendo nuestro propio mini marco meta para ayudarnos a entender cómo funcionan los RSCs. Descubriremos exactamente qué se produce en una construcción RSC y conectaremos esas piezas para formar una aplicación completa.A continuación, ¡lo desplegaremos! Cloudflare también ha tenido un año ocupado — Smart Placement, en particular, es una nueva tecnología que hemos desarrollado que se ajusta perfectamente al modelo RSC. Exploraremos por qué eso tiene sentido para nuestra aplicación de masterclass, y realmente lo desplegaremos en la Plataforma de Desarrolladores de Cloudflare.Finalmente, ampliaremos un poco más nuestra aplicación, utilizando D1 (nuestra base de datos SQL sin servidor) para mostrar realmente el poder del Componente de Servidor React cuando se combina con Smart Placement.Deberías salir de esta masterclass con una mayor comprensión de cómo funcionan los Componentes de Servidor React (tanto detrás de las escenas como también cómo tú como desarrollador puedes usarlos día a día), así como una visión de algunos de los nuevos patrones de despliegue que ahora son posibles después de las recientes innovaciones en el espacio de la plataforma.
Construyendo Componentes de Servidor Reutilizables en NextJS
React Summit US 2023React Summit US 2023
88 min
Construyendo Componentes de Servidor Reutilizables en NextJS
Top Content
Workshop
Will Bishop
Mettin Parzinski
2 authors
React continúa evolucionando su capacidad beta, los Componentes de Servidor de React, y continúan desarrollándolos en asociación con marcos como NextJS.En esta masterclass, los asistentes aprenderán qué son los Componentes de Servidor de React, cómo construirlos y usarlos eficazmente en NextJS, y se centrarán en una de las principales ventajas de React/NextJS: la reutilización a través de componentes.También cubriremos tecnologías beta relacionadas habilitadas por el directorio `app`, como los layouts anidados y las acciones del servidor (capacidad alfa/experimental).¡Únete a nosotros para esta masterclass práctica de 120 minutos!Tecnologías:
React, JavaScript/Typescript, NextJS, Miro