当应用程序在业务中没有任何故障运行时,没有人会打扰。但是,一旦应用程序返回结果变慢,组织中的每个人都想知道原因和解决方案。因此对于任何 DBA,他们都必须了解对其服务器的实时洞察。他们想知道什么是好的,想知道什么可能出错,以便他们采取预防措施。
如果你问我性能监控的频率,我说它应该是实时的和恒定的,让我们在本博客中了解监控的几个关键方面。
服务器指标
让我们谈谈我在客户工作场所观察到的一个令人兴奋的场景。客户的典型抱怨是服务器在拣货工作时间内运行缓慢。他们观察了系统的各种可用资源,并确定 CPU 运行得非常高。他们要求他们的开发人员调整查询以使用更少的 CPU。几天后,他们意识到他们的 CPU 运行速度并不高,但他们的系统仍然很慢。快速查看系统告诉我,这是因为有人在配置文件中更改了 Max Connection 的变量。之前设置为 151,最近改为 51。
过了一会儿,我们检查了性能图表中的各种选择和低谷。我们意识到,每当设置或工作负载发生任何变化时,都会直接影响其他指标和查询性能。
应该实时监控许多不同的变量和指标,以全面了解服务器。除了变量之外,还应该注意重要的错误指标,以了解是否存在任何错误配置会影响系统性能。
MySQL 警报(针对感兴趣的事件)
虽然有些指标很容易衡量,但有些指标很难衡量和解释。任何 DBA 都需要知道服务器上发生了多少感兴趣的事件及其潜在影响。DBA 面临的另一个挑战是事件的及时警报。在大型组织中,可能有许多不同的平台和服务器。DBA 不可能坐在平静的服务器前观察各种指标。获得任何感兴趣事件的通知而不是仅仅盯着电脑屏幕是有意义的。
有数百个配置参数和许多查询;DBA 经常很难关注感兴趣的事件。
MySQL 性能模式
MySQL Performance Schema 是一种用于在低级别监控 MySQL Server 执行的功能,它还在运行时检查服务器的内部执行。近年来,我广泛使用性能模式来了解服务器的行为和查询。性能模式中有许多不同的表,其中包含有用的信息。我总是在events_statements_summary_by_digest表的帮助下开始对服务器的调查,该表显示了查询和索引的许多重要指标。
解决方案:MySQL 的 SQL 诊断管理器
任何数据库应用程序都需要持续且强大的实时监控才能有效运行。如果在服务器中发现任何负面趋势,DBA 应保持各种指标并采取预防措施。我更喜欢使用SQLDM for MySQL来实时监控我的数据库。在各种监控图表和警报机制的帮助下,我会在任何潜在的性能问题出现之前采取行动。SQLDM for MySQL 拥有 600 多个监视器和顾问,让 DBA 的生活变得轻松高效。
参考: Pinal Dave ( http://blog.SQLAuthority.com )
原文标题:Real-Time Monitoring of MySQL Server
原文作者:Pinal Dave
原文地址:https://blog.sqlauthority.com/2022/06/23/real-time-monitoring-of-mysql-server/




