/uploads/20180930/14d158257f7f470b359786d2191c82cf.jpg
首页 > 新闻资讯 > 大数据在应用性能管理中的角色
2019-01-09

大数据在应用性能管理中的角色

    关于大数据方法是否与应用性能管理(APM)有关,目前仍存在某些争论。一些专家表示,即使没有大数据方法,复杂的分析和采样数据也足以应对监测和诊断。

    作为一名APM从业者,我对上述观点难以苟同。APM不仅具备监测与警报功能,还可帮助用户了解和提升应用性能。大数据方法提供的完整且正确的数据和分析功能可以帮助我们不断提升应用性能。

大数据在应用性能管理中的角色

    大数据的主要作用是帮助我们在无需提出假设,设计采样策略,并通过实验来测试一组理论的情况下获得直接信息。我们通过大数据方法来了解问题的全貌,并由此得到完整且正确的分析数据,消除了这一过程中的采样或选择偏差。

    任何一个时点采样、过滤或汇聚的数据,得到的结果都仅代表真相的一小部分

    以下是用大数据方法提高应用问题平均修复时间(MTTR)的主要方法。值得注意的是,能减少MTTR是企业采购应用性能监测解决方案的主要动因。

    大数据如何借助MTTR对性能问题进行分类

    一些性能问题经常干扰应用的运行。大数据方法则可帮助IT人员更有效地分解和克服长尾问题。

    分析明确

    大数据使性能分析不再“模棱两可”。在缺乏*数据的情况下,性能分析会引发猜测并产生误导。所以,学会剔除不相干因素也同样重要。在进行分析时,IT团队经常会在没有详细取证的情况下试图使用既有知识,比如“我们上次遇到的性能问题是关于日志代码的”并频繁导致方向性错误。但有了大数据,我们就可以很快知道“这不是日志代码问题”,因为在没有记录日志代码的前提下我们捕获了所有内容,不必在此浪费时间和精力。

    诊断间歇性问题

    间歇性性能问题通常是最难诊断的,原因如下:

  1. 难以发现问题根源

  2. 没有故障回溯功能

  3. 缺少发现问题的机会

  4. 在这些长期存在的问题中,其环境也在发生变化

  大数据方法则可帮助IT人员快速诊断问题。大数据方法无需预先了解故障情况,因为诊断数据已被全面记录在案。同样,无论问题何时发生以及环境如何变化,取证数据都随时可用。


    分析短暂环境

    大数据方法在诊断云,虚拟化或容器化环境中的问题时非常有效。在这些短暂的应用环境中,应用基础设施不断变化,导致触发/采样方法在组件生效和失效时丢失状态变化。

    了解用户动态

    了解用户群体对于了解全球性能趋势信息非常重要,但若不完全了解步骤,有时则会导致严重的性能问题。单个用户操作可能会导致整个应用出现性能问题。大数据方法则可以确保所有取证数据均可用于还原“事故现场”。

    取证探查与代码审计

    取证探查是APM大数据的优势之一,我们甚至可以发现一些以前未被发现的问题!

    通常,丰富的历史交易细节或高分辨率环境数据会揭示完全无法预见的行为及用户如何使用或破坏应用的极端状况。我总能听到这样的话:“它不应该这样做”,但事实却并非如此。

    持续提升性能

    我们不仅能利用大数据进行监测和诊断,还能有条不紊的减少性能膨胀。深度性能数据的可用性使我们能够专注于持续提升性能。

    使用状况分析

    应用会随着新功能的发布而不断变化,并导致技术和性能问题不断积累。随着时间的推移,一个性能良好的应用也开始变慢。大数据则有助于了解哪些应用组件占用了大量时间,并将主要精力用于优化性能。

    应用生态系统分析

    企业永远不会在完全隔离的情况下设计,构建或运行应用。而某些情况下,不同应用可能会共享系统、网络或基础设施。在其他情况下,应用可能会共享通用函数库,数据或API。共享组件或资源虽然有许多好处,但也会常常导致性能问题影响多个应用。

    大数据方法能帮助应用支持团队在整个应用环境中发现性能问题及其运行模式,而不仅仅是单个应用组件。一旦在单个应用中发现问题,大数据分析方法就会帮助查找具有相同问题或存在风险的其他应用。

    大数据的人为因素

    当关键应用出现性能问题时,其原因可能是质保测试未通过或生产环境大不如前。我们迅速动员“猛虎团队”分析问题并提出建议。我发现分流工作能否成功在很大程度上取决于取证数据的质量。缺乏证据会使团队分裂。需要对多种可能的原因进行研究。另一方面,完整且准确的取证数据消除了模棱两可的情况,有利于凝聚团队,更快的找到解决方案。

    “猛虎团队”绝不会说“我们只需要最少的细节来寻找根本原因!”

    总结

    总体而言,大数据不仅有用,且当涉及到APM时还十分必要。采样并不能为您提供发现和解决动态复合应用环境中问题所需的完整性和数据深度。