互联网安全十分重要,网站认证能够提升网站可信度。

数据库监控的正确方法可以提高应用程序性能和可用性

网络安全 李胜利 314℃ 0评论

如今,许多组件有助于应用程序的性能,但数据库是这些技术堆栈的基础。当应用程序运行不良时,通常是由于数据库级别的问题,包括:服务器停顿,不佳的查询性能或延迟不佳。

  这些只是工程团队每天遇到的常见数据库相关挑战其中的三个。良好的数据库性能监控可以帮助数据库管理员,开发人员和工程师快速诊断并解决这些问题。但是IT人员需要知道什么才能选择正确的方法?

数据

为了回答这个问题,IT人员需要首先了解应用程序监视结束和数据库监控的开始。

应用程序的监控还不足够

企业的多层架构大部分是无状态的,从而需要构建现代应用程序,这使得这些应用程序易于管理和扩展。但这也使得他们非常苛刻,发送无数次,有时是任意查询数据库,并假设他们将表现良好。因为他们是“有状态的”,所有的重载都被委托给数据库。

虽然大多数企业的主要关注点是应用程序性能,但这并不意味着企业只能关注使用应用程序性能监视(APM)工具监视应用程序。APM工具可以帮助企业识别缓慢的应用程序事务,但它们通常无法帮助诊断或解决问题。问题识别显然很重要,但要快速诊断并解决企业需要深入数据库的问题。

数据库的监控要点

数据库监控涉及的不仅仅是图形计数器和随着时间推移的CPU利用率。在一个复杂的现代架构中,数据库可能是系统性能问题的主要原因,并且解决问题的根源需要深入挖掘。它从查询监视和工作负载分析,深入挖掘,以及异常检测开始。

1.查询监视和工作负载分析数据库唯一的原因是运行工作负载来执行查询。因此,了解数据库是否健康和运行良好的唯一方法是衡量重要性:其工作负载是否成功,快速,一致地完成。查询需要整体和单独测量,需要深入分析。查询工作负载是巨大而复杂的数据集。数据库管理员和工程团队需要能够深入到个别的陈述执行以检查具体细节;自动捕获和分析查询执行计划(EXPLAIN计划);聚合和分段查询快速找到大问题;并在不同的时间段内比较工作负载变化。

2.向下挖掘和缩放为了有效监控大型的分布式混合系统,监控工具必须呈现聚合视图,并能够快速放大并向下挖掘到最高级别的细节。没有高级的视图,监测是不可扩展的;但是没有挖掘,无法有效解决问题。企业需要通过多个维度快速向下挖掘和放大,其中包括:主机,标签,用户,角色和时间范围。对于大容量高度可扩展的环境,企业需要至少一秒的粒度和微秒精度,因为查询性能通常为亚毫秒级。企业还必须能够深入了解各个查询,磁盘或进程。

3.异常检测。对于数据库监控,数据量通常比通过基本系统监控产生的数据量要大几个数量级。人类无法开始处理数据量和数据的复杂性。传统的监控工具可让企业生成关于静态阈值的警报,例如“CPU超过90%”,但是这种方法没有扩展。系统不断变化;例如凌晨2点正常,而在下午2点的期望有很大的不同,曾经有意义的门槛可能在另一个内容中变得无关紧要。这就是为什么所有现代监控工具都提供某种形式的异常检测的原因。然而,对于数据库监视,由于正在发送的数据的变化和规模,这种能力尤为重要。通过异常检测,企业可以使用“横向逻辑”指标来进行自动基线测量和季节预测,这些指标可以测量“时间到磁盘已满”,而不是在磁盘已满时进行简单的警报。

作为高性能系统的引擎,数据库需要仪器可以快速发现问题和精确调整,以保持正常运行时间和可扩展性。面对不断增长和复杂性,开发人员,工程师和数据库管理员的工作只会越来越严格。充分了解性能指标可帮助用户更好地了解数据库影响整体应用程序性能和可用性的多种方式,以及优化的方法,使应用程序运行在最佳性能。

转载请注明:李胜利博客 » 数据库监控的正确方法可以提高应用程序性能和可用性

喜欢 (2)or分享 (0)