菜单
开源 RSS

什么是持续分析?

持续分析是一种从生产系统收集和分析性能数据的系统化方法。

传统上,分析按需用于调试应用程序。例如,您可以在本地运行基准测试工具并获取 Go 语言的 pprof 文件,或连接到出现问题的生产实例并从 Java 的 JFR 文件中拉取火焰图。这种方法适用于调试,但对于生产环境不够稳定。

example flame graph

请参阅火焰图了解更多信息。

持续分析是一种现代方法,对生产环境更安全、更具可扩展性。它使用低开销采样从生产系统收集剖析数据,并将剖析数据存储在数据库中以便后续分析。使用持续分析可以更全面地了解您的应用程序及其在生产环境中的行为方式。

Grafana 提供 Grafana Pyroscope 和 Grafana Cloud Profiles(由 Pyroscope 提供支持)来收集和存储您的剖析数据。您可以使用 Grafana Profiles Drilldown 来检查剖析数据并调查问题。

优势

为什么优先考虑持续分析?

  1. 深入的代码洞察:它提供了细粒度、行级别的洞察,揭示应用程序代码如何利用资源,从而提供最详细的应用程序性能视图。
  2. 补充其他可观测性工具:持续分析填补了指标、日志和链路追踪留下的关键空白,从而构建更全面的可观测性策略。
  3. 主动的性能优化:定期分析使团队能够主动识别和解决性能瓶颈,从而实现更高效、更可靠的应用程序。显示持续分析 3 个优势的图示

用例

使用 Grafana Pyroscope 和 Profiles Drilldown 等工具采用持续分析可以带来显著的业务优势

  1. 降低运营成本:优化资源使用可以显著削减云和基础设施开销
  2. 降低延迟:识别和解决性能瓶颈可以带来更快、更高效的应用程序
  3. 增强事件管理:更快地识别和解决问题,降低平均解决时间 (MTTR) 并改善最终用户体验

Infographic illustrating key business benefits

降低运营成本

通过深入洞察应用程序性能,分析使团队能够识别和消除低效率,从而在可观测性、事件管理、消息/队列、部署工具和基础设施等领域节省大量开销。

通过使用采样分析器,Pyroscope 和 Cloud Profiles 可以以最小的开销(取决于一些因素,约为 2-5%)收集数据。定制存储引擎有效地压缩和存储数据。这样做的一些优势包括

  • 得益于采样分析器技术,CPU 开销低
  • 控制剖析数据粒度(10 秒到多年)
  • 高效压缩,低磁盘空间要求和成本

降低延迟

剖析数据在降低应用程序延迟方面起着关键作用,它能识别代码级别的性能瓶颈。这种细粒度的洞察允许有针对性地优化,从而缩短应用程序响应时间,改善用户体验,并进而带来更好的业务成果,如提高客户满意度和收入。

增强事件管理

Pyroscope 和 Profiles Drilldown 通过提供关于应用程序性能问题的即时、可操作的洞察来简化事件管理。通过持续分析,团队可以快速查明事件的根本原因,降低平均解决时间 (MTTR),并提高整体系统可靠性和用户满意度。