最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

BPF之巔:洞悉Linux系統(tǒng)和應(yīng)用性能

2023-03-18 14:10 作者:破產(chǎn)的嗶站用戶  | 我要投稿

鏈接:https://pan.baidu.com/s/1P39fkfn_gqh6GiVchaIgbQ?pwd=isrb?

提取碼:isrb

編輯推薦

適讀人群 :BPF性能工具將是所有管理員、開發(fā)人員、支持人員和其他IT專業(yè)人員不可或缺的資源,他們可以在任何企業(yè)或云環(huán)境中使用任何最新的Linux發(fā)行版。

作為BPF技術(shù)的開拓者和專家,Brendan Gregg在本書中不僅展示了超過150個可以立即使用的分析工具和調(diào)試工具,對這些工具的應(yīng)用場景進行了分析,還提供了開發(fā)自定義工具的分步指南。在本書中,讀者可學(xué)習(xí)到如何分析CPU、內(nèi)存、存儲設(shè)備、文件系統(tǒng)、網(wǎng)絡(luò)、編程語言、應(yīng)用程序、容器、虛擬機管理器、安全及內(nèi)核。Gregg帶領(lǐng)讀者由淺入深地了解從基礎(chǔ)工具到進階工具的使用,幫助讀者收集更有用、更深入的技術(shù)信息,可以用來優(yōu)化幾乎任何類型的Linux系統(tǒng)和應(yīng)用程序。

◎?qū)W習(xí)必備的跟蹤知識,以及兩個核心BPF前端:BCC和bpftrace。

◎掌握超過150個強大的BPF工具的使用方法,其中包括幾十個專為本書開發(fā)的工具,全部可以下載使用。

◎掌握有效的分析策略、分析技巧,以及提高分析效率的小竅門。

◎掌握各種編程語言的分析技巧,包括編譯型、JIT編譯型、解釋型語言,如C、Java、bash shell等。

◎?qū)W習(xí)如何生成各種新的性能指標(biāo)、調(diào)用棧信息,以及自定義延遲直方圖。

◎?qū)W習(xí)如何使用傳統(tǒng)工具配合BPF分析來快速簡單地實現(xiàn)目標(biāo)。

◎探索基于BPF構(gòu)建的高級工具:實現(xiàn)遠程監(jiān)控的PCP和Grafana組合、eBPF導(dǎo)出器,以及跟蹤Kubernetes的kubectl—trace。


內(nèi)容簡介

《BPF之巔:洞悉Linux系統(tǒng)和應(yīng)用性能》作為全面介紹 BPF 技術(shù)的圖書,從 BPF 技術(shù)的起源到未來發(fā)展方向都有涵蓋,不僅全面介紹了 BPF 的編程模型,還完整介紹了兩個主要的 BPF 前端編程框架 — BCC 和 bpftrace,更給出了一系列實現(xiàn)范例,生動展示了 BPF技術(shù)的實際能力和未來發(fā)展前景。

本書的另一個關(guān)注方向是 Linux 系統(tǒng)性能和應(yīng)用程序性能的調(diào)優(yōu)。內(nèi)容涉及系統(tǒng)性能調(diào)優(yōu)的策略、工具與實踐案例,不僅介紹了對應(yīng)的 BPF 工具,還著重介紹了這些工具如何與 Linux 傳統(tǒng)性能工具進行互補,這樣讀者可以有選擇地進行使用。

本書介紹的工具小巧精致,并提供了簡單易讀的源代碼,它們展示了 BPF 技術(shù)的魅力所在 :安全、高效、快捷的系統(tǒng)擴展力。未來 BPF 技術(shù)在 Linux 中的應(yīng)用場景會越來越多,越來越重要。希望本書能在大家學(xué)習(xí) BPF 技術(shù)并關(guān)注它的發(fā)展時提供幫助。


作者簡介

Brendan Gregg(布蘭登.格雷格)

Netflix 高級性能工程師

Brendan Gregg 是 BPF(eBPF)的主要貢獻者,他幫助開發(fā)和維護了兩個主要的 BPF 前端框架,開創(chuàng)了 BPF 用于可觀測性的先河,并創(chuàng)建了數(shù)十種基于 BPF 的性能分析工具。他編著的暢銷書有《性能之巔:洞悉系統(tǒng)、企業(yè)與云計算》。


譯者介紹


孫宇聰:曾就職于美國加利福尼亞谷歌總部,后先后就任

Coding.net技術(shù)負責(zé)人、火幣中國全球IT負責(zé)人及火幣美國硅谷研發(fā)團隊負責(zé)人,以及Facebook臉書運維技術(shù)經(jīng)理等職位。譯有《SRE:谷歌運維揭秘》《架構(gòu)整潔之道》《BPF之巔:洞悉Linux系統(tǒng)和應(yīng)用性能》等名著,曾在全球軟件開發(fā)大會、Qcon、全球架構(gòu)師峰會、 O'Reilly Velocity等科技峰會進行公開演講。


