概念
要使用性能分析功能,您应该理解这些概念
- 性能分析数据层级
- 性能分析类型
- 标签
- 火焰图
性能分析数据层级
每个性能分析包含服务数据。服务可以是运行在您的系统或应用上的进程之一。
每个服务有多种性能分析类型,例如 CPU、内存、异常和锁。这些性能分析提供了服务的进程详情。
- 服务:这是您正在监控的主要应用或系统。例如,它可以是线上购物平台、社交媒体应用或云存储服务。
- 性能分析类型:您可以通过不同的性能分析类型来监控每个服务,每种类型都专注于特定的性能方面。性能分析类型示例
- CPU
- 已分配内存
- 使用中内存
- goroutines
- 标签:这些是为性能分析类型提供额外上下文的标签或描述符。标签有助于对数据进行分类和过滤,以便更轻松地分析。例如
- 命名空间
- Pod
- 实例
- IP
- 区域
- 性能分析类型:您可以通过不同的性能分析类型来监控每个服务,每种类型都专注于特定的性能方面。性能分析类型示例
性能分析类型
性能分析类型指代应用性能分析的不同维度,专注于 CPU 使用率、内存分配或线程同步等特定方面。
更多信息,请参阅 理解性能分析类型。
性能分析类型 | 显示内容 | 使用时机 |
---|---|---|
CPU 性能分析 | 衡量应用代码不同部分消耗的 CPU 时间量 | 用于识别和优化 CPU 密集型函数 |
内存分配 | 跟踪应用内存分配的数量和频率 | 用于识别和优化内存使用模式 |
Goroutine | 衡量 Go 中轻量级 routine 的使用和性能 | 在 Go 应用中特别适用于并发管理 |
争用 (互斥锁) | 互斥锁性能分析涉及分析互斥锁(用于防止同时访问共享资源)。 | 用于优化线程同步并减少锁争用 |
阻塞 | 衡量阻塞操作(线程被暂停或延迟)的频率和持续时间 | 用于识别和减少阻塞延迟 |
标签
标签有助于识别性能分析数据的各个部分。例如,标签可以识别 Kubernetes Pod 名称、命名空间、仓库和引用。您还可以创建自定义标签。
此功能对于识别性能异常以及理解不同应用段在各种条件下的行为至关重要。
火焰图
持续性能分析的一个基本方面是火焰图,这是一种方便的可视化性能数据的方式。这些图提供了对应用资源分配和瓶颈的清晰、直观的理解。
如果您需要以下情况,可以使用火焰图可视化功能
- 识别任何性能热点,找出可能需要代码优化的位置。
- 诊断任何性能下降的根本原因。
- 分析复杂系统的行为,包括分布式系统或微服务架构。
要了解更多信息,请参阅 火焰图文档。要了解更多关于火焰图用户界面的信息,请参阅 火焰图可视化面板。