sampling - 如何分析 Web 应用程序的火焰图
问题描述
我对采样概念有一个简要的了解,并观看了一些火焰图视频。开始为电子商务 Web 应用程序(由Odoo Monolic
提供支持,Python
带有 Werkzeug WSGI 服务器)进行性能分析,我有一些问题。
采样时,我是否必须在应用程序上产生负载才能很好地理解火焰图?但是如果我产生更多的负载,多个请求可能会命中同一个函数 A(例如),这意味着函数 A 大部分时间都花在 CPU 上,所以我不应该假设函数 A 性能不好?
如何为 Web 应用程序收集样本:由于它是 Web 应用程序,它具有注册、销售、购买等多种功能。我是否按功能按请求收集样本?像下面
- 启动应用程序
- 开始采样
- 仅访问注册页面并做事
- 停止采样
这样,我只能根据单个请求为每个功能生成样本/火焰图
我是否已经多次完成整点 2 以更好地了解应用程序性能
如果我们考虑整个应用程序,有多个代码路径,取决于请求,一些代码路径(例如以上几点)花费大量时间在 CPU 上,哪些是有意义的,如何分析哪些是坏功能(花费大量时间在 CPU 上)
我相信我在采样概念和应用程序性能监控方面遗漏了一些要点。有人可以指导我吗?
如何解释采样/火焰图以及如何采样。
解决方案
推荐阅读
- javascript - 为什么在我导入脚本时 JS 给我一个未定义的错误?
- zsh - 如何完成一组或多组重复的互斥选项?
- git - 我 git aborted rebase 并失去了我所有的工作
- excel - 为什么我会收到此编译错误:类型不匹配
- flutter - 无效值:有效值范围为空:0 Flutter
- reactjs - 将状态从一个组件传递到另一个组件
- excel - VBA Excel 宏另存为脑筋急转弯
- r - {assertr} 用于多变量条件限制
- arrays - Swift在方括号包装数组之后立即关闭做什么
- android - 为什么 bliss os 使用 qemu 会在启动时挂起?