为了应对不断变化的业务需求,使数据库资源能够适应业务规模的快速变化,避免资源浪费和控制数据库运维成本,云数据库RDS PostgreSQL Serverless实例提供了实时弹性能力。通过本文档,您将了解到Serverless实例的特性、架构和使用方法,帮助您降低成本和提高运营效率。
介绍
RDS PostgreSQL Serverless实例提供了CPU、内存的实时弹性能力,构建云盘架构下的RDS PostgreSQL产品新形态。实例不仅提供网络资源、命名空间、存储空间的垂直资源隔离能力,还提供计算资源按需计费的能力,具有资源用量低、简单易用、弹性灵活和价格低廉等优点,赋能用户面向业务峰谷时对计算能力进行快速且独立的扩缩容要求,做到快速响应业务变化的同时,合理优化使用成本,进一步助力企业降本增效。
RDS PostgreSQL Serverless实例计算资源的单位是RCU(RDS Capacity Unit),1个RCU的性能约为1核(最大)2 GB,实例计算资源会在您指定的RCU范围内自动伸缩。
RDS PostgreSQL Serverless实例的最大连接数固定为2400,不支持调整,也不会随RCU的变化而改变。
在业务波动较大的场景下,普通实例和Serverless实例资源使用和规格变化情况如下图所示:
由上图可以看到,在业务波动较大的场景下:
普通实例:在波谷期浪费的资源较多,在高峰期资源不足,业务受损。
Serverless实例:
由于其计算资源随业务需求量随时调整,总体浪费的资源很少,提升了资源利用率,降低了资源使用成本。
在高峰期也能完全满足业务需求,保证业务不受损,提高了系统的稳定性。
打破固定资源付费的模式,做到真正负载与资源动态匹配的按量付费,可节省大量成本。
无需手动变配,提高了运维效率,降低了运维管理人员和开发人员的运维成本。
支持自动启停能力。当没有连接时,实例自动暂停,释放计算资源节约成本;当有连接建立时,自动启动。
对高吞吐写入场景和高并发业务进行了设计优化,同时提供了弹性伸缩能力,适合业务数据量大、并具有典型的业务访问波峰波谷场景。
优势
更低的成本:对于创业初期的企业,PostgreSQL Serverless不依赖其他的基础设施和相关服务,即买即用并可以提供稳定和高效的数据存取服务。使用期间只需要为占用的资源按使用量付费。
更大的存储空间:存储空间最大可高达32 TB,根据实例数据量自动扩展,可以有效避免集群存储资源不足对业务造成影响。
计算资源自动弹性扩缩容:用户读取和写入需要的计算资源可弹性伸缩,极大减少了运维成本和系统风险。
全面托管和免运维:系统部署、扩缩容、报警处理等所有运维工作由阿里云专业团队完成,用户无感知,业务无影响,服务持续可用,真正免运维。
适用场景
开发、测试环境等低频数据库使用场景
中小企业建站服务等SaaS应用场景
个人开发者用户
学校教学、学生实验等教育场景
物联网(IoT)、边缘计算等不确定负载场景
全托管或希望完全免运维的用户
业务有波动或不可预测的用户
具有间歇性定时任务的业务场景
计费说明
使用方法
根据实际业务需求,您可以调整Serverless实例的计算资源扩缩容范围,包括最小RCU和上限RCU,以实现资源的优化配置。
如果您对特定时段的稳定性有严格要求,您可以通过定时任务提前配置Serverless实例的RCU,以确保该时段内实例的稳定性。
对于Serverless实例的弹性策略,您可以选择默认的非强制执行策略以避免潜在的服务中断,或在性能需求高于持续可用性时选择强制执行策略。
开启自动启停后,如果10分钟之内实例中无连接,实例将自动进入暂停状态,该状态下RCU为0,不收取计算费用。实例暂停状态下,有任何连接接入,实例自动恢复运行,并开始收取计算费用。
免费试用
如果您符合免费试用的条件,可以免费试用RDS PostgreSQL Serverless实例。
常见问题
Q:为何会收到关于Serverless实例CPU、内存等相关的云监控报警?
A:此情况通常是由于预先配置的全局报警规则所致。如果已存在针对所有RDS PostgreSQL实例(或特定资源组)的CPU、内存等指标的报警规则,那么新创建的 Serverless 实例会自动继承这些规则。尽管 Serverless 实例能够自动伸缩,但当其资源使用率瞬时达到报警阈值时,系统仍会触发并发送报警通知。
要管理这些报警,请登录云监控控制台,在页,通过高级筛选功能,查看目标Serverless实例当前启用的报警规则,并对其进行管理。
Q:为什么实例在遭遇高负载时未能及时扩容(提升RCU),导致服务无响应?
A: 实例在高负载下未能及时扩容(提升RCU)通常由以下两种原因导致:
已达到 RCU 上限:实例的计算资源已扩容至设定的最大RCU值,无法继续提升。此时需评估业务峰值需求,并适当调高RCU的上限。
扩容延迟无法匹配瞬时流量:Serverless 的弹性扩容机制需要时间响应。扩容通常在CPU或内存使用率超过80%时触发,整个过程约需5秒。如果业务流量在极短时间内(例如,小于5秒)急剧飙升,可能导致实例在触发并完成扩容前就因资源耗尽而无响应。对于这种需要应对瞬时超高并发的业务场景,建议使用预置固定资源的常规实例以保障服务的稳定性。
Q:为什么在业务压力降低后,实例没有自动缩容(降低 RCU)?
A: Serverless 实例的缩容(降低 RCU)操作需要同时满足CPU使用率低于50%和内存使用率低于 50%两个条件。
一个常见原因是数据库的页面缓存(Page Cache)占用了较高内存。即使业务压力下降,PostgreSQL 为优化后续查询性能,可能仍会保留数据在内存中,导致内存使用率无法降至50%以下,从而不满足缩容条件。若需立即触发缩容,可通过重启实例来强制释放页面缓存,降低内存使用率。
Q: 实例已暂停且没有连接的情况下,怎么启动实例?
A: 在控制台关闭该实例的自动启停功能,实例即可自动启动。