# 应用性能规格
RDS Supabase内部包含一个名为Supavisor的连接池组件，它是专为RDS for PostgreSQL数据库设计并开源的云原生、分布式数据库连接池（Connection Pooler），在系统中承担着至关重要的"流量调度与连接编排层"角色。其中，POOLER_DEFAULT_POOL_SIZE（后端默认连接池大小）和POOLER_MAX_CLIENT_CONN（最大客户端连接数）是两个核心的容量控制参数，也是面向用户侧非常重要的性能规格参数。这两个参数分别控制着后端（对数据库）和前端（对客户端）的连接行为。
表1RDS Supabase连接池容量性能参数 
| 参数名称                    | 参数说明                                                                    | 作用对象                     | 核心目的                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| POOLER_DEFAULT_POOL_SIZE | 定义了Supavisor连接池为每个数据库用户/租户分配的、与托管的底层RDS for PostgreSQL数据库保持的最大实际TCP连接数。 | Supavisor ↔ PostgreSQL数据库 | 保护数据库，防止内存耗尽。 - 数据库保护锁：RDS for PostgreSQL的每个连接都会消耗显著的服务器内存（通常几兆到几十兆不等）。这个参数设定了一个硬性上限，确保Supavisor绝对不会向数据库建立超过该数量的连接，从而防止数据库因连接过多而崩溃（OOM）。  - 连接复用与排队：当前端并发请求超过这个数值时，Supavisor不会向数据库申请新连接，而是让超出部分的请求在池中排队，等待之前的请求释放后端连接并复用它。  - 默认行为：在多租户环境下，这是每个独立连接池的默认容量。   |
| POOLER_MAX_CLIENT_CONN    | 定义了Supavisor允许同时接入的前端客户端（如你的API服务、边缘函数、前端应用等）的最大连接总数。                    | 应用程序/客户端 ↔ Supavisor       | 允许高并发，吸纳大量应用请求。 - 高并发吸纳器：这是连接池发挥作用的核心。由于客户端连接（应用程序到 Supavisor）是非常轻量级的，Supavisor可以承载远多于底层数据库承载能力的客户端连接。   - 流量闸门：决定服务同时能有多少个实例或进程保持在线。如果应用部署了大量的边缘函数（如华为云FunctionGraph云函数），每个函数都会占用一个客户端连接。一旦达到这个上限，新的客户端尝试连接Supavisor时，连接请求将会被拒绝。            |
   
对于不同资源规格档位下的RDS Supabase，其连接池容量性能参数默认配置也不相同，默认配置与约束，详见[表2]。
 表2RDS Supabase连接池容量性能参数 
| 规格场景                       | 规格码                     | CPU数 | 内存(GB) | 后端默认连接池大小 | 最大客户端连接数 | **托管RDS for PostgreSQL实例的规格要求**                                                                                                                                                  |
|:---|:---|:---|:---|:---|:---|:---|
| 2 vCPUs \| 4 GB单机版（默认免费）     | rds.supabase.n1.large.2   | 2      | 4-     | 20         | 100     | - ≥ 2 vCPUs \| 4 GB  - 主备或单机版      |
| 2 vCPUs \| 8 GB单机版（默认免费）  | rds.supabase.n1.large.4    | 2    | 8      | 20       | 500       | - ≥ 2 vCPUs \| 8 GB  - 主备或单机版          |
| 4 vCPUs \| 8 GB单机版（申请评估）     | rds.supabase.n1.xlarge.2   | 4      | 8      | 40         | 1000   | - ≥ 4 vCPUs \| 8 GB  - 主备或单机版   |
| 4 vCPUs \| 16 GB单机版（申请评估）   | rds.supabase.n1.xlarge.4  | 4      | 16     | 40        | 1200    | - ≥ 4 vCPUs \| 16 GB  - 主备或单机版     |
| 8 vCPUs \| 16 GB单机版（申请评估） | rds.supabase.n1.2xlarge.2  | 8     | 16       | 80        | 2400     | - ≥ 8 vCPUs \| 16 GB  - 主备或单机版         |
| 8 vCPUs \| 32 GB单机版（申请评估）   | rds.supabase.n1.2xlarge.4  | 8    | 32       | 80       | 2800     | - ≥ 8 vCPUs \| 32 GB  - 主备或单机版           |
| 16 vCPUs \| 32 GB单机版（申请评估）  | rds.supabase.x1.4xlarge.2 | 16  | 23       | 160      | 5600   | - ≥ 16 vCPUs \| 32 GB  - 主备或单机版     |
| 16 vCPUs \| 64 GB单机版（申请评估）  | rds.supabase.x1.4xlarge.4  | 16    | 64      | 160       | 6400    | - ≥ 16 vCPUs \| 64 GB  - 主备或单机版            |
   
![](https://support.huaweicloud.com/usermanual-rds-pg/public_sys-resources/notice_3.0-zh-cn.png)
在实际业务使用过程中，请确保Supabase托管规格匹配的PostgreSQL数据库实例，并控制好业务客户端连接数，避免超过最大连接数，避免长连接占用和高频耗时调用，否则可能会导致连接被拒绝，引发业务超时中断，严重时可能造成PostgreSQL数据库连接被打满，造成执行响应慢。
RDS Supabase应用托管数据库实例后，内部**默认会占用40\~50个数据库客户端连接**，因此请尽可能使用比较空闲（客户请求较少）的数据库实例，避免由于可用连接数不足所导致的客户业务响应超时、业务中断甚至故障不可用。
