原文地址:Challenges Monitoring MySQL Performance
原文作者:Pinal Dave
MySQL 是最流行的关系数据库管理系统 (RDBMS) 之一。应用程序现在变得越来越依赖数据,并且他们期望数据库应用程序具有更高的性能。每个数据库系统在优化配置时都表现良好。然而,真正的挑战是如何监控所有配置,尤其是最重要的配置。
让我们学习监控 MySQL 性能的挑战。
我们为硬件设置自动配置了所有值,并动态适应不断变化的工作负载。这其中最大的挑战是为我们的数据库确定最重要的配置并在现实世界中对其进行监控。
今天的博客讨论了监控 MySQL 性能的三个最大挑战及其潜在的解决方案。
1) MySQL的多平台安装
MySQL 支持多种平台,如 Linux、Windows 等。由于它适用于多个平台,MySQL 监控变得更具挑战性,因为它通常受到安装它的操作系统的影响。如果您的组织支持多个平台,那么监控所有参数会变得更加复杂,因为某些参数只影响特定平台。
让我在变量 join_buffer_size 的帮助下进行解释。当无法为任何查询添加索引时,增加此变量的值以获得更快的连接。现在这个变量的值对于每个操作系统都是不同的。
变量 join_buffer_size:
默认值:262144
最大值(Windows):4294967168
最大值(其他,64 位平台):18446744073709551488
最大值(其他,32 位平台):4294967168
现在您可以看到在不同平台上监控具有不同值的此类变量是多么困难。当管理系统的日常职责有这么多需要监控的事情时,DBA 很难记住所有的细节。
2) MySQL 配置变更历史
MySQL 中有超过 500 多个配置变量。并非所有变量都相同,它们对服务器性能的影响也各不相同。据观察,当 MySQL 中的任何配置更改时,更改的影响不会立即可见。
经常观察到,变量变化的影响在几小时甚至几天后就显现出来了。任何有经验的 DBA 都经常遇到配置没有变化的情况;但是,MySQL 服务器的性能突然下降。DBA 的生活很艰难,因为他们必须对许多可以更改配置的系统进行故障排除。当发生未知和不可预测的情况时,拥有所有配置的更改日志历史记录至关重要,这样 DBA 可以返回并观察更改及其对时间线的影响。
3)MySQL数据库中所有服务器的统一视图
大多数组织在多个平台上安装了多个关系数据库。多个数据库通常在几年内逐渐安装。对于执行不同业务例程的所有数据库,通常具有不同的配置(和平台)。
当一台或多台服务器发生灾难,这是DBA 面临的最大挑战。在我早期的职业生涯中,我对 MySQL 服务器崩溃的第一反应,就是是找到一个合适的备用服务器来驱动崩溃的服务器的流量。一旦当前的灾难被克服,DBA 的下一个任务就是进行根本原因分析,他们必须找出服务器出了什么问题,以及将来如何避免这样的灾难。
所有这些都需要所有服务器的统一健康状况。始终需要所有受监控数据库服务器的统一视图,以帮助 DBA 根据各种可用指标主动监控所有服务器。
解决方案:MYSQL 的 SQL 诊断管理器
监控 MySQL 性能至关重要,但如果没有任何第三方工具的帮助,这并不容易。我已经为 MySQL 使用 SQL DM好几年了,我可以轻松应对一些常见的挑战。它轻松克服了我在博文中提到的三个关键问题,并帮助我们主动监控所有关键接触点。确实有解决监控 MySQL 性能的挑战的解决方案。