呂宏利,資深SRE,現(xiàn)任職于谷歌基礎(chǔ)架構(gòu)部。之前曾負責(zé)谷歌搜索廣告和內(nèi)容廣告系統(tǒng)運維工作,有多年分布式系統(tǒng)研發(fā)與運維經(jīng)驗。對運維工具平臺建設(shè)、監(jiān)控、應(yīng)用性能跟蹤及分析、數(shù)據(jù)化運維等方面有深入的研究。


劉曉舟,畢業(yè)于北京大學(xué)計算機系,現(xiàn)供職于字節(jié)跳動公司系統(tǒng)部,任系統(tǒng)架構(gòu)師。他在字節(jié)跳動主持構(gòu)建了基于 eBPF 的大規(guī)模性能分析和網(wǎng)絡(luò)監(jiān)控診斷平臺,閑暇時間也在相關(guān)開源社區(qū)提交代碼。在加入字節(jié)跳動之前,他有 10 年國家部委電子政務(wù)和大數(shù)據(jù)研究經(jīng)歷。


目錄

第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 動態(tài)插樁:kprobes和uprobes 8

1.7 靜態(tài)插樁:tracepoint和USDT 9

1.8 初識bpftrace:跟蹤open() 10

1.9 再回到BCC:跟蹤open() 13

1.10 小結(jié) 15

第2章 技術(shù)背景16

2.1 圖釋BPF 16

2.2 BPF 17

2.3 擴展版BPF 18

2.4 調(diào)用?;厮?41

2.5 火焰圖 44

2.6 事件源 48

2.7 kprobes 49

2.8 uprobes 53

2.9 跟蹤點 57

2.10 USDT 62

2.11 動態(tài)USDT 66

2.12 性能監(jiān)控計數(shù)器 68

2.13 perf_events 69

2.14 小結(jié) 70

第3章 性能分析71

3.1 概覽 71

3.2 性能分析方法論 73

3.3 Linux 60秒分析 77

3.4 BCC工具檢查清單 84

3.5 小結(jié) 90

第4章 BCC91

4.1 BCC的組件 92

4.2 BCC的特性 92

4.3 安裝BCC 94

4.4 BCC的工具 96

4.5 funccount 100

4.6 stackcount 105

4.7 trace 110

4.8 argdist 117

4.9 工具文檔 121

4.10 開發(fā)BCC工具 126

4.11 BCC的內(nèi)部實現(xiàn) 127

4.12 BCC的調(diào)試 128

4.13 小結(jié) 136

第5章 bpftrace137

5.1 bpftrace的組件 138

5.2 bpftrace的特性 139

5.3 bpftrace的安裝 141

5.4 bpftrace工具 143

5.5 bpftrace單行程序 145

5.6 bpftrace的文檔 146

5.7 bpftrace編程 146

5.8 bpftrace的幫助信息 155

5.9 bpftrace的探針類型 157

5.10 bpftrace的控制流 163

5.11 bpftrace的運算符 164

5.12 bpftrace的變量 165

5.13 bpftrace的函數(shù) 170

5.14 bpftrace映射表的操作函數(shù) 177

5.15 bpftrace的下一步工作 183

5.16 bpftrace的內(nèi)部運作 185

5.17 bpftrace的調(diào)試 186

5.18 小結(jié) 190

第6章 CPU.191

6.1 背景知識 192

6.2 傳統(tǒng)工具 197

6.3 BPF工具 210

6.4 BPF單行程序 251

6.5 可選練習(xí) 253

6.6 小結(jié) 254

第7章 內(nèi)存.255

7.1 背景知識 256

7.2 傳統(tǒng)工具 263

7.3 BPF工具 269

7.4 BPF單行程序 288

7.5 可選練習(xí) 289

7.6 小結(jié) 290

第8章 文件系統(tǒng)291

8.1 背景知識 292

8.2 傳統(tǒng)工具 296

8.3 BPF工具 302

8.4 BPF單行程序 353

8.5 可選練習(xí) 359

8.6 小結(jié) 360

第9章 磁盤I/O361

9.1 背景知識 362

9.2 傳統(tǒng)工具 367

9.3 BPF工具 372

9.4 BPF單行程序 406

9.5 可選練習(xí) 409

9.6 小結(jié) 410

第10章 網(wǎng)絡(luò)411

10.1 背景知識 412

10.2 傳統(tǒng)工具 422

10.3 BPF工具 433

10.4 BPF單行程序 507

10.5 可選練習(xí) 513

10.6 小結(jié) 515

第11章 安全516

11.1 背景知識 516

11.2 BPF工具 523

11.3 BPF單行程序 542

11.4 小結(jié) 544

第12章 編程語言.545

12.1 背景知識 545

12.2 C 551

12.3 Java 560

12.4 bash shell 601

12.5 其他語言 614

12.6 小結(jié) 619

第13章 應(yīng)用程序.620

13.1 背景知識 621

13.2 BPF工具 625

13.3 BPF單行程序 662

13.4 BPF單行程序示范 664

13.5 小結(jié) 664

第14章 內(nèi)核665

14.1 背景知識 666

14.2 分析策略 669

14.3 傳統(tǒng)工具 670

