最佳实践—如何选择升配与扩容

简介: 本文介绍了选择升配与扩容的逻辑和方法。

升配与增加节点

PolarDB-X中,扩容包含两种方式:

  1. 升配,指节点数不变,升级已有节点的CPU、内存、IOPS等规格。升配优先会选择原地升配,例如,将节点由4C升配为8C,如果当前节点所在宿主机有空余的CPU资源,则会通过调整参数的方式,将4C升配为8C,此种形式的升配耗时比较短,特别是数据节点的升配,不涉及数据的迁移;如果节点宿主机没有足够的资源做原地升配,则会进行节点的迁移,相对会消耗更多的时间。
    一般情况下,节点规格相对较小的时候,能更容易做到原地升配。相应的,降配操作可以做到原地降配。
  2. 增加节点,指节点的规格不变,增加新的CN与DN节点。增加DN节点会对数据做重新的负载均衡,因此涉及到数据的迁移,所耗时间与数据量成比例。相应的,减少节点的操作也会涉及到数据的迁移。可以看出,大多情况下,升配可以在原地完成,是一种更轻量的操作;增加节点一定涉及到数据迁移,是一个更复杂的操作。因此选择升配还是扩容,遵循以下原则:
    1. 业务突发流量、高峰期等引起的资源不足,优先选择升配,可以更快的解决性能瓶颈。同时,业务高峰过去之后,也更方便使用降配来节省资源。
    2. 日常开发、运维等过程中计划内的增加资源,优先选择增加节点,将单节点规格保持在相对较小的状态,便于应急情况下进行原地升配。
    3. 升配不会增加磁盘容量,磁盘容量是瓶颈的情况下,选择增加节点。

何时选择扩容

对于在线交易类业务,一般推荐日常负载不超过水位线的30%,以应付突发的一些流量(例如促销、甚至业务代码出现BUG等)。业务应该根据自己的业务特点(例如是否有周期性波动,是否有大促等)来对安全水位线进行调整。

CN的负载一般重点关注以下指标:

  1. CPU使用率
  2. 活跃线程数 (runing thread)
  3. 响应时间(逻辑RT、物理RT)

DN的负载一般重点关注以下指标:

  1. CPU使用率
  2. IOPS使用率
  3. 活跃链接数 (active session)

对于磁盘空间成为瓶颈的场景,考虑到增加节点需要消耗一定的时间,因此增加节点需要提前进行,一般推荐磁盘容量超过70%就应该进行增加节点的操作。

相关文章
|
机器学习/深度学习 Linux vr&ar
ARIMA差分自回归移动平均模型
ARIMA是**差分自回归移动平均模型**的引文缩写,其中AR表示的是自回归模型,MA表示的是移动平均模型,I表示的是差分。一般写成ARIMA(p,d,q),p是自回归阶数,q是移动平均阶数,d表示差分的次数。
1922 0
ARIMA差分自回归移动平均模型
|
存储 云计算
《云计算:原理与范式》一导读
云供应商、研究人员及相关的从业者正在努力确保对潜在的用户在云计算及利用云计算的全部潜力方面提供培训。
1868 0
《云计算:原理与范式》一导读
|
8月前
|
人工智能 自然语言处理 PyTorch
Chat2SVG – 文本描述实现高质量矢量图形的生成框架
Chat2SVG 是一个创新的文本到矢量图形生成框架,结合大型语言模型和图像扩散模型,通过多阶段流程生成高质量的 SVG 图形,支持自然语言指令编辑,适用于设计、教育和艺术创作等领域。
343 8
Chat2SVG – 文本描述实现高质量矢量图形的生成框架
|
8月前
|
自然语言处理 供应链 算法
千星计划模式视频号爆单系统开发
比如视频号带货系统、一线公排系统、轻创优选系统等。看起来用户可能是在探索如何利用微信视频号的电商功能,开发一个能够快速提升销量的自动化系统。
|
9月前
|
人工智能 自然语言处理 小程序
用户说 | 文科生的我用DeepSeek+AI程序员半小时开发了一个小程序
用户说 | 文科生的我用DeepSeek+AI程序员半小时开发了一个小程序
用户说 | 文科生的我用DeepSeek+AI程序员半小时开发了一个小程序
|
供应链 安全 芯片
台积电7nm芯片断供影响分析:中国大陆半导体产业的挑战与机遇
近日,有关台积电可能断供中国大陆7nm芯片的消息引发了业界的广泛关注。这一事件不仅关系到全球半导体供应链的稳定性,也对中国大陆半导体产业的发展提出了新的挑战。本文将探讨这一事件背后的原因、可能的影响以及中国大陆半导体产业的应对策略。
655 0
|
安全 测试技术
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
271 1
|
PyTorch API 算法框架/工具
NumPy 1.26 中文官方指南(三)(3)
NumPy 1.26 中文官方指南(三)
259 1
|
安全 Java fastjson
安装配置docker&maven环境
Docker 是一个开源的应用容器引擎。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
590 0
 安装配置docker&maven环境
|
JavaScript Java 测试技术
基于springboot+vue.js的校园二手书交易平台附带文章和源代码设计说明文档ppt
基于springboot+vue.js的校园二手书交易平台附带文章和源代码设计说明文档ppt
316 0