本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
Serverless集群支持自定义资源扩缩策略,以有效控制集群资源的弹性扩缩上下限。此外,集群还支持配置周期性策略,使您能够在可预测的业务高峰(如促销、流量峰值)前自动弹升保障性能,并在低谷期自动弹降释放闲置资源。
弹性扩缩
弹性扩展触发条件
纵向扩展(节点升配)
PolarDB主要监控主节点和只读节点的CPU使用率、内存使用率和其他内核层面指标。在监控周期内,当单节点出现如下三种情况中的任意一种时,通常会触发当前节点的纵向扩展:
CPU使用率高于预设阈值(默认值为80%)。
内存使用率高于90%。
只读节点的规格小于主节点规格的一半。
例如,当一台只读节点的规格为4 PCU,而主节点的规格为10 PCU时,就会触发这台只读节点资源的纵向扩展到不小于5 PCU的规格。
横向扩展(增加节点)
当集群中某个只读节点已经纵向扩展至设定上限,并且该只读节点仍然满足纵向扩展的触发条件(如CPU使用率高于自定义阈值),则会触发只读节点的横向扩展。
弹性收缩触发条件
当单节点的CPU使用率低于自定义阈值(默认值为50%)且内存使用率低于80%时,会触发本节点资源收缩。
在不同的参数配置和Serverless配置下,用于判断弹性扩缩的指标不同。您可以自定义CPU使用率的阈值,但无法更改其他指标的阈值。
当集群的业务负载突增时,集群的节点并不是一次性扩缩到对应规格,而是不断地单次扩缩逐步接近当前负载的相应规格。单次扩缩的最小步长是0.5 PCU。为了能更快地适应当前业务流量,集群下次扩缩的步长会根据当前的PCU自动进行调整,扩大调整的步长。
当集群节点出现弹性收缩,若您想要感知到相应变化,可在控制台性能监控中配置报警规则,报警规则的详细配置请参见设置弹性监控。
注意事项
Serverless集群的最大连接数为100000,最大IOPS为84000。
Serverless集群采用PCU(PolarDB Capacity Unit)作为秒级计费和资源弹性的管理单位,其中1 PCU约等于1核2 GB内存的标准服务能力。节点的PCU将根据业务负载在您设定的上下限范围内进行动态调整,单次弹性的最小PCU单位为0.5 PCU。
设置Serverless配置参数
您可以登录PolarDB控制台,选择集群所在地域,在集群列表中单击目标集群ID进入详情页。在基本信息页面的数据库节点区域,单击Serverless配置,进行配置。
配置当前参数
在设置Serverless配置参数对话框中,单击编辑,设置相应参数。
当前参数
只读节点个数伸缩下限:设置允许只读节点增加的最小数量。取值范围:0~15。
只读节点个数伸缩上限:设置允许只读节点增加的最大数量。取值范围:0~15。
只读节点数量将根据实际业务负载在设置的下限与上限内自动增加或减少。详细扩缩策略,请参见弹性扩缩。
为了实现Serverless集群的高可用,建议将只读节点个数伸缩下限设置为1。
单节点资源弹升下限:设置集群内每个节点的PCU数量下限。取值范围:1 PCU~32 PCU。
单节点资源弹升上限:设置集群内每个节点的PCU数量上限。取值范围:1 PCU~32 PCU。
示例:若您将单节点资源弹升下限设置为2 PCU,单节点资源弹升上限设置为16 PCU,则Serverless集群内主节点与只读节点的默认规格为2 PCU(约等于2核4 GB的资源)。当系统检测到业务负载增加时,将自动增加主节点或只读节点的PCU数量,但根据设置,最大只能提升至16 PCU(约等于16核32 GB的资源)。
只读列存节点个数:设置允许只读列存节点的数量。取值范围:0~15。
若需添加只读列存节点,请确保集群中至少存在一个只读节点。即您需先将只读节点个数伸缩下限设置为1。
只读列存节点信息,请参见列存索引(IMCI)。
是否开启无活动暂停:如果您的数据库在某些时间段内没有业务请求,您可以选择开启自动启停功能。开启后,在设置的无活动暂停的检测时长之内,如果集群无业务连接,则集群自动进入暂停状态。暂停期间,存储空间仍按量付费。如果有任何业务连接接入集群,那么集群立刻自动启动。
无活动暂停的检测时长:检测时长为5分钟到24小时,且必须是5分钟的倍数。
高级配置
您可以根据当前Serverless集群的资源压力灵活调整高级配置参数。
弹性灵敏度:在灵敏模式下,Serverless资源对业务压力负载的响应时间更短,即更短的观察窗口和执行时间,选择下拉框设置标准或灵敏。
CPU弹升阈值(最大值):设置集群的CPU弹升阈值。取值范围:40~100%。
CPU弹降阈值(最小值):设置集群的CPU弹降阈值。取值范围:10~70%。
CPU弹降阈值不能超过CPU弹升阈值(最小值 < 最大值),且CPU弹升阈值与CPU弹降阈值的差需要大于等于30(最大值 - 最小值 >= 30)。
灵敏模式适用于对瞬时负载波动(例如,CPU出现瞬时峰值)敏感的业务,需要在更短的时间内做出响应。然而,集群也会根据负载波动情况频繁进行弹升与弹降。
配置周期策略
周期策略通过预设时间规则(例如在特定时间段内每月、每周或每天的某个时间点),自动触发集群资源的扩缩容。该策略让您在可预测的业务高峰(如促销、流量峰值)前自动弹升保障性能,并在低谷期自动弹降释放闲置资源。
请谨慎操作:
删除Serverless周期策略时,无法撤销当前策略内正在执行的任务,尚未执行的任务会被删除。
如果在Serverless运行期间关闭Serverless功能,周期策略和定时任务将会被删除。
在设置Serverless配置参数对话框中,单击+添加周期策略。参数说明如下:
参数名称
取值范围
参数名称
取值范围
单节点资源弹升上限(最大值)
1~32 PCU。
单节点资源弹升下限(最小值)
1~32 PCU,且最小值 ≤ 最大值。
只读节点个数伸缩上限
0~15个可选。
只读节点个数伸缩下限
0~15个可选,且不能大于只读节点个数伸缩上限的值。
只读列存节点个数
0~15个可选。
起止时间
周期策略的有效时间区间。
周期策略定时时间
周期策略的定时时间设置。
每月:选择在正数或倒数的特定天数及时间点进行执行。如果是多个天数,请用英文逗号
,
隔开,例如1,3,5
。每周:选择周一至周日的特定天数及时间点进行执行。
每天:选择每天特定时间点执行。
配置周期策略后,系统将在设定的起止时间内,按照周期策略定时时间调整集群的Serverless配置参数。调整完成后,集群的Serverless配置参数将不会自动恢复。如需在特定时间点恢复原有配置参数,请另行设置一个周期策略。详细示例,请参见示例。
(可选)查询执行计划。您可通过以下两种方式查看:
周期性策略和定时任务之间是派生关系,即周期性策略创建后,会按照策略生成定时任务。
周期性策略创建后可在集群详细页面查看。
请前往控制台任务管理下定时计划任务查看。
示例
场景描述:如果你想在8月1日至9月30日的每个工作日(例如:周一至周五)上午9点30分弹升资源5PCU,晚上10点弹缩资源1PCU执行周期策略,配置详情如下图所示:
- 本页导读 (1)
- 弹性扩缩
- 弹性扩展触发条件
- 弹性收缩触发条件
- 注意事项
- 设置Serverless配置参数
- 配置当前参数
- 配置周期策略