14.4 BPF工具 675

14.5 BPF單行程序 697

14.6 BPF單行程序示范 699

14.7 挑戰(zhàn) 700

14.8 小結(jié) 700

第15章 容器701

15.1 背景知識 701

15.1.1 BPF 的分析能力 703

15.1.2 挑戰(zhàn) 703

15.1.3 分析策略 706

15.2 傳統(tǒng)工具 706

15.2.1 從主機上分析 706

15.2.2 在容器內(nèi)分析 707

15.2.3 systemd-cgtop 707

15.2.4 kubectl top 708

15.2.5 docker stats 708

15.2.6 /sys/fs/cgroups 709

15.2.7 perf 709

15.3 BPF工具 710

15.4 BPF單行程序 717

15.5 可選練習(xí) 717

15.6 小結(jié) 718

第16章 虛擬機管理器719

16.1 背景知識 719

16.2 傳統(tǒng)工具 722

16.3 訪客系統(tǒng)的BPF工具 723

16.4 宿主機BPF工具 732

16.5 小結(jié) 737

第17章 其他BPF性能工具738

17.1 Vector和Performance Co-Pilot(PCP) 738

17.2 Grafana和Performance Co-Pilot 747

17.3 Cloudflare eBPF Prometheus Exporter(配合Grafana) 750

17.4 kubectl-trace 752

17.5 其他工具 755

17.6 小結(jié) 755

第18章 建議、技巧和常見問題. 756

18.1 典型事件的頻率和額外開銷 756

18.2 以49Hz或99Hz為采樣頻率 760

18.3 黃豬和灰鼠 760

18.4 開發(fā)目標(biāo)軟件 762

18.5 學(xué)習(xí)系統(tǒng)調(diào)用 763

18.6 保持簡單 764

18.7 事件缺失 764

18.8 調(diào)用棧缺失 766

18.9 打印時符號缺失(函數(shù)名稱) 767

18.10 跟蹤時函數(shù)缺失 768

18.11 反饋回路 769

18.12 被丟掉的事件 769

附錄A bpftrace單行程序770

附錄B bpftrace備忘單775

附錄C BCC工具的開發(fā)778

附錄D C.BPF. 793

附錄E BPF指令812


查看全部↓

前言/序言

前 言

“擴展版 BPF 的使用案例 :……真瘋狂啊?!?——Alexei Starovoitov,新 BPF 的創(chuàng)建者,2015 年 2 月

2014 年 7 月,Alexei Starovoitov 到訪了 Netflix 公司位于加州 Los Gatos 的辦公室,對他開發(fā)的一項有趣的技術(shù)進行研討 :擴展版的伯克利數(shù)據(jù)包過濾器(簡寫為 eBPF 或者 BPF)。BPF 是一項用于改進包過濾的冷門技術(shù),此時 Alexei 已經(jīng)有了對其在包過濾之外的領(lǐng)域進行擴展的遠見卓識。Alexei 和另外一名網(wǎng)絡(luò)工程師 Daniel Borkmann 并肩協(xié)作,將 BPF 改寫為一個通用的虛擬機,可以運行高級的網(wǎng)絡(luò)程序和其他類型的程序。

這是一個令人驚嘆的想法。有一種使用場景令我十分感興趣,那就是可以將 BPF 用在開發(fā)性能分析的工具上,我看到了 BPF 能夠提供我所需要的可編程能力。于是我們做了一個約定 :如果 Alexei 能夠?qū)?BPF 與數(shù)據(jù)包之外的東西相連接,我將使用它來開發(fā)性能分析工具。

BPF 現(xiàn)在已經(jīng)可以掛載到任何事件源上,它也成為系統(tǒng)工程領(lǐng)域一項熱門的新技術(shù),擁有眾多活躍的貢獻者。到目前為止,我已經(jīng)開發(fā)并公開了超過 70 個 BPF 性能分析工具,它們在全球范圍內(nèi)得到廣泛使用,并且在 Netflix、Facebook 等公司中進入服務(wù)器的默認安裝軟件列表。我還專門為本書單獨開發(fā)了許多工具,同時也引入不少其他人貢獻的工具。很榮幸能夠在這本書中為大家分享這些實用的工具,這樣你就可以使用它們進行性能分析、故障定位以及其他種種工作。


BPF之巔:洞悉Linux系統(tǒng)和應(yīng)用性能的評論 (共 條)

分享到微博請遵守國家法律
鸡东县| 青川县| 牙克石市| 辉县市| 胶南市| 偃师市| 濮阳县| 民权县| 遂昌县| 五原县| 武夷山市| 徐州市| 抚顺市| 宜昌市| 巢湖市| 朝阳市| 荥阳市| 辽阳县| 尉氏县| 保山市| 固始县| 和静县| 甘洛县| 繁昌县| 航空| 西贡区| 化州市| 霍林郭勒市| 财经| 石林| 扶绥县| 大连市| 北票市| 海伦市| 宁都县| 临夏市| 肇州县| 灯塔市| 东乌珠穆沁旗| 长宁区| 临朐县|