菜单
Enterprise 开源 RSS

概念

要使用性能分析功能,您应该理解这些概念

  • 性能分析数据层级
  • 性能分析类型
  • 标签
  • 火焰图

性能分析数据层级

每个性能分析包含服务数据。服务可以是运行在您的系统或应用上的进程之一。

每个服务有多种性能分析类型,例如 CPU、内存、异常和锁。这些性能分析提供了服务的进程详情。

  • 服务:这是您正在监控的主要应用或系统。例如,它可以是线上购物平台、社交媒体应用或云存储服务。
    • 性能分析类型:您可以通过不同的性能分析类型来监控每个服务,每种类型都专注于特定的性能方面。性能分析类型示例
      • CPU
      • 已分配内存
      • 使用中内存
      • goroutines
    • 标签:这些是为性能分析类型提供额外上下文的标签或描述符。标签有助于对数据进行分类和过滤,以便更轻松地分析。例如
      • 命名空间
      • Pod
      • 实例
      • IP
      • 区域

性能分析类型

性能分析类型指代应用性能分析的不同维度,专注于 CPU 使用率、内存分配或线程同步等特定方面。

更多信息,请参阅 理解性能分析类型

性能分析类型显示内容使用时机
CPU 性能分析衡量应用代码不同部分消耗的 CPU 时间量用于识别和优化 CPU 密集型函数
内存分配跟踪应用内存分配的数量和频率用于识别和优化内存使用模式
Goroutine衡量 Go 中轻量级 routine 的使用和性能在 Go 应用中特别适用于并发管理
争用 (互斥锁)互斥锁性能分析涉及分析互斥锁(用于防止同时访问共享资源)。用于优化线程同步并减少锁争用
阻塞衡量阻塞操作(线程被暂停或延迟)的频率和持续时间用于识别和减少阻塞延迟

标签

标签有助于识别性能分析数据的各个部分。例如,标签可以识别 Kubernetes Pod 名称、命名空间、仓库和引用。您还可以创建自定义标签。

此功能对于识别性能异常以及理解不同应用段在各种条件下的行为至关重要。

Labels view in Profiles Drilldown

火焰图

持续性能分析的一个基本方面是火焰图,这是一种方便的可视化性能数据的方式。这些图提供了对应用资源分配和瓶颈的清晰、直观的理解。

如果您需要以下情况,可以使用火焰图可视化功能

  • 识别任何性能热点,找出可能需要代码优化的位置。
  • 诊断任何性能下降的根本原因。
  • 分析复杂系统的行为,包括分布式系统或微服务架构。

要了解更多信息,请参阅 火焰图文档。要了解更多关于火焰图用户界面的信息,请参阅 火焰图可视化面板

An example flame graph with an explanation generated by Flame graph AI