BPF Performance Tools
作者: Brendan Gregg
语言: 英文
出版年份: 2019
操作系统: Linux
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

BPF Performance Tools

书籍定位

BPF Performance Tools 是 Linux 性能分析领域的里程碑著作,作者 Brendan Gregg 是动态追踪技术的世界级专家,现任 Netflix 高级性能架构师。本书详细讲解了 BPF(Berkeley Packet Filter,又称 eBPF)技术在系统性能监控和调优中的应用,提供了上百个可直接使用的分析工具和脚本。BPF 被誉为 Linux 未来的观测技术标准,正在彻底改变系统性能分析的方式。

核心内容

全书系统讲解 BPF 技术栈在性能分析中的完整应用体系:

第一部分:技术基础

  • BPF 技术演进历史:从最初的数据包过滤到通用内核虚拟机
  • BPF 架构原理:验证器、JIT 编译器、映射(Maps)、程序类型
  • BCC(BPF Compiler Collection)工具集安装与使用
  • bpftrace 高级追踪语言语法与实践
  • 内核追踪点(Tracepoints)、kprobes、uprobes 探测技术
  • USDT(用户级静态定义追踪点)应用
  • BPF 程序的开发、编译、调试完整流程

第二部分:性能分析全景

  • CPU 性能:CPU 调度分析、Off-CPU 分析、火焰图(Flame Graph)生成与解读、运行队列延迟、上下文切换分析、中断处理耗时
  • 内存性能:页面分配跟踪、缺页异常分析、Slab 分配器统计、内存泄漏检测、匿名页与文件页分析
  • 文件系统 I/O:VFS 层追踪、ext4/XFS/Btrfs 等文件系统操作分析、缓存命中率统计、I/O 延迟分析
  • 磁盘 I/O:块层 I/O 追踪、设备驱动层分析、I/O 调度器行为观察
  • 网络性能:TCP/IP 协议栈全链路追踪、套接字层分析、连接排队延迟、数据包处理耗时
  • 应用程序分析:库调用追踪、系统调用分析、热点函数定位、用户态代码路径延时

第三部分:高级主题与实战

  • 容器化环境的性能观测:cgroup 统计、命名空间隔离下的追踪
  • 生产环境的 BPF 工具部署策略与安全考量
  • 自定义 BPF 工具的开发方法与最佳实践
  • 性能分析方法论:USE 方法、延迟热图、off-CPU 分析等
  • 常见性能问题的排查思路与案例分析
  • BPF 工具生态:bpftool、libbpf、BTF(BPF Type Format)等

适用读者

本书特别适合以下人群:

  • Linux 系统管理员和 SRE 工程师
  • 性能分析工程师和系统调优专家
  • 内核开发者和底层系统程序员
  • 云计算和容器技术从业者
  • 需要排查生产环境性能问题的后端工程师
  • 对操作系统底层机制感兴趣的计算机科学研究者

价值亮点

本书在性能分析领域的独特价值:

  1. 作者权威:Brendan Gregg 是性能分析领域公认的顶级专家,火焰图发明者,Netflix 一线实战经验
  2. 工具丰富:提供上百个可直接运行的 BPF 脚本和一行命令,复制粘贴即可解决真实问题
  3. 深度原创:大量内容来自作者在 Netflix、Oracle 等公司的一线实战经验总结
  4. 体系化:建立了完整的 Linux 性能分析方法论,不仅给工具更给思路
  5. 技术前沿:BPF 是目前 Linux 生态最热门的技术方向之一,代表了未来观测技术的标准
  6. 即学即用:书中工具无需特殊内核补丁,现代主流发行版均可直接运行
  7. 图文并茂:大量火焰图、热图等可视化分析结果,直观展示性能瓶颈

阅读建议

建议先熟悉 Linux 基本命令和系统概念再阅读本书。从 bcc 和 bpftrace 工具入门,先学会使用现成工具分析真实系统,再逐步深入工具开发。第2章的 Linux 性能分析基础和第3章的性能观测方法是全书的方法论核心,建议精读。火焰图部分要反复练习,掌握解读方法。每学一个工具就在自己的服务器上实际运行,观察真实系统的性能特征。本书不要求读者必须懂内核编程,但有 C 语言和操作系统基础会理解更深入。

期待您的支持
捐助本站