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

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

升配与增加节点

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%就应该进行增加节点的操作。

相关文章
|
存储 机器学习/深度学习 算法
Python科学计算库SciPy
SciPy是一个开源的Python科学计算库,提供了一组丰富的数学、科学和工程计算功能。它建立在NumPy之上,与NumPy密切集成,为用户提供了更高级的功能和工具。 SciPy库包含了许多模块,每个模块都专注于特定领域的计算任务。下面是一些常用的SciPy模块及其功能:
|
NoSQL Linux 测试技术
redis的安装步骤及前台,后台redis服务启动
这篇文章介绍了Redis的安装步骤,包括在Linux系统中下载、传输、解压、编译、安装Redis,以及Redis服务的前台和后台启动方法。
redis的安装步骤及前台,后台redis服务启动
|
存储 缓存 安全
https访问提示不安全,证书密钥验证上如何解决
【10月更文挑战第4天】访问提示不安全,证书密钥验证上如何解决
1710 3
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
存储 人工智能 自然语言处理
AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望
【7月更文挑战第2天】AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望
AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望
|
算法 C++
双指针算法·两数之和·三数之和
双指针算法·两数之和·三数之和
235 0
|
存储 编译器 C语言
【C语言初阶】操作符之 位运算符详解(“ << ”,“ >> ”,“ & ”,“ | ”,“ ^ ”,“ ~ ”)
目录 C语言中六种位运算符: 一、位移运算符 1、移位运算符简介 2、先要了解一点 3、 << 左移运算符 4、>>右移运算符 5、警告 二、 1、& 按位与 2、| 按位或 3、^ 按位异或
564 0
【C语言初阶】操作符之 位运算符详解(“ << ”,“ >> ”,“ & ”,“ | ”,“ ^ ”,“ ~ ”)
|
机器学习/深度学习 并行计算 算法
全手写resnet50,分分钟识别“十二生肖“图片
全手写resnet50神经网络,终于运行正常了。
|
Devops
|
Java 程序员 编译器
Java注解
Java注解
216 0
Java注解