Real-world cost of Server Components (App Router) vs. CSR at scale? #86081
Replies: 2 comments 6 replies
-
|
@developer-choi The App Router's philosophy is the opposite its default is aggressive and automatic caching most Server Components only run once at build time or on the first request and the results are served statically from the edge this is often cheaper than a CSR approach which requires a separate API call from every single client to fetch data You only incur server costs when you explicitly opt out of caching for truly dynamic data (e.g., a user's dashboard) but in a CSR model you'd still pay for that exact same compute via an API route you'd just be making the user wait longer for it So to answer your question "No, the cost is not a deal-breaker" The App Router is built on this "static-first" caching model which is highly cost-effective at scale the real bottleneck is almost always the database not the rendering and the performance benefits for the user far outweigh the manageable costs |
Beta Was this translation helpful? Give feedback.
-
|
In my experience, the cost difference between RSC/SSR vs CSR is usually overstated. For fully dynamic, authenticated pages, both models pay for:
Whether the computation produces HTML/RSC payload on the server or JSON for the client to hydrate doesn’t materially change infra cost. The true bottleneck at scale is almost always database I/O, not React rendering. We’ve benchmarked this internally: rendering React on the server added only a small % of overhead compared to the DB + business logic layer. Even high-traffic dashboards stayed well within normal CPU budgets. The only time SSR becomes noticeably expensive is if the page’s server logic is doing heavy CPU-bound work unrelated to the DB — which is uncommon in typical B2C apps. So for your question: CSR isn’t “free” either — it just shifts the work to users’ devices and adds more round-trips to APIs. At scale, these API calls easily match or exceed the cost of server-side rendering lightweight RSC payloads. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone,
First, I just want to say thank you to the Next.js team and the community. We've been using the App Router at my company and are very impressed with its capabilities.
I'm writing because we had an internal debate today, and I would love to get some real-world perspectives from this community.
The Debate: Performance vs. Cost
The argument was made at my company that server-side rendering (and by extension, Server Components) is computationally expensive. The concern is that if we build most of our pages as Server Components (as recommended), our server costs will become too high.
The suggestion was that we should:
My Perspective
My counter-argument, which is based on the official documentation, is that Server Components are the recommended default. The docs encourage server-first data fetching and rendering, with client components used as needed for interactivity.
My personal philosophy is that no page is 'unimportant' when it comes to performance—a faster load time is always better for the user experience. I believe the advancements in the App Router, like Streaming and especially Partial Prerendering (PPR), are technologically far superior to traditional CSR for achieving this.
The Missing Piece: Concrete Cost Data
While I can find many articles (including from major tech companies in Korea) that praise the performance benefits of SSR, I cannot find concrete data on the cost.
It's obviously true that rendering and fetching on the server will increase server load compared to serving static files. But the key questions are:
What I'm Looking For
I'm hoping to hear from other teams running Next.js at scale. I'm essentially looking for answers that fall into one of two camps:
"Yes, the cost is a major issue."
(e.g., "We are a company of size X with Y daily active users, and we found the server costs of the App Router were too high, so we had to strategically move most of our app back to CSR.")
or
"No, the cost is not a deal-breaker."
(e.g., "The cost increase was manageable and not a significant problem. The performance benefits for our users far outweighed the infrastructure cost. You should build according to the App Router's philosophy.")
My gut feeling is that since Next.js is trusted by startups and massive enterprises alike, if the cost was a prohibitive issue, I would have heard about it by now. But I would love to replace my assumptions with real data and anecdotes from the community.
Thanks in advance for sharing your experiences!
Follow-up clarification:
Just to clarify, the pages we are debating are private pages that require authentication (e.g., personalized user dashboards). These must be rendered dynamically for every user on every request, as they cannot be cached.
If we were talking about public pages, this cost debate wouldn't be relevant because of force-cache and static regeneration. My question is specifically about the cost of fully dynamic, uncached, server-first rendering versus a traditional CSR + API approach.
Beta Was this translation helpful? Give feedback.
All reactions