Excessive ISR writes (41K/hour) with generateStaticParams - Next.js 16 + cacheComponents
Unanswered
Cape lion posted this in #help-forum
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
- Route:
- Using
- No
- No fetch-level
- No route segment config exports (
Current Implementation
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 +
ISR. Is there a way to:
1. Generate non-prebuilt pages dynamically without ISR writes?
2. Do I need to remove
Any insights appreciated! 🙏
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! 🙏