菜单
企业版 开源

什么是持续性能分析?

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

传统上,性能分析是根据需要用于调试应用程序。例如,您可以在本地运行基准测试工具并获取 Go 语言的 pprof 文件,或者连接到行为异常的生产实例并从 Java 的 JFR 文件中提取火焰图。这种方法适用于调试,但对于生产环境不够健壮。

example flame graph

参考火焰图了解更多信息。

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

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

优势

为何优先采用持续性能分析?

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

用例

采用像 Grafana Pyroscope 和 Profiles Drilldown 这样的工具进行持续性能分析可以带来显著的业务优势

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

Infographic illustrating key business benefits

降低运营成本

通过提供深入的应用程序性能洞察,性能分析使团队能够识别和消除低效率,从而在可观测性、事件管理、消息/队列、部署工具和基础设施等方面显著节省成本。

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

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

降低延迟

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

增强事件管理

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