Compute never truly scales to zero despite auto-suspend — 6 CU/day on a 30 visits/day project #12900
Replies: 1 comment
|
Hey @dalbianapp, Your compute is not staying active for no reason. The What's Actually HappeningThe
Your ~6 CU/day is The monitoring graph shows continuous activity because the How to Actually Fix ThisOption 1 — Disable Option 2 — Use the Scale plan (your only real solution) Option 3 — Accept the cost (~$7/month per project) Direct Answers to Your Questions
Bottom LineYour 6 CU/day is Neon's minimum effective cost for a Launch plan project. With 30-40 daily suspend/start cycles and If $7-20/month per project is too high, consolidate your 4 projects into 1 database with schema separation, or move to a traditional VPS where you pay one fixed price for unlimited databases. Neon's serverless model is optimized for development and spiky traffic, not for "30 visits/day" production workloads. |
Uh oh!
There was an error while loading. Please reload this page.
I have 4 Neon projects on the Launch plan. All have auto-suspend set to 5 minutes, compute 0.25 ↔ 0.25 CU. My problem: every project consumes exactly ~6 CU/day (0.25 × 24h), regardless of traffic. Even a project with only 30 visitors/day and no cron jobs consumes the same as one with 600 visitors/day.
What I've tried (no effect on compute):
Optimized SQL queries (from 50k/day to 1k/day)
Set Next.js ISR revalidate to false (force-static pages)
Reduced crons from every 3 min to every 30 min
Switched from -pooler (PgBouncer) to direct connection
Set compute max to 0.25 CU (no autoscaling)
What I observe in System Operations:
After removing -pooler from DATABASE_URL, I can see suspend/start cycles (30-40 per day). The compute does suspend and restart. But the total CU consumed is still ~6/day = 24h of 0.25 CU. The pauses between cycles seem too short or the billing doesn't reflect them.
Example suspend/start cycles (May 21):
Suspend 5:05 AM → Start 5:06 AM
Suspend 5:35 AM → Start 5:38 AM
Suspend 7:00 AM → Start 7:00 AM
Suspend 7:20 AM → Start 7:25 AM
Suspend 8:52 AM → Start 8:52 AM
...~30-40 cycles per day
Monitoring graph (Last day): Shows ALLOCATED CU at 0.25 continuously with almost no ENDPOINT INACTIVE gaps, despite the suspend/start cycles above.
My questions:
Is there a minimum billing duration per compute wake-up? (e.g., 5 minutes minimum per start?)
Why does the monitoring graph show continuous activity when System Operations shows suspend/start cycles?
Is check_availability from the control plane keeping the compute active between user requests?
What is the recommended setup for a very low-traffic Vercel + Prisma + Neon project to actually achieve meaningful scale-to-zero?
Project info:
Plan: Launch
Compute: 0.25 ↔ 0.25 CU
Auto-suspend: 5 minutes (default)
Stack: Next.js 14, Prisma, Vercel serverless
DATABASE_URL: direct connection (no pooler)
Project: estado-servicios-es (ep-long-pond-alrf7wx3)
Thank you.
All reactions