检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
CPU使用率高问题排查与优化 场景描述 业务侧RDS for MySQL实例的SQL执行速率在16:08分左右开始变慢,应用有超时的报错。 原因分析 查看CPU使用率监控指标,发现在16:08分左右实例的CPU使用率开始飙升到100%,且一直持续在高位线。 图1 CPU使用率 查
图4 查看权重分配结果 负载均衡:支持基于负载的自动调度策略,读请求将在多个只读节点中按照活跃连接数自动调度,来保证多个只读节点间的负载均衡。 图5 负载均衡 在“选择实例”下拉框勾选需要加入负载均衡的实例。 对于新创建的只读实例,如需加入负载均衡,需要在“选择实例”下拉框中勾选该实例,然后单击“确定”。
成本优化 在您通过成本中心了解和分析您的成本情况后,您可以确定成本偏高的原因,然后采取针对性的优化措施。 资源优化 通过CES查看RDS监控指标,例如CPU、内存、磁盘的使用率,如果当前配置过高,可以通过规格变更降低配置。 监控RDS资源闲置情况,及时删除闲置的实例。 如果您的业
distinct与group by优化 场景描述 使用distinct或group by的语句执行比较慢。 原因分析 大部分情况下,distinct是可以转化成等价的group by语句。在MySQL中,distinct关键字的主要作用就是去重过滤。 distinct进行去重的原
该场景下,SQL语句一般比较简单,执行效率也高,数据库侧优化余地小,需要从业务源头优化。 解决方案: 单纯的QPS高导致CPU使用率过高,往往出现在实例规格较小的情况下。例如:1U、2U、4U,建议升级实例CPU规格。 优化慢查询,优化方法参照场景1 慢查询导致CPU升高的解决方案。若优化慢查询后效果不明显,建议升级实例CPU规格。
JDBC是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,在PostgreSQL中JDBC支持故障转移和负载均衡。 表1 libpq和JDBC驱动支持的功能 驱动 读写分离 负载均衡 故障转移 libpq驱动 √ × √ JDBC驱动 √ √ √ libpq实现故障转移和读写分离 通
是 Integer 数据库代理路由模式。取值范围: 0:表示权重负载模式。 1:表示负载均衡模式(数据库主实例不接受读请求)。 2:表示负载均衡模式(数据库主实例接受读请求)。 如需使用负载均衡模式,请联系客服申请 表3 readonly_instances字段数据结构说明 参数
查看两台主机OS版本是否一致:同为centos7.4。 查看网卡速率是否一致。 查看内核参数配置是否一致,发现备份失败主机未做优化,备份成功的主机有做网络参数优化。 初步判断问题与TCP缓存参数设置相关,将成功ECS主机的内核参数覆盖到问题ECS主机上并使其生效,运行备份任务,备份任务未再中断,成功完成了备份。
路由模式。 负载均衡实例选择 仅“负载均衡”模式需设置。选择需要参与负载均衡的只读实例。 选择负载均衡时,数据库代理会按照后端数据库节点的活跃连接数情况,来进行读请求的转发,将读请求转发到活跃连接数少的数据库节点上。 对于成功开启读写分离功能的实例,您可以设置负载均衡实例。具体操作请参见设置延时阈值和路由模式。
解决方案 复杂查询语句导致磁盘打满,建议客户从业务侧优化响应查询语句,常见优化措施: 加上合适的索引。 在where条件中过滤更多的数据。 重写SQL,优化执行计划。 如果不得不使用临时表,那么一定要减少并发度。 临时规避措施:考虑业务侧优化复杂查询语句需要一定时间,可以通过临时扩容磁盘空间规避。
前的读请求会通过负载均衡模块分流至只读实例。 注意事项 某些业务对全局一致性有要求,开启事务拆分后将不满足全局一致性,因此在开启事务拆分前请评估事务拆分功能是否适用于您的业务。 代理实例的状态必须均为“正常”。 开启事务拆分时,需要将代理更新至最新版本,新版本优化了事务的处理逻辑。
RDS数据库连接数满的排查思路 数据库连接数表示应用程序可以同时连接到数据库的数量,与您的应用程序或者网站能够支持的最大用户数没有关系。 数据库连接数过多,可能会导致业务侧无法正常连接,也会导致实例全量备份和增量备份失败,影响业务的正常使用。 排查思路 请及时排查业务侧连接是否有效,优化实例连接,释放不必要的连接。
CPU使用率高问题排查与优化 内存使用超限风险与优化 磁盘性能带宽超上限 联合索引设置不当导致慢SQL 数据库磁盘满导致被设置read_only Binlog未清理导致磁盘占用高 业务死锁导致响应变慢 MySQL只读实例磁盘占用远超主实例 RDS for MySQL CPU升高定位思路 冷热数据问题导致sql执行速度慢
内存使用超限风险与优化 RDS for MySQL内存说明 RDS for MySQL的内存大体可以分为GLOBAL级的共享内存和SESSION级的私有内存两部分: 共享内存是实例创建时根据参数值分配的内存空间,并且是所有连接共享的。 私有内存用于每个连接到MySQL服务器时才分配各自的缓存,且只有断开连接才会释放。
查看Time和State列,如下图,长事务的ID为4038566。 得到需要优化的查询后,您可以使用华为云数据管理服务(Data Admin Service,简称DAS),通过SQL诊断查询,您可获知资源消耗大、执行耗时长、执行次数频繁的SQL语句。可根据诊断建议进行优化,保持数据库性能的稳定性。 登录到数据管理服务控制台。
慢SQL分析功能通过对实例记录的慢SQL进行用户来源、IP来源、SQL模板等多维度统计聚合,以及时序趋势分析,多角度识别慢SQL,方便快速业务SQL优化。 操作步骤 登录管理控制台。 单击管理控制台左上角的,选择区域。 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
正常情况下,设置了Binlog过期时间,当Binlog备份至OBS,且超过过期时间后,会自动清理,如果长时间未清理,需考虑是否有其他复制异常因素导致。 排查思路: 查看MySQL的错误日志,查找是否有类似无法purge binlog的日志记录。 2022-01-18T05:39:03.139207+08:00
for MySQL数据库代理支持权重负载和负载均衡路由模式,可根据需要配置不同的路由模式。 权重负载:根据您设置的读权重比例分发读请求。 负载均衡:根据数据库节点的活跃连接数情况进行读请求分发,将读请求分发到活跃连接数较少的节点上。负载均衡模式不需要修改权重。 更多关于路由模式的内容请参见设置延时阈值和路由模式。
route_mode 否 Integer 数据库代理路由模式。取值: 0:表示权重负载模式。 1:表示负载均衡模式(数据库主节点不接受读请求)。 2:表示负载均衡模式(数据库主节点接受读请求)。 如需使用负载均衡模式,请联系客服申请 nodes_read_weight 是 Array of objects
开启或关闭访问控制 数据库代理实例开启了负载均衡,数据库代理实例的安全组不生效,默认不限制连接数据库代理的源IP地址,需通过访问控制功能限制源IP地址。 如果管理控制台上没有显示开启访问控制功能的按钮,说明数据库代理实例安全组会生效,不需要使用访问控制功能。 开启访问控制 登录管理控制台。