上云无忧 > 文档中心 > 百度智能云云数据库RDS MySQL慢日志最佳实践
云数据库 RDS
百度智能云云数据库RDS MySQL慢日志最佳实践

文档简介:
慢日志明细: 历史慢SQL实时统计,方便数据库管理员对慢查询语句进行分析,快速定位系统正在进行的性能问题。 错误日志明细: 开启和关闭MySQL服务的时间和服务运行中异常情况的统计,用于MySQL服务出现异常时,及时查找原因。 for MySQL 版
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

使用场景

慢日志明细: 历史慢SQL实时统计,方便数据库管理员对慢查询语句进行分析,快速定位系统正在进行的性能问题。

错误日志明细: 开启和关闭MySQL服务的时间和服务运行中异常情况的统计,用于MySQL服务出现异常时,及时查找原因。

功能介绍

慢日志明细用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志明细中。

错误日志明细记录了MySQL Server每次启动和关闭的详细信息以及运行过程中所有较为严重的警告和错误信息。

操作步骤

通过控制台查看

  1. 登录云数据库 RDS 管理控制台
  2. 在左侧导航栏找到“产品服务”-“数据库”-“云数据库 RDS”
  3. 在页面左上角,选择实例所在地域
  4. 找到目标实例,单击实例ID
  5. 在实例ID下面的导航栏中单击“日志管理”
  6. 在“日志管理”页面可看到“慢日志明细”和“错误日志明细”

    • “慢日志明细”,展示的是按分钟粒度统计的慢SQL。可选近一周数据,默认显示“近一天”。如下图所示:

    • “错误日志明细”,展示的是按分钟粒度统计的错误日志。可选近一周数据,默认显示”近一天“。如下图所示:

通过命令查看

  1. 通过数据库管理工具登录RDS管理控制台
  2. 在顶部菜单栏点击SQL窗口

    • 执行命令select * from mysql.slow_log;,获取慢日志明细数据
    • 执行命令show variables like 'log_error';获取错误日志明细数据

最佳实践

举例:当前系统响应比较慢,如何利用慢SQL功能进行定位?

  1. 系统响应慢是进行时,需要用“慢日志明细”功能进行分析
  2. 慢SQL统计信息里,可以查看具体的SQL,排在Top的SQL需要重点关注。一般情况下,SQL不会无故变慢,需要根据执行次数、执行时间、返回行数、解析行数进行分析,常见情况:

    (1) SQL解析行数比返回行数多得多:很可能是SQL没有合理使用索引导致。
    (2) SQL执行次数比较多,而解析行数和返回行数都比较少:一般是并发太大导致SQL堆积,而使整个系统响应变慢。
    (3) SQL解析行数和返回行数都比较多:一般SQL本身没有太大优化空间,需要业务层面进行优化。
    (4) 业务流量太大导致系统响应变慢:写流量比较大,可考虑百度智能云 云数据库 DRDS ,利用DRDS的分片扩展特性,提升整个集群的写能力和存储容量;读流量比较大,可考虑百度智能云只读实例和代理号实例,利用代理实例的读写分离和负载均衡特性,分摊主库的读流量压力。另外,客户也可在BCM设置慢查询和系统资源方面的监控报警,当感知到系统存在性能压力时,可以通过“慢日志明细”及时分析。

相似文档
  • 数据容灾对于每个存储系统来说,都是不可缺少的,数据库也不例外。对于数据可用性有强需求的业务场景如金融、游戏业务等场景尤其如此。数据库容灾主要通过多副本架构来保证,同时可以通过定时备份数据、主从同步数据方法来保障数据高可用。在复杂网络情况,用户往往还会需要能有跨机房、跨可用区、跨地域的数据容灾能力。 for MySQL 版 for SQL Server 版 for PostgreSQL 版
  • 在数据库的使用过程中,随着流量的不断增长,需要对RDS实例进行扩容以满足高并发的性能要求,扩容方案一般情况下分为如下两类: 纵向扩展(Scale-Up)方案:升级RDS实例的套餐规格,通过增加CPU和内存的配置,提升数据库性能。 for MySQL 版 for SQL Server 版 for PostgreSQL 版
  • 在数据库的使用过程中,如果遇到误操作导致的数据删除、数据篡改等问题,可以通过RDS克隆实例功能实现数据修复。克隆实例的数据恢复方式分为如下两种: for MySQL 版 for SQL Server 版 for PostgreSQL 版
  • 读写分离原则: 事务、写请求或同一个session写请求之后一段时间(默认200ms)内的读,会发往主库。 读写分离不保证非事务读的一致性,业务上有一致性需求的查询,请封装到事务。 对业务要求: 业务有连接探活或超时机制。超时时间为:前端超时时间 < 代理超时时间 < MySQL超时时间。 业务端有重试机制。 for MySQL 版 for SQL Server 版 for PostgreSQL 版
  • 在生产环境中,经常会遇到这样的情况:客户在主实例对一个没有索引的表执行大批量数据的update或delete操作。如果主从采用ROW模式复制,主库只需要全表扫描一次,从库却需要对主库影响的每一行数据都做一次全表扫描,往往会造成从库非常大的同步延迟,这种情况一般不能被业务所容忍。 for MySQL 版
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部