首页 > 解决方案 > 如何分析 Web 应用程序的火焰图

问题描述

我对采样概念有一个简要的了解,并观看了一些火焰图视频。开始为电子商务 Web 应用程序(由Odoo Monolic提供支持,Python带有 Werkzeug WSGI 服务器)进行性能分析,我有一些问题。

  1. 采样时,我是否必须在应用程序上产生负载才能很好地理解火焰图?但是如果我产生更多的负载,多个请求可能会命中同一个函数 A(例如),这意味着函数 A 大部分时间都花在 CPU 上,所以我不应该假设函数 A 性能不好?

  2. 如何为 Web 应用程序收集样本:由于它是 Web 应用程序,它具有注册、销售、购买等多种功能。我是否按功能按请求收集样本?像下面

    • 启动应用程序
    • 开始采样
    • 仅访问注册页面并做事
    • 停止采样

    这样,我只能根据单个请求为每个功能生成样本/火焰图

  3. 我是否已经多次完成整点 2 以更好地了解应用程序性能

  4. 如果我们考虑整个应用程序,有多个代码路径,取决于请求,一些代码路径(例如以上几点)花费大量时间在 CPU 上,哪些是有意义的,如何分析哪些是坏功能(花费大量时间在 CPU 上)

我相信我在采样概念和应用程序性能监控方面遗漏了一些要点。有人可以指导我吗?

如何解释采样/火焰图以及如何采样。

标签: samplingperfflamegraph

解决方案


推荐阅读