-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Context
This project (favorite
) was deployed to Vercel at fav.jpdiaz.dev
. After going live, it triggered a massive spike in resource usage, which resulted in Vercel pausing my entire account due to quota overages on the free plan.
Symptoms
- All Vercel projects were paused with message:
“This deployment is temporarily paused. Upgrade to resume service.”
- Error on domain:
404: DEPLOYMENT_NOT_FOUND
- All limits were massively exceeded (based on Usage PDF from Vercel dashboard):
Metric | Free Plan Limit | Actual Usage |
---|---|---|
Function Invocations | 100,000 | 14,000,000+ |
Edge Requests | 1,000,000 | 14,000,000+ |
Fast Origin Transfer | 10 GB | 401 GB |
Fast Data Transfer (Out) | 100 GB | 300+ GB |
Function Duration (GB-Hrs) | 100 GB-Hrs | 230+ GB-Hrs |
Root Cause
From Vercel’s Observability dashboard, the overwhelming usage came from this route:
- Route:
/_render
- Requests: 112,000+ in <12 hours
- Outbound transfer: 2.38 GB
- Inbound transfer: 91.28 MB
This suggests that /_render
is either:
- An internal server-side rendering (SSR) endpoint exposed publicly
- Not cached
- Not rate-limited
- Possibly being hit by bots, crawlers, or unintentional traffic loops
What happened next
- I deleted the project from Vercel (June 16)
- Usage stopped growing immediately
- Confirmed via
dig
that DNS now points to Netlify (not Vercel) - Ported portfolio to: https://jpdiaz.netlify.app
Next steps (to be handled in future issues)
- Analyze what triggers
/_render
and why it was exposed - Add SSR caching or convert to static generation where possible
- Block bots and crawlers from hitting dynamic endpoints
- Add logging to monitor endpoint traffic
- Add rate limiting or edge protection for production
This issue is only for documenting the root cause. Future issues will address mitigation.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working