前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云数据库(MySQL)监控最佳指南

腾讯云数据库(MySQL)监控最佳指南

作者头像
腾讯云可观测平台
发布2020-12-10 10:41:16
3.6K0
发布2020-12-10 10:41:16
举报

作者:赵珣  腾讯云监控工程师

简介

云数据库 MySQL(TencentDB for MySQL)是腾讯云基于开源数据库 MySQL 专业打造的一种高性能分布式数据存储服务,提供了备份恢复、监控、容灾、快速扩容、数据传输等全套解决方案,简化数据库运维工作,让用户专注于业务发展。

云数据库 MySQL 的优势:

  1. 快速便捷的数据库服务交付能力,在几分钟内部署可扩展的 MySQL,并可按需弹性升降配置;
  2. 真正 100% 的 MySQL 兼容能力,主流 MySQL 分支完全兼容;
  3. 提供热备、冷备、binlog 三重灾备体系,可用性达到 99.95%,可靠性达到 99.9996%,确保服务可用,数据不丢失;
  4. 提供一系列数据库管理服务:监控、备份、回档、扩容、性能诊断、数据迁移等;
  5. 实例最高 QPS 可达 245509 次 / 秒,极大的简化业务开发,减少业务架构复杂度;
  6. 卓越的高可用,支持多可用区部署,跨城容灾的能力。

技术架构

01

云数据库 MySQL 技术架构

云数据库 MySQL 高可用版完全兼容 MySQL,并且采用一主 N 从的高可用模式,实时热备,提供宕机自动检测和故障自动转移。

数据节点部署在强大的硬件之上,底层存储使用本地 PCI-e SSD 硬盘,提供强大的 IO 性能。

可以覆盖游戏、互联网、金融、物联网、零售电商、物流、保险、证券等行业应用。

技术特征

01

多实例

  • 只读实例:只开放读能力,分担主实例读压力,实现读写分离;
  • 主实例:可读写,主从实时热备,保证高可用,支持一主两从强同步,零误差,无错乱;
  • 异地灾备实例:满足跨地域容灾金融级需求。

02

数据迁移

  • 无需停机迁移,数据迁移时对业务无影响;
  • 数据完成同步后,仅需切换数据库读写 IP 到云数据库 MySQL,即可完成迁移任务。

03

异地灾备 -- 金融行业

  • 两地三中心部署架构 —— 同城节点直线距离大于 10KM,异地节点直线距离大于 100KM;
  • 同城多可用区网络互通,且网络延迟低于 5ms;
  • 多地域间使用多地域之间使用腾讯云专线连接,广州 - 上海同步延迟仅三十余毫秒。

04

备份和回档机制

  • 云数据库 MySQL 每日自动冷备,备份于业务低峰期在备机上完成,不影响现网业务;
  • 每份冷备数据保存 3 份副本,实现数据强一致性,保证数据不丢;
  • 支持逻辑备份和物理备份两种备份方式:
  1. 逻辑备份支持导出 SQL 文件,可仅针对部分库表回档,适合需要细粒度回档的场景;
  2. 物理备份速度极快,支持增量备份,但需对整个实例回档,适合需要频繁备份数据的场景。

作为云监控,我们在努力

云监控为用户提供了统一监控云数据库 MySQL 的平台,可以通过使用云监控全面了解云数据库 MySQL 的资源使用、引擎性能和运行状况,提供指标分类、预设常用告警指标、预设核心指标的 Dashboard 面板。帮助用户更轻松的理解云数据库 MySQL 的指标,更方便、快捷的掌控云数据库 MySQL 出现的突发情况,提升运维效率,减少运维成本。

01

监控指标及其分类

1.1 监控实例分析

对云数据库 MySQL 实例的架构进行分析,其主要分为三个部分:网络连接层、服务层、存储引擎层。

网络连接层

客户端连接器:提供与 MySQL 服务器监理连接的支持。各个语言使用各自的 API 技术与 MySQL 建立连接。

服务层

服务层是 MySQL 的核心,主要包含以下五个部分:

  1. 连接器:管理缓冲用户连接,线程处理,权限验证等需要缓存的需求;
  2. 查询缓存:将客户端提交 给 MySQL 的 Select 类 query 请求的返回结果集 cache 到内存中,与该 query 的一个 hash 值做一个对应。缓存机制是由一系列小缓存组成,比如表缓存、记录缓存、权限缓存、引擎缓存等;
  3. 分析器:将客户端发送的 SQL 进行语义和语法的分析,分解成数据结构,生成 "解析树"。预处理器根据规则进一步检查 “解析树” 是否合法,最终生成新的 “解析树”;
  4. 优化器:当 “解析树” 通过解析器语法检查后,交由优化器对查询进行优化,将其转换成执行计划;
  5. 执行器:执行优化器给出的执行计划,然后存储引擎交互。

