Can SupaHost scale as my app grows?
SupaHost scales vertically: each plan is a bigger VM, and changing plan resizes it in a minute or two. Capacity guides per plan, what doesn't exist (read replicas), and when to look beyond.
Yes, up to the size of one server. SupaHost scales vertically: every plan is a bigger VM, and moving up a plan resizes your instance in about a minute or two of downtime. Disks grow automatically as they fill. There are no read replicas or multi-server setups, so if you outgrow the Business plan, the next steps are Enterprise (custom sizing) or a platform built for horizontal scale, such as Supabase Cloud.
Capacity by plan
Measured with load tests, for a typical app where 5% of monthly users are active in the busiest hour, each making a request every 10 seconds:
| Builder | Pro | Business | |
|---|---|---|---|
| Server | 2 shared vCPU, 4 GB RAM | 2 vCPU, 8 GB RAM (dedicated) | 4 vCPU, 16 GB RAM (dedicated) |
| Monthly active users | about 25,000 | about 50,000 | about 100,000 |
| Concurrent Realtime connections | about 5,000 | about 15,000 | about 30,000 |
| API reads per second | about 300 | about 540 | about 950 |
| Password sign-ins per second | about 19 | about 18 | about 38 |
| Database / files / egress | 8 GB / 100 GB / 250 GB | 25 GB / 250 GB / 500 GB | 50 GB / 500 GB / 1 TB |
These are guides, not limits. A heavy query or a missing index can use more of the server than thousands of light requests. Sign-ins are CPU-bound because password hashing is deliberately slow.
Scaling levers
Change plan. Dashboard → Usage & billing → Change plan. The VM is resized, with a minute or two of downtime, so pick a quiet moment.
Add-ons. Raise database ($1.25 per 10 GB/month), file storage ($1.05 per 50 GB/month) or egress ($12 per 100 GB/month) without changing plan.
Make queries cheaper. Indexes and leaner RLS policies often buy more headroom than a bigger VM:
-- find the slowest statements select calls, round(mean_exec_time::numeric, 1) as avg_ms, left(query, 80) as query from pg_stat_statements order by mean_exec_time desc limit 10;Move work off the request path. Queue slow jobs and process them in batches with pg_cron and Edge Functions instead of doing them while the user waits.
What isn't available
No read replicas, no connection pooler, no multi-server failover and no SLA. All projects on an instance share one Postgres server (400 connections) and one VM. Pricing doesn't change with users: there are no per-MAU, per-connection or per-invocation fees.
FAQ
How do I know when to upgrade?
Usage alerts email you at 80%, 90% and 100% of your database, file storage and egress quotas. For CPU and memory, watch response times and the High CPU usage and High memory guides; live instance metrics in the dashboard are coming later.
Does upgrading lose data?
No. The same disk is attached to the larger VM; only the machine type changes. Expect a minute or two of downtime.
Can I add read replicas later?
Not on SupaHost. If you need replicas or horizontal scaling, ask about Enterprise ([email protected]), or consider Supabase Cloud.