Next.js Discord

Discord Forum

Excessive ISR writes (41K/hour) with generateStaticParams - Next.js 16 + cacheComponents

Unanswered
Cape lion posted this in #help-forum
Open in Discord
Cape lionOP
Problem
Getting 41K ISR write units per hour (~$120/month) on listing (real estate listing) detail pages despite removing all explicit
caching/revalidation.

Setup
- Next.js 16 with cacheComponents: true
- Route: app/[domain]/(site)/listings/[slug]/[address]/page.tsx
- Using generateStaticParams() that prebuilds only ~10 featured listings per site
- No 'use cache' directive at page level
- No fetch-level revalidate options
- No route segment config exports (dynamic, revalidate, etc.)

Current Implementation
  // Prebuilds only ~10 featured listings
  export async function generateStaticParams() {
    const sites = await prisma.site.findMany({ /* ... */ });
    // Returns array of ~10 featured listings per site
    return paths;
  }

  // Page has NO caching directives
  export default async function ListingPage(props) {
    return <Suspense><ListingContent /></Suspense>
  }


Observed Behavior
- Hundreds of unique listing pages accessed per hour
- Each generates ISR cache writes (not Runtime Cache)
- Pattern suggests on-demand ISR for pages not in generateStaticParams

Question
Why are pages not in generateStaticParams creating ISR writes?

I thought with Next.js 16 + cacheComponents: true, on-demand pages would use the new cache system, not legacy.
ISR. Is there a way to:
1. Generate non-prebuilt pages dynamically without ISR writes?
2. Do I need to remove generateStaticParams entirely?

Any insights appreciated! 🙏

0 Replies