存储引擎层

存储引擎负责 MySQL 中数据的存储和提取,与底层系统文件进行交互,云数据库 MySQL 主要使用 InnoDB 引擎和 MyISAM 引擎。

1.2 指标分类

腾讯云监控对云数据库 MySQL 的每一部分进行相应指标的监控,并将指标进行分类,以便用户理解和使用,详细指标见附录。

02

预设专家建议核心告警指标

腾讯云监控与云数据库 MySQL 业务侧经过讨论,根据多年运维经验,提供常用告警指标和阈值的专家建议。用户配置告警时,页面将默认显示预设的指标及阈值建议,支持修改,方便用户快速配置告警策略。

磁盘利用率 > 80%

MySQL 实例可能因长时间运行,未进行磁盘及数据管理等原因,导致磁盘使用率升高,从而影响业务正常运行。尤其当实例显示 “磁盘空间满” 状态,数据库不可进行写入操作,会有实例异常、数据库备份失败、数据库实例只读状态等潜在风险。

为避免业务因磁盘利用率过高而受影响,设置磁盘利用率 > 80% 告警,当接收到告警后,建议根据实际情况采用磁盘容量扩容、迁移冷数据等解决方案确保磁盘有一定的冗余度,保证数据库的正常使用。

CPU 利用率 > 80%

系统执行应用来进行提交查询(包括数据修改操作)时需要大量的逻辑读(逻辑 IO,执行查询所需访问的表的数据行数),所以系统需要消耗大量的 CPU 资源以维护从存储系统读取到内存中的数据一致性。若 MySQL CPU 的利用率长时间处于 100%,会严重影响数据库的整体性能,极端情况下可能会出现实例 HANG 住的情况。

为避免业务因 CPU 资源不足而受影响,设置 CPU 使用率 > 80% 告警,当接收到告警后,建议从应用架构、实例规格等方面来解决,例如:

  • 升级实例规格,增加 CPU 资源;
  • 增加只读实例,将对数据一致性不敏感的查询转移到只读实例上,分担主实例压力。

内存利用率 > 80%

MySQL 的内存是重要的性能参数,常出现由于低效 SQL 请求以及待优化的数据库导致内存利用率过高甚至超过 100% 的情况。内存利用率过高容易引起服务响应速度变慢,严重时还会触发内存 OOM 进而发生主备切换。

为避免业务因内存利用率过高而受影响,设置内存利用率 > 80% 告警,当接收到告警后,建议对内存利用率过高的实例进行业务优化或者升级内存空间。

连接数利用率 > 90%

监控服务的连接情况相当重要,因为一旦可用连接耗尽,新的连接就会遭到拒绝,故而云数据库 MySQL 提供了指标:连接数利用率 = 当前打开的连接数 / 最大连接数。

为避免业务因可用连接耗尽而受影响,设置连接数利用率 > 90% 告警,当收到告警后,建议根据实际情况释放无效连接、优化有用连接或者增大连接数限制。

03

预设核心指标 Dashboard 面板

为了让用户更快捷、更方便的监控云数据库 MySQL 的资源使用、运行等状况,腾讯云监控将核心指标配置成预设 Dashboard 面板,用户可直接进入云监控的 Dashboard 页面,无需进行其他配置,即可看到如图所示的云数据库 MySQL 的 Dashboard 预设面板。

当用户选择自己已有的实例后,便可自动展示预设的资源、引擎连接和引擎访问等核心指标的监控 Dashboard,提升用户体验,降低使用成本。

  • 监控 CPU 利用率、磁盘利用率、内存利用率、内网入流量、内网出流量等资源,配合告警,当监控值超过某一值时,要关注是否需要扩容;
  • 监控 QPS、TPS、当前打开的连接数的量,提前感知数据库的状态。如果发现监控值突增,可能是业务出现了问题,需要根据实际情况定位问题,提前做好数据库的扩容和优化;
  • 监控慢查询数和全表扫描数,如果出现,及时查看哪些 SQL 语句引起的慢查询,然后可能需要对这些 SQL 或者服务做优化。

附录:

欢迎联系云监控小助手微信号,加群讨论:)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云可观测 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档