水平自动扩缩容目前处于私有预览阶段,适用于 Scale 和 Enterprise 套餐。若要申请访问权限,请联系您的 ClickHouse 客户团队或支持团队。
工作原理
自动扩缩容器会持续监控您的服务,并每 10 分钟根据以下三个信号提出横向扩缩容建议:- 并发查询: 所有副本中同时运行的查询数的最大值
- CPU 利用率: 所有副本中的最高 CPU 使用率
- 内存利用率: 所有副本中的最高内存使用率
- 横向扩容: 当利用率超过 80% 的高水位线时,增加副本,直至达到您配置的最大值
- 缩容: 当利用率低于 45% 的低水位线时,移除副本,直至达到您配置的最小值
启用水平自动扩缩容
可在服务的 设置 页面配置水平自动扩缩容,也可通过 ClickHouse Cloud 副本扩缩容 API 进行配置。 要启用此功能:- 将最小内存设为与最大内存相等,以固定副本大小。目前,水平自动扩缩容要求副本大小固定;同一服务不能同时启用纵向规格自动扩缩容和水平自动扩缩容。
- 将最大副本数设为大于最小副本数。自动扩缩容会在这些范围内运行。将两个值设为相等会将服务固定为指定的副本数,并禁用水平自动扩缩容。
有关适用于你的服务的副本数量限制,请参阅 使用限制。如需更多副本,请联系支持团队。
配置客户端
只有客户端连接到新副本时,新副本才能发挥作用。长连接会始终绑定到连接建立时已有的副本,因此客户端必须定期刷新连接,才能发现新副本。 请通过以下方式之一配置客户端:- HTTP 协议 (推荐) : 默认情况下连接为短连接,因此流量会自动分配到新副本
- 原生协议: 将最大连接生命周期设置为约 30 秒,以便定期重新建立连接
选择合适的副本大小
当每个副本都足够大,能够轻松运行典型查询时,横向自动扩缩容的效果最佳。增加副本可提高服务能够并行运行的查询数量;但不会增加单个查询可用的内存。 推荐做法:- 找到合适的纵向规格,使少量典型查询能够轻松运行且不会出现内存错误。
- 将服务固定为该规格。
- 随着查询量增长,让横向自动扩缩容添加副本。