我对采样概念有一个简要的了解,并观看了一些火焰图视频。开始为电子商务 Web 应用程序(由Odoo Monolic
提供支持,Python
带有 Werkzeug WSGI 服务器)进行性能分析,我有一些问题。
采样时,我是否必须在应用程序上产生负载才能很好地理解火焰图?但是如果我产生更多的负载,多个请求可能会命中同一个函数 A(例如),这意味着函数 A 大部分时间都花在 CPU 上,所以我不应该假设函数 A 性能不好?
如何为 Web 应用程序收集样本:由于它是 Web 应用程序,它具有注册、销售、购买等多种功能。我是否按功能按请求收集样本?像下面
- 启动应用程序
- 开始采样
- 仅访问注册页面并做事
- 停止采样
这样,我只能根据单个请求为每个功能生成样本/火焰图
我是否已经多次完成整点 2 以更好地了解应用程序性能
如果我们考虑整个应用程序,有多个代码路径,取决于请求,一些代码路径(例如以上几点)花费大量时间在 CPU 上,哪些是有意义的,如何分析哪些是坏功能(花费大量时间在 CPU 上)
我相信我在采样概念和应用程序性能监控方面遗漏了一些要点。有人可以指导我吗?
如何解释采样/火焰图以及如何采样。