BPF之巅(洞悉Linux系统和应用性能)
全新正版 极速发货
¥
99.7
5.0折
¥
199
全新
库存45件
作者BrendanGregg
出版社电子工业出版社
ISBN9787121399725
出版时间2020-11
装帧平装
开本16开
定价199元
货号1202178867
上书时间2024-06-05
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
"Brendan Gregg(布兰登.格雷格)
Netflix 不错性能工程师
Brendan Gregg 是 BPF(eBPF)的主要贡献者,他帮助开发和维护了两个主要的 BPF 前端框架,开创了 BPF 用于可观测性的先河,并创建了数十种基于 BPF 的性能分析工具。他编著的畅销书有《性能之巅:洞悉系统、企业与云计算》。
译者介绍
孙宇聪:现任 Facebook 运维工程师经理,曾在谷歌工作多年,任谷歌不错SRE(Senior Site Reliblity Engineer),Coding.net 前技术负责人,译有《SRE:Google运维解密》《架构整洁之道》等经典畅销技术图书。
吕宏利,资深SRE,现任职于谷歌基础架构部。之前曾负责谷歌搜索广告和内容广告系统运维工作,有多年分布式系统研发与运维经验。对运维工具平台建设、监控、应用性能跟踪及分析、数据化运维等方面有深入的研究。
刘晓舟,毕业于北京大学计算机系,现供职于字节跳动公司系统部,任系统架构师。他在字节跳动主持构建了基于 eBPF 的大规模性能分析和网络监控诊断平台,闲暇时间也在相关开源社区提交代码。在加入字节跳动之前,他有 10 年国家部委电子政务和大数据研究经历。"
目录
第1章 引 言.................................................................................................................1
1.1 BPF和eBPF是什么 .............................................................................................. 1
1.2 跟踪、嗅探、采样、剖析和可观测性分别是什么 .......................................... 2
1.3 BCC、bpftrace和IO Visor ................................................................................... 3
1.4 初识BCC:快速上手 .......................................................................................... 4
1.5 BPF跟踪的能见度 ............................................................................................... 7
1.6 动态插桩:kprobes和uprobes ............................................................................ 8
1.7 静态插桩:tracepoint和USDT ........................................................................... 9
1.8 初识bpftrace:跟踪open() ................................................................................ 10
1.9 再回到BCC:跟踪open() ................................................................................. 13
1.10 小结 .................................................................................................................. 15
第2章 技术背景...........................................................................................................16
2.1 图释BPF ............................................................................................................. 16
2.2 BPF ..................................................................................................................... 17
2.3 扩展版BPF ......................................................................................................... 18
2.3.1 为什么性能工具需要 BPF 技术 ......................................................... 21
2.3.2 BPF 与内核模块的对比 ......................................................................23
2.3.3 编写 BPF 程序 .....................................................................................23
2.3.4 使用 BPF 查看指令集 :bpftool ..........................................................24
2.3.5 使用 bpftrace 查看 BPF 指令集 .......................................................... 32
2.3.6 BPF API ................................................................................................ 33
2.3.7 BPF 并发控制 ......................................................................................37
2.3.8 BPF sysfs 接口 ..................................................................................... 38
2.3.9 BPF 类型格式 ......................................................................................38
2.3.10 BPF CO-RE ........................................................................................ 39
2.3.11 BPF 的局限性 ..................................................................................... 40
2.3.12 BPF 扩展阅读资料 ............................................................................40
2.4 调用栈回溯 ........................................................................................................ 41
2.4.1 基于帧指针的调用栈回溯 ................................................................... 41
2.4.2 调试信息 ............................................................................................... 42
2.4.3 最后分支记录 ....................................................................................... 43
2.4.4 ORC ...................................................................................................... 43
2.4.5 符号 ....................................................................................................... 43
2.4.6 扩展阅读 ............................................................................................... 43
2.5 火焰图 ................................................................................................................ 44
2.5.1 调用栈信息 ........................................................................................... 44
2.5.2 对调用栈信息的剖析 ........................................................................... 44
2.5.3 火焰图 ................................................................................................... 45
2.5.4 火焰图的特性 ......
内容摘要
基于BPF的性能优化工具提供了前所未有的系统级和应用程序级的观察能力,使用这些工具可以优化性能、调试代码、增强安全性、降低成本。本书是使用这些观察工具的全面指南。本书作为全面介绍BPF技术的图书,从BPF技术的起源到未来发展方向都有涵盖,不仅全面介绍了BPF的编程模型,还完整介绍了两个主要的BPF前端编程框架—BCC和bpftrace,更给出了一系列实现范例,全面展示了BPF技术的实际能力和未来发展前景,以及使用BPF工具优化性能、修复问题、探索线上系统的内部情况。本书的另一个关注方向是Linux系统性能和应用程序性能的调优。本书全面介绍了系统性能调优的策略、工具与实践案例,不仅介绍了对应的BPF工具,还着重介绍了这些工具如何与Linux传统性能工具进行互补,这样读者可以有选择地进行使用。本书介绍的工具小巧精致,且包含了简单易读的源代码,这就是BPF技术的魅力所在:安全、高效、快捷的系统扩展力。未来BPF技术在Linux中的应用场景会越来越多,越来越重要。希望本书能在大家学习这项技术并关注它的发展时提供一定的便利。本书是系统管理员、应用程序开发者、运维人员,以及其他IT从业者在企业内部或云上使用各种Linux发行版时都可参考的资料。
主编推荐
"作为BPF技术的开拓者和专家,Brendan Gregg在本书中不仅展示了超过150个可以立即使用的分析工具和调试工具,对这些工具的应用场景进行了分析,还提供了开发自定义工具的分步指南。在本书中,读者可学习到如何分析CPU、内存、存储设备、文件系统、网络、编程语言、应用程序、容器、虚拟机管理器、安全及内核。Gregg带领读者由浅入深地了解从基础工具到进阶工具的使用,帮助读者收集更有用、更深入的技术信息,可以用来优化几乎任何类型的Linux系统和应用程序。
◎学习推荐的跟踪知识,以及两个核心BPF前端:BCC和bpftrace。
◎掌握超过150个强大的BPF工具的使用方法,其中包括几十个专为本书开发的工具,全部可以下载使用。
◎掌握有效的分析策略、分析技巧,以及提高分析效率的小窍门。
◎掌握各种编程语言的分析技巧,包括编译型、JIT编译型、解释型语言,如C、Java、bash shell等。
◎学习如何生成新的性能指标、调用栈信息,以及自定义延迟直方图。
◎学习如何使用传统工具配合BPF分析来快速简单地实现目标。
◎探索基于BPF构建的不错工具:实现远程监控的PCP和Grafana组合、eBPF导出器,以及跟踪Kubernetes的kubectl—trace。"
— 没有更多了 —
以下为对购买帮助不大的评价