MySQL是一个开源的关系数据库管理系统,它基于客户端-服务器模型运行,使用SQL作为其通信模式。它具有灵活性和可扩展性、高安全性、易用性以及无缝处理大型数据集的能力,由于其广泛的功能,MySQL 被用作数据库管理系统的一部分。
MySQL 监控跟踪关键 MySQL 组件(如数据库、查询、线程、连接、复制和会话)的性能行为,以全面了解数据库管理系统。作为任何数据库管理策略不可或缺的一部分,MySQL监控用于在检测到性能漏洞时立即提醒管理员,并生成报告以分析此类挫折背后的原因。具有复杂IT结构的组织倾向于依赖MySQL监控工具(如Applications Manager),这些工具非常专注于帮助用户从性能角度了解其数据库系统的运行方式,并深入到各个组件以实现异常检测和故障管理。
虽然有大量的监控解决方案可供选择,但要找到可以完全覆盖MySQL环境的解决方案将是一剂强心针。选择监视工具时的最佳做法之一是使用可以暴露性能问题并知道在哪里查找它们的服务。在本文中,我们将介绍一些需要使用工具监控的最重要的 MySQL 指标,以及监控如何使您受益。
每个监视工具都应具有的一个基本功能是能够将整个MySQL系统的运行状况作为一个单元提供。这有助于您了解数据库进程是否畅通无阻地平稳运行,并确保跨 MySQL 组件顺利交付服务。Applications Manager 在概述仪表板中提供MySQL数据库的运行状况,可以进一步分析停机时间,正常运行时间,平均修复时间(MTTR)和平均故障间隔时间(MTBF)等统计信息。
数据库服务器中存在太多活动连接有时会导致服务器过载。最佳做法是拥有一个MySQL监视工具,该工具可让您深入了解活动和打开的连接数,作为过载问题的对策。此外,分析服务器已终止或中止的进程有助于预测可能导致连接失败的因素。Applications Manager 提供的信息可帮助您了解 MySQL 服务器中客户端进程的连接状态。还可以访问其他统计信息,可以为重要指标分配阈值,这些指标将在检测到违规时触发警报。
Applications Manager 还跟踪其他集群元素,如线程、表锁和键命中率,MySQL 监视器有助于清楚地了解可以处理请求的线程数、可以分配或拒绝表锁的次数以及导致读取的请求数。缺少缓冲区缓存通常会导致性能中断。
要监控的指标:MySQL 运行状况、可用性、连接时间、请求速率、字节传输速率、打开或中止的连接计数、中止的客户端计数、线程使用计数、缓存线程计数、线程缓存大小、成功或不成功的锁定计数、密钥命中率、密钥缓冲区使用情况、密钥缓冲区大小等。
在MySQL系统中处理多个数据库时,明智的做法是在单个监视仪表板中跟踪所有数据库,从而更轻松地隔离有故障的数据库。Applications Manager 有一个专用面板,该面板使用饼图来显示分配给系统内所有数据库的空间。它还细分每个数据库以提供统计信息,例如总内存 (MB)、索引大小 (MB)、表计数和运行状况。通过一目了然地监控每个数据库的运行状况,您可以轻松识别需要注意的数据库,并进一步分析它们以修复即将发生的问题。
要监控的指标:数据库的名称、总大小 (MB)、索引大小 (MB)、表计数和运行状况。
MySQL以高可用性而闻名,这要归功于其通过数据复制提供的灾难恢复功能,通过创建主数据库集群的多个副本,MySQL 可确保在出现连接中断问题时无缝传输数据。但是,即使是这种万无一失的故障转移方法也容易出现性能下降。复制滞后就是这样一个问题,每当从进程落后于主进程时,通常会发生复制滞后,其中从线程经常被发现是罪魁祸首。由于无数原因,从属 I/O 和从属 SQL 线程可能会变慢,这很容易导致复制延迟。
为了帮助识别和纠正复制滞后,Applications Manager 提供了一个图表,显示主进程和从进程之间的时间滞后,复制滞后可以一目了然地识别出来。如果确定存在时间延迟,您可以查看从进程、从站I / O和从属SQL状态,以找出问题的根本原因。
要监控的指标:复制状态、从站 I/O 状态、从属 SQL 状态、主主机、主用户、主端口、上次错误详细信息以及从站和主站之间的时间延迟。
低效查询是导致 MySQL 数据库服务器性能延迟的因素之一。当查询执行时间过长时,它会直接影响数据中心与关联应用程序之间的通信速率。由于有无数的进程在起作用,有时很难确定导致整个系统瘫痪的确切查询。Applications Manager 通过列出前 10 个查询以及基于每个查询的性能速度的平均、总和最大 CPU 持续时间统计信息,使 MySQL 查询监控变得毫不费力。您可以使用此信息来隔离麻烦的查询,并进行必要的优化以提高性能。
要监控的指标:查询执行缓慢、上次执行时间、平均 CPU 时间、总 CPU 时间、最大 CPU 时间和数据库名称。
在尝试了解其操作类型和性能级别时,跟踪MySQL会话会派上用场。Applications Manager 有一个专用面板,其中列出了MySQL服务器中发生的每个用户会话,其中包含有关查询语句,内存和CPU消耗,用户详细信息,数据库详细信息以及触发会话的程序的信息。借助该工具的 MySQL 会话监控功能,可以更轻松地根据消耗的内存量检查为会话指定的内存。这有助于清除当没有足够的内存可供客户端存储结果时发生的内存不足错误。
要监控的指标:会话进程 ID (PID)、状态、用户详细信息、数据库名称、程序名称、内存使用情况 (KB)、CPU 时间 (ms)、锁定延迟 (ms)、命令类型、线程查询、上次查询类型和上次查询 CPU 时间 (ms)。
监控 MySQL 数据库服务器时最常见的挑战之一是缺乏对用户定义变量的可见性。通过仔细跟踪MySQL数据库中配置的预定义值集,IT管理员可以通过执行根本原因分析并对系统进行必要的调整来轻松纠正潜在错误。例如,当客户端处于非活动状态的时间超过在 wait_timeout 或 interactive_timeout 变量下声明的值时,通常会发生连接超时错误。同样,每当活动连接数超过max_connection计数时,通常会发生连接过载问题。如果遇到“表已满”错误,可以根据temp_table_size变量检查表计数。
Applications Manager 的MySQL监视器具有专用的与单个统一平台中的其余监视功能集成的配置部分。这使 IT 管理员可以轻松地针对数据库指标运行配置变量,从而清楚地了解发生的任何错误。
选择一个MySQL监控工具,该工具可以借助其多维跟踪功能查看数据库环境的每个角落。这不仅可以对问题进行故障排除,而且拥有一个监控 MySQL 数据库所有关键元素的控制台为执行深入的根本原因分析和提高整体性能输出铺平了道路。
Applications Manager 旨在通过其广泛的功能和全天候的警惕性来减轻管理MySQL数据库系统的负担。