Home

Compute Add-ons

Every project on the Supabase Platform comes with its own dedicated Postgres instance running inside a virtual machine (VM). The following table describes the base instance with additional compute add-ons available if you need extra performance when scaling up Supabase.

PlanPricingCPUMemoryConnections: DirectConnections: Pooler
Free (Included)$02-core ARM (shared)1 GB60200
Small$52-core ARM (shared)2 GB90200
Medium$502-core ARM (shared)4 GB120200
Large$1002-core ARM (dedicated)8 GB160300
XL$2004-core ARM (dedicated)16 GB240700
2XL$4008-core ARM (dedicated)32 GB3801500
4XL$95016-core ARM (dedicated)64 GB4803000
8XL$1,86032-core ARM (dedicated)128 GB4906000
12XL$2,79048-core ARM (dedicated)192 GB5009000
16XL$3,72064-core ARM (dedicated)256 GB50012,000

Number of connections above are recommended values.

Contact us if you require a custom plan.

Dedicated vs. shared CPU#

All Postgres instances on Supabase are dedicated applications running inside dedicated virtual machines. However, the underlying hardware resources, for example the physical CPU, may be shared between multiple VMs, but appear to the OS as if it is a dedicated hardware CPU. This is commonly referred to as a vCPU (virtual CPU). Cloud providers use these shared hardware resources to save cost—you can upgrade to a larger compute add-on to guarantee a dedicated physical CPU for your instance.

Compute upgrades #

When considering compute upgrades, assess whether your bottlenecks are hardware-constrained or software-constrained. For example, you may want to look into optimizing the number of connections or examining query performance. When you're happy with your Postgres instance's performance, then you can focus on additional compute resources. For example, you can load test your application in staging to understand your compute requirements. You can also start out on a smaller tier, create a report in the Dashboard to monitor your CPU utilization, and upgrade later as needed

Disk IO#

SSD Disks are attached to your servers and the disk performance depends on the compute add-on of your instance. Disk IO refers to two metrics: throughput (Megabits per Second) and IOPS (Input/Output Operations per Second).

PlanPricingMax Disk ThroughputBaseline Disk ThroughputMax IOPSBaseline IOPS
Free (Included)$02,085 Mbps87 Mbps11,800 IOPS500 IOPS
Small$52,085 Mbps174 Mbps11,800 IOPS1,000 IOPS
Medium$502,085 Mbps347 Mbps11,800 IOPS2,000 IOPS
Large$1004,750 Mbps630 Mbps20,000 IOPS3,600 IOPS
XL$2004,750 Mbps1,188 Mbps20,000 IOPS6,000 IOPS
2XL$4004,750 Mbps2,375 Mbps20,000 IOPS12,000 IOPS
4XL$9504,750 Mbps4,750 Mbps20,000 IOPS20,000 IOPS
8XL$1,8609,500 Mbps9,500 Mbps40,000 IOPS40,000 IOPS
12XL$2,79014,250 Mbps14,250 Mbps50,000 IOPS50,000 IOPS
16XL$3,72019,000 Mbps19,000 Mbps80,000 IOPS80,000 IOPS

Contact us if you require a custom plan.

Bursting and Disk Budget#

Smaller compute instances can burst up to their largest throughput and IOPS for 30 minutes in a day. Beyond that, the performance reverts to the baseline. For example, the free tier can burst up to 2,085 Mbps for 30 minutes a day and reverts to the baseline performance of 87 Mbps. Your disk budget gets replenished throughout the day.

If you need consistent disk performance, choose the 4XL or larger compute add-on which has the same baseline and maximum disk throughput and IOPS.

If you're unsure of how much throughput or IOPS your application requires, you can load test your project and inspect these metrics in the Dashboard. If the Disk IO % consumed stat is more than 1%, it indicates that your workload has burst beyond the baseline IO throughput during the day. If this metric goes to 100%, the workload has used up all available disk budget and will revert to baseline performance. Projects that use any disk budget are good candidates for upgrading to a larger compute add-on with higher baseline throughput.