PolarDB-X学习笔记3-实际配置问题解决

关于PolarDB-X的最佳实践

1.如何选择实例规格

  • 计算实例:与CPU有关,以QPS为主要衡量指标;

选择实例时,应参照不同规格支持的最大QPS,并结合估算的业务最大QPS来进行选择。例如,某用户估算其业务应用对PolarDB-X 1.0计算资源实例访问的最大QPS为50000,那么应选择规格为标准版16核64 GB实例

  • 存储实例:预计磁盘空间以及最大的IOPS来进行配置;

2.如何选择拆分键

背景:即选择分库分表字段。

2.1 拆分键选择首要原则
首要原则:核心业务逻辑实体字段,大部分(或者核心)SQL操作都是围绕这个实体字段进行。

举例

  • 面向用户的互联网应用,围绕用户维度做各种操作,那么业务逻辑实体就是用户,可使用用户ID作为拆分键。
  • 面向卖家的电商应用,围绕卖家维度做各种操作,那么业务逻辑实体就是卖家,可使用卖家ID作为拆分键。
  • 游戏类在线应用,围绕玩家维度做各种操作,那么业务逻辑实体就是玩家,可使用玩家ID作为拆分键;
  • 诸如此类,还有车联网在线应用和税务类在线应用。

2.2 如果确实找不到合适的业务逻辑实体作为拆分键,特别是传统企业级应用,那么可以考虑从以下方法来选择拆分键:

  • 根据数据分布和访问均衡来考虑拆分键,尽量将表中的数据相对均匀的分布在不同份表中,PolarDB支持全局强一致二级索引和Parallel Query能够提高在次场景在的SQL并发度并降低相应时间。
  • 按照数字类型/字符串类型与时间类型字段相结合作为拆分键,进行分库分表,适用于日志类检索的应用。例如:分库用userid 分表用week(date);

如何选择分片数(即水平拆分的物理分表数)

背景:每个RDS实例创建8个物理分库。分库下可以建立单个或多个物理表

  • 建议一个分表的总容量在500万~5000万行数据(单行超过4KB,则总容量不超过500万),同时控制B+树的深度为3-4c层。
  • 先估计几年内的数据增长量,得到每个物理分库分表数。

何时选择升配?

  • 数据库性能主要受RT和QPS影响。RT响应时间,QPS是容量。PolarDB-X性能同时受到计算层和存储层节点性能的影响,任一计算层或者存储层节点性能不足都会导致整体性能出现瓶颈
  • 判断是否出现实例性能瓶颈:PolarDB-X实例的QPS和CPU性能是正相关的。当PolarDB-X性能出现瓶颈时,主要表现为实例的CPU使用率居高不下。如果发现CPU使用率超过90%或者持续超过80%,且存储层不存在瓶颈的情况下,对计算层的RDS进行升配。
  • 也可以通过升配存储节点RDS来进行性能优化。

何时选择平滑扩容

什么是平滑扩容

PolarDB-X平滑扩容是通过增加RDS的数量来提升整体性能。当RDS的IOPS、CPU、磁盘容量等指标达到瓶颈,并且SQL优化、RDS升配已经无法解决瓶颈(例如磁盘已经升至顶配)时,可通过PolarDB-X水平扩容增加RDS数量,提升PolarDB-X数据库容量。
PolarDB-X平滑扩容通过迁移分库到新的RDS上来降低原RDS的压力,直到单个RDS只存在一个分库为止。(否则那就只能迁库)
在这里插入图片描述

判断是否需要平滑扩容

观察RDS的三个指标进行判断:IOPS、CPU、磁盘空间。

  • 对于CPU和IOPS:
    如果CPU利用率或者IOPS长期保持在80%以上或频繁收到报警信息,请考虑通过以下步骤来解决:
    1.尝试SQL优化。CPU利用率过高通常都可以通过这一步解决。
    2.SQL优化无法解决时,可以进行RDS升配
    3.当CPU和IOPS超标时,可以通过设置只读库来分担主库负荷。注意读写分离会影响读一致性。
    4.当以上步骤都无法很好地解决问题时,请考虑PolarDB-X扩容。
  • 对于磁盘空间:
    判断是否扩容主要关注数据空间即可。
    RDS的磁盘空间有以下几种:
    1.数据空间:数据所占用的空间。随着数据的插入,空间占用量会一直增长。磁盘存储容量的余量建议保持在30%以上。
    2.系统文件空间:包括共享表空间、错误日志文件。
    3.Binlog文件空间:这是数据库运行中产生的空间。更新的事务越多,空间占用量越大。

扩容风险及注意事项

PolarDB-X扩容流程分为:配置-迁移-切换-清理四个步骤。
主要要注意要在RDS低负载时操作,扩容期间不能执行DDL,源库表主要有主键,扩容切换过程大约持续3-5分钟,建议在停业务的情况下进行切换。执行切换钱,扩容动作不会对PolarDB-X产生任何影响。因此在切换前都开业i通过回滚来放弃本次扩容。

如何选择应用连接池

PolarDB-X1.0实例中的连接

如何处理DDL异常

如何高效扫描数据

在IN查询中如何选择Values个数

如何玩转HTAP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Net-SNMP是一个用于实现SNMP(Simple Network Management Protocol,简单网络管理协议)的工具包。学习Net-SNMP主要包括以下几个方面: 1. 编译和安装Net-SNMP:首先需要下载和解压Net-SNMP的源代码,然后通过命令行进行编译和安装。 2. 编写MIB文件:MIB(Management Information Base,管理信息库)文件用于定义被SNMP管理的对象。你可以使用文本编辑器编写MIB文件,其中包含了对象的标识符和相关信息。 3. 转换MIB文件:将MIB文件转换成.c和.h文件,这样可以在SNMP代理中使用。可以使用工具来进行这个转换过程。 4. Agent代理工程:Agent代理是一个运行在网络设备上的软件模块,它负责收集和提供设备的管理信息给SNMP管理系统。学习Net-SNMP还需要了解如何配置和运行Agent代理工程。 5. Trap机制:Trap是SNMP的一种机制,用于报告特殊事件的发生。学习Net-SNMP时需要了解如何配置Trap机制,以便及时获得网络资源的实时监控。 总之,学习Net-SNMP主要包括编译和安装Net-SNMP,编写和转换MIB文件,配置和运行Agent代理工程,以及理解Trap机制等方面。这些知识可以帮助你实现有效的网络管理软件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SNMP网管学习笔记](https://download.csdn.net/download/qiek/6674485)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [net-snmp学习笔记<一> — 介绍](https://blog.csdn.net/prochsh/article/details/49888141)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值