计算与存储
计算资源
Supabase 平台上的每个项目都配备专属的 Postgres 实例。
下表描述了基础实例规格(免费方案的 Nano 和付费方案的 Micro),当您需要扩展性能时还可选择更大的计算实例规格。
付费组织中的 Nano 实例
在付费组织中,Nano 计算实例按与 Micro 计算实例相同的价格计费。建议在方便时将项目从 Nano 计算实例升级到 Micro 计算实例。由于升级会导致停机,计算规格不会自动升级。更多信息请参阅 Supabase 定价。付费方案中无法创建 Nano 实例(仅支持 Micro 及以上规格),但您可能在从免费方案升级后保留 Nano 实例。
计算规格 | 每小时价格(美元) | 每月价格(美元) | CPU | 内存 | 最大数据库容量(推荐值)1 |
---|---|---|---|---|---|
Nano2 | $0 | $0 | 共享核心 | 最高 0.5 GB | 500 MB |
Micro | $0.01344 | ~$10 | 2核 ARM(共享) | 1 GB | 10 GB |
Small | $0.0206 | ~$15 | 2核 ARM(共享) | 2 GB | 50 GB |
Medium | $0.0822 | ~$60 | 2核 ARM(共享) | 4 GB | 100 GB |
Large | $0.1517 | ~$110 | 2核 ARM(独享) | 8 GB | 200 GB |
XL | $0.2877 | ~$210 | 4核 ARM(独享) | 16 GB | 500 GB |
2XL | $0.562 | ~$410 | 8核 ARM(独享) | 32 GB | 1 TB |
4XL | $1.32 | ~$960 | 16核 ARM(独享) | 64 GB | 2 TB |
8XL | $2.562 | ~$1,870 | 32核 ARM(独享) | 128 GB | 4 TB |
12XL | $3.836 | ~$2,800 | 48核 ARM(独享) | 192 GB | 6 TB |
16XL | $5.12 | ~$3,730 | 64核 ARM(独享) | 256 GB | 10 TB |
>16XL | - | 联系我们 | 定制 | 定制 | 定制 |
您可以通过在仪表板中选择项目来变更计算规格,升级过程将导致停机。
我们会根据您的使用情况按小时计费额外计算资源。了解更多关于计算资源的用量计费。
专用 CPU 与共享 CPU
Supabase 上的所有 Postgres 数据库都在隔离环境中运行。小于 Large
计算规格的实例具有可短时间突发至更高性能水平的 CPU。大于 Large
的实例则具有可预测的性能水平,不会出现相同的突发行为。
计算资源升级
计算实例变更通常会在 2 分钟内的停机时间内完成,但具体时间可能因底层云服务提供商而异。
在考虑计算资源升级时,请评估您的瓶颈是硬件限制还是软件限制。例如,您可以考虑优化连接数或检查查询性能。当您对 Postgres 实例的性能满意后,再关注额外的计算资源。例如,您可以在测试环境中对应用进行负载测试以了解计算需求。也可以从较小规格开始,在控制台中创建报告监控 CPU 使用率,再按需升级。
磁盘
Supabase 数据库采用高性能 SSD 磁盘作为存储后端。其实际性能取决于以下因素的综合影响:
- 计算规格
- 预配置磁盘吞吐量
- 预配置磁盘 IOPS:每秒输入/输出操作数,用于衡量读写操作次数
- 磁盘类型:io2 或 gp3
- 磁盘容量
磁盘容量和磁盘类型决定了可配置的最大 IOPS 和吞吐量上限。实际 IOPS 取计算规格支持的 IOPS 与磁盘预配置 IOPS 中的较小值。同理,实际吞吐量取计算规格支持的吞吐量与磁盘预配置吞吐量中的较小值。
后续章节将详细说明这些属性如何影响磁盘性能。
计算规格
项目的计算规格设定了磁盘吞吐量和IOPS的上限。下表展示了各实例规格的限制。例如,8XL计算实例的最大吞吐量为9,500 Mbps,最大IOPS为40,000。
计算实例 | 磁盘吞吐量 | IOPS |
---|---|---|
Nano (免费) | 43 Mbps | 250 IOPS |
Micro | 87 Mbps | 500 IOPS |
Small | 174 Mbps | 1,000 IOPS |
Medium | 347 Mbps | 2,000 IOPS |
Large | 630 Mbps | 3,600 IOPS |
XL | 1,188 Mbps | 6,000 IOPS |
2XL | 2,375 Mbps | 12,000 IOPS |
4XL | 4,750 Mbps | 20,000 IOPS |
8XL | 9,500 Mbps | 40,000 IOPS |
12XL | 14,250 Mbps | 50,000 IOPS |
16XL | 19,000 Mbps | 80,000 IOPS |
Nano、Micro、Small和Medium等较小计算实例具有基准性能水平,在短时间内偶尔可能超出该水平。如果确实超出基准,您应考虑升级实例规格以获得更可靠的性能。
较大计算实例(4XL及以上)专为持续高性能设计,具有特定的IOPS和吞吐量限制,您可以进行配置。如果达到IOPS或吞吐量限制,将会发生节流。
为保持稳定磁盘性能选择合适的计算实例
如需稳定的磁盘性能,请选择4XL或更大规格的计算实例。如果不确定应用需要多少吞吐量或IOPS,可以对项目进行负载测试并检查仪表盘中的这些指标。若磁盘IO消耗百分比
统计值超过1%,表明您的工作负载在日间已超出基准IO吞吐量。当该指标达到100%时,表示工作负载已耗尽所有可用磁盘IO预算。任何消耗磁盘IO预算的项目都适合升级至具有更高吞吐量的更大计算实例。
预配置磁盘吞吐量与IOPS
默认磁盘类型为gp3,提供125 MB/s的基准吞吐量和3000 IOPS的默认值。您可以从数据库设置页面配置额外的IOPS和吞吐量,但请注意实际有效的IOPS和吞吐量将受计算实例规格限制。此功能需要Large及以上规格的计算实例。
请注意提高IOPS或吞吐量会产生额外费用。
磁盘类型选择
在选择磁盘时,务必关注工作负载的性能需求。以下是我们的可用磁盘类型对比:
通用型SSD (gp3) | 高性能SSD (io2) | |
---|---|---|
适用场景 | 常规工作负载、开发环境、中小型数据库 | 高性能需求、大规模数据库、关键业务应用 |
最大磁盘容量 | 16 TB | 60 TB |
最大IOPS | 16,000 IOPS (32 GB磁盘容量时) | 80,000 IOPS (80 GB磁盘容量时) |
吞吐量 | 125 MB/s (默认) 至 1,000 MB/s (最大值) | 随IOPS自动扩展 |
最佳适用 | 大多数场景下的高性价比选择 | 低延迟和极高IOPS需求 |
定价 | 磁盘:包含8GB,超出部分 $0.125 每GB IOPS:包含3,000,超出部分 $0.024 每IOPS 吞吐量:包含125 MB/s,超出部分 $0.95 每MB/s | 磁盘:$0.195 每GB IOPS:$0.119 每IOPS 吞吐量:随IOPS扩展,无额外费用 |
对于日常常规操作,gp3通常就足够使用。如果关键系统需要高吞吐量和高IOPS,io2将能提供所需的性能。
注意:计算实例规格变更不会改变您选择的磁盘类型或磁盘大小,但IO限制可能会根据所选计算实例规格的支持范围而变化。
磁盘容量
- 通用型(gp3)磁盘默认提供3,000 IOPS和125 MB/s的基础性能。每增加1GB磁盘容量可额外配置500 IOPS,每配置1个IOPS可增加0.25 MB/s的吞吐量。
- 高性能(io2)磁盘可按每GB磁盘容量配置1,000 IOPS的性能。
限制与约束
Postgres 复制槽、WAL发送器与连接数
复制槽(Replication Slots)和WAL发送器(WAL Senders)用于启用Postgres复制功能。每个计算实例对数据库连接数和连接池客户端数也有限制。
复制槽、WAL发送器、数据库连接数和连接池客户端的最大数量取决于您的计算实例规格,具体如下:
计算实例 | 最大复制槽数 | 最大WAL发送器数 | 数据库最大连接数3 | 连接池最大客户端数 |
---|---|---|---|---|
Nano (免费) | 5 | 5 | 60 | 200 |
Micro | 5 | 5 | 60 | 200 |
Small | 5 | 5 | 90 | 400 |
Medium | 5 | 5 | 120 | 600 |
Large | 8 | 8 | 160 | 800 |
XL | 24 | 24 | 240 | 1,000 |
2XL | 80 | 80 | 380 | 1,500 |
4XL | 80 | 80 | 480 | 3,000 |
8XL | 80 | 80 | 490 | 6,000 |
12XL | 80 | 80 | 500 | 9,000 |
16XL | 80 | 80 | 500 | 12,000 |
如Postgres文档所述,将max_replication_slots
设置为低于当前复制槽数量的值会导致服务器无法启动。如果您正在降级计算实例,请确保使用的槽数不超过新计算实例的最大复制槽数量。
约束条件
- 在任何磁盘属性变更后,会有大约六小时的冷却期,在此期间无法进行进一步调整。如果遇到限制,您需要等待冷却期结束后才能进行其他修改。
- 您可以增加磁盘大小,但不能减小它。
Footnotes
-
Database size for each compute instance is the default recommendation but the actual performance of your database has many contributing factors, including resources available to it and the size of the data contained within it. See the shared responsibility model for more information. ↩
-
Compute resources on the Free plan are subject to change. ↩
-
Database max connections are recommended values and can be customized depending on your use case. ↩