电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
微信扫描二维码,访问我们的微信店铺

性能之巅:洞悉系统、企业与云计算(第2版)(英文版)

129.00
运费: 免运费
性能之巅:洞悉系统、企业与云计算(第2版)(英文版) 商品图0
性能之巅:洞悉系统、企业与云计算(第2版)(英文版) 商品缩略图0

商品详情

书名:性能之巅:洞悉系统、企业与云计算(*2版)(英文版)
定价:238.0
ISBN:9787121450945
作者:(美)布兰登·格雷格
版次:*1版
出版时间:2023-07

内容提要:

本书着力讲述 Linux 的性能,但所论述的性能问题适用于所有的操作系统。你将了解到系统是如何工作与执行的,还将学习到如何分析和改进系统及应用程序性能的方法。本书对第 1 版的内容做了大量的更新,这些更新包括但不限于 :近年来 Linux 内核各方面的变化对于资源性能的影响;云计算架构的主流演进方向;动态跟踪工具的新星(BPF 及其前后端技术);常见性能工具的使用方法的变化等。需要说明的是,在第 1 版中进行性能分析所用到的术语、概念和方法,在第 2 版中几乎没有变化,依然中肯适用,经得起时间的检验。





作者简介:

布兰登·格雷格是计算性能和云计算方面的行业专家。他是Netflix的*级性能架构师,从事性能设计、评估、分析和调优工作。他是多本技术图书的作者,包括《BPF之巅:洞悉Linux系统和应用性能》。他曾获得USENIX LISA系统管理的杰出成就奖,还曾担任内核工程师和性能负责人,并且是USENIX LISA 2018会议的项目联合主席。他开发了收录在多个操作系统中的性能工具,还开发了包括火焰图在内的用于性能分析的可视化工具和方法。

布兰登·格雷格是计算性能和云计算方面的行业专家。他是Netflix的*级性能架构师,从事性能设计、评估、分析和调优工作。他是多本技术图书的作者,包括《BPF之巅:洞悉Linux系统和应用性能》。他曾获得USENIX LISA系统管理的杰出成就奖,还曾担任内核工程师和性能负责人,并且是USENIX LISA 2018会议的项目联合主席。他开发了收录在多个操作系统中的性能工具,还开发了包括火焰图在内的用于性能分析的可视化工具和方法。




媒体评论:
热门话题颠覆式更新:1.近年来Linux内核的变化对性能的影响2.云计算架构的主流演进方向3.动态跟踪工具的新星(BPF及其前后端技术)4.常见性能工具使用方法的变化

目录:

*1章 绪论..35 

1.1 系统性能 .......... 35 

1.2 人员 .... 36 

1.3 活动 .... 37 

1.4 视角 .... 38 

1.5 性能工程是充满挑战的  39 

1.5.1 主观性 .. 39 

1.5.2 复杂性 .. 39 

1.5.3 多个原因 ............ 40 

1.5.4 多个性能问题 .... 40 

1.6 延时 .... 40 

1.7 可观测性 .......... 41 

1.7.1 计数器、统计数据和指标 ............ 42 

1.7.2 剖析 ...... 44 

1.7.3 跟踪 ...... 45 

1.8 实验 .... 47 

1.9 云计算  48 

1.10 方法 .. 49 

1.10.1 Linux 性能分析 60 秒 .... 49 

1.11 案例研究......... 50 

1.11.1 缓慢的磁盘 ...... 50 

1.11.2 软件变更 .......... 52 

1.11.3 更多阅读 .......... 53

1.12 参考资料 ........ 53 

*2章 方法..55 

2.1 术语 .... 56 

2.2 模型 .... 57 

2.2.1 受测系统 ............ 57 

2.2.2 排队系统 ............ 57 

2.3 概念 .... 58 

2.3.1 延时 ...... 58 

2.3.2 时间量级 ............ 59 

2.3.3 权衡 ...... 60 

2.3.4 调优的影响 ........ 61 

2.3.5 合适的层级 ........ 62 

2.3.6 何时停止分析 .... 63 

2.3.7 性能推荐的时间点 .......... 63 

2.3.8 负载与架构 ........ 64 

2.3.9 扩展性 .. 65 

2.3.10 指标 .... 66 

2.3.11 使用率  67 

2.3.12 饱和度  68 

2.3.13 剖析 .... 69 

2.3.14 缓存 .... 69 

2.3.15 已知的未知 ...... 71 

2.4 视角 .... 71 

2.4.1 资源分析 ............ 72 

2.4.2 工作负载分析 .... 73 

2.5 方法 .... 74 

2.5.1 街灯讹方法 ........ 76 

2.5.2 随机变动讹方法  76 

2.5.3 责怪他人讹方法  77 

2.5.4 Ad Hoc 核对清单法 ......... 77 

2.5.5 问题陈述法 ........ 78 

2.5.6 科学法 .. 78 

2.5.7 诊断循环 ............ 80

2.5.8 工具法 .. 80 

2.5.9 USE 方法 ............ 81 

2.5.10 RED 方法 ......... 87 

2.5.11 工作负载特征归纳 ........ 88 

2.5.12 向下钻取分析 .. 89 

2.5.13 延时分析 .......... 90 

2.5.14 R 方法 . 91 

2.5.15 事件跟踪 .......... 91 

2.5.16 基础线统计 ...... 93 

2.5.17 静态性能调优 .. 93 

2.5.18 缓存调优 .......... 94 

2.5.19 微基准测试 ...... 94 

2.5.20 性能箴言 .......... 95 

2.6 建模 .... 96 

2.6.1 企业与云 ............ 96 

2.6.2 可视化识别 ........ 96 

2.6.3 Amdahl 扩展定律 ............ 98 

2.6.4 通用扩展定律 .... 99 

2.6.5 排队理论 .......... 100 

2.7 容量规划 ........ 103 

2.7.1 资源极限 .......... 104 

2.7.2 因素分析 .......... 105 

2.7.3 扩展方案 .......... 106 

2.8 统计 .. 107 

2.8.1 量化性能收益 .. 107 

2.8.2 平均值  108 

2.8.3 标准方差、百分位数、中位数 .. 109 

2.8.4 变异系数 .......... 110 

2.8.5 多重模态分布 .. 110 

2.8.6 异常值 .111 

2.9 监测 ...111 

2.9.1 基于时间的规律 .............111 

2.9.2 监测产品 .......... 113 

2.9.3 自启动以来的信息统计  113目录 

XVI 

2.10 可视化 .......... 113 

2.10.1 线图 .. 114 

2.10.2 散点图 ............ 115 

2.10.3 热图 .. 116 

2.10.4 时间线图 ........ 117 

2.10.5 表面图 ............ 118 

2.10.6 可视化工具 .... 119 

2.11 练习. 119 

2.12 参考资料 ...... 120 

第3章 操作系统.......123 

3.1 术语 .. 124 

3.2 背景 .. 125 

3.2.1 内核 .... 125 

3.2.2 内核态与用户态 ............ 127 

3.2.3 系统调用 .......... 128 

3.2.4 中断 .... 130 

3.2.5 时钟和空闲 ...... 133 

3.2.6 进程 .... 133 

3.2.7 栈 ........ 136 

3.2.8 虚拟内存 .......... 138 

3.2.9 调度器  139 

3.2.10 文件系统 ........ 140 

3.2.11 缓存 .. 142 

3.2.12 网络 .. 143 

3.2.13 设备驱动 ........ 143 

3.2.14 多处理器 ........ 144 

3.2.15 抢占 .. 144 

3.2.16 资源管理 ........ 144 

3.2.17 可观测性 ........ 145 

3.3 内核 .. 145 

3.3.1 UNIX .. 146 

3.3.2 BSD..... 147 

3.3.3 Solaris . 148

3.4 Linux . 148 

3.4.1 Linux 内核开发  149 

3.4.2 systemd ............. 154 

3.4.3 KPTI(meltdown) ......... 155 

3.4.4 eBPF ... 155 

3.5 其他主题 ........ 156 

3.5.1 PGO 内核 ......... 156 

3.5.2 unikernel ........... 157 

3.5.3 微内核和混合内核 ........ 157 

3.5.4 分布式操作系统 ............ 157 

3.6 内核比较 ........ 158 

3.7 练习 .. 158 

3.8 参考资料 ........ 159 

3.8.1 延伸阅读 .......... 161 

第4章 观测工具.......163 

4.1 工具范围 ........ 164 

4.1.1 静态性能工具 .. 164 

4.1.2 危机处理工具 .. 165 

4.2 工具类型 ........ 167 

4.2.1 固定计数器 ...... 167 

4.2.2 剖析 .... 169 

4.2.3 跟踪 .... 170 

4.2.4 监测 .... 171 

4.3 监测来源 ........ 172 

4.3.1 /proc .... 174 

4.3.2 /sys ...... 177 

4.3.3 延时核算 .......... 179 

4.3.4 netlink . 179 

4.3.5 tracepoint .......... 180 

4.3.6 kprobes  185 

4.3.7 uprobes  187 

4.3.8 USDT .. 189 

4.3.9 硬件计数器 ...... 190

4.3.10 其他观测源 .... 193 

4.4 sar ...... 194 

4.4.1 sar(1) 的覆盖范围 .......... 195 

4.4.2 sar(1) 监测 ........ 195 

4.4.3 sar(1) 实时报告  199 

4.4.4 sar(1) 文档 ........ 199 

4.5 跟踪工具 ........ 200 

4.6 观测工具的观测 .......... 201 

4.7 练习 .. 202 

4.8 参考资料 ........ 202 

第5章 应用程序.......205 

5.1 应用程序基础  206 

5.1.1 目标 .... 207 

5.1.2 常见情况的优化 ............ 208 

5.1.3 可观测性 .......... 208 

5.1.4 大 O 标记法 ..... 209 

5.2 应用程序性能技术 ...... 210 

5.2.1 选择 I/O 尺寸 ... 210 

5.2.2 缓存 .... 210 

5.2.3 缓冲区  211 

5.2.4 轮询 .... 211 

5.2.5 并发和并行 ...... 211 

5.2.6 非阻塞 I/O ........ 215 

5.2.7 处理器绑定 ...... 215 

5.2.8 性能箴言 .......... 216 

5.3 编程语言 ........ 216 

5.3.1 编译型语言 ...... 217 

5.3.2 解释型语言 ...... 218 

5.3.3 虚拟机  219 

5.3.4 垃圾回收 .......... 219 

5.4 方法 .. 220 

5.4.1 CPU 剖析.......... 221 

5.4.2 off-CPU 分析 .... 223

5.4.3 系统调用分析 .. 226 

5.4.4 USE 方法 .......... 227 

5.4.5 线程状态分析 .. 227 

5.4.6 锁分析  232 

5.4.7 静态性能调优 .. 232 

5.4.8 分布式跟踪 ...... 233 

5.5 观测工具 ........ 233 

5.5.1 perf ...... 234 

5.5.2 profifile .. 237 

5.5.3 offcputime ......... 238 

5.5.4 strace ... 239 

5.5.5 execsnoop ......... 241 

5.5.6 syscount ............ 242 

5.5.7 bpftrace ............. 243 

5.6 明白了 ............ 247 

5.6.1 缺少符号 .......... 248 

5.6.2 缺少栈  249 

5.7 练习 .. 250 

5.8 参考资料 ........ 251 

第6章 CPU253 

6.1 术语 .. 254 

6.2 模型 .. 255 

6.2.1 CPU 架构.......... 255 

6.2.2 CPU 内存缓存.. 255 

6.2.3 CPU 运行队列.. 256 

6.3 概念 .. 257 

6.3.1 时钟频率 .......... 257 

6.3.2 指令 .... 257 

6.3.3 指令流水线 ...... 258 

6.3.4 指令宽度 .......... 258 

6.3.5 指令尺寸 .......... 258 

6.3.6 SMT .... 259 

6.3.7 IPC 和 CPI ........ 259

6.3.8 使用率  260 

6.3.9 用户时间 / 内核时间 ..... 260 

6.3.10 饱和度 ............ 260 

6.3.11 抢占 .. 261 

6.3.12 优先级反转 .... 261 

6.3.13 多进程和多线程 .......... 261 

6.3.14 字长 .. 263 

6.3.15 编译器优化 .... 263 

6.4 架构 .. 263 

6.4.1 硬件 .... 264 

6.4.2 软件 .... 275 

6.5 方法 .. 278 

6.5.1 工具法  279 

6.5.2 USE 方法 .......... 279 

6.5.3 负载特征归纳 .. 280 

6.5.4 剖析 .... 281 

6.5.5 周期分析 .......... 285 

6.5.6 性能监测 .......... 285 

6.5.7 静态性能调优 .. 286 

6.5.8 优先级调优 ...... 286 

6.5.9 资源控制 .......... 287 

6.5.10 CPU 绑定........ 287 

6.5.11 微基准测试 .... 287 

6.6 观测工具 ........ 288 

6.6.1 uptime . 289 

6.6.2 vmstat .. 292 

6.6.3 mpstat .. 293 

6.6.4 sar ........ 294 

6.6.5 ps ......... 294 

6.6.6 top ....... 295 

6.6.7 pidstat .. 296 

6.6.8 time 和 ptime .... 297 

6.6.9 turbostat ............ 298 

6.6.10 showboost ....... 299

6.6.11 pmcarch ........... 299 

6.6.12 tlbstat. 300 

6.6.13 perf .... 301 

6.6.14 profifile  311 

6.6.15 cpudist ............. 312 

6.6.16 runqlat ............. 313 

6.6.17 runqlen ............ 314 

6.6.18 softirqs ............ 315 

6.6.19 hardirqs ........... 316 

6.6.20 bpftrace ........... 316 

6.6.21 其他工具 ........ 319 

6.7 可视化 ............ 322 

6.7.1 使用率热图 ...... 322 

6.7.2 亚秒级偏移量热图 ........ 323 

6.7.3 火焰图  323 

6.7.4 FlameScope....... 326 

6.8 实验 .. 327 

6.8.1 Ad Hoc  327 

6.8.2 SysBench .......... 328 

6.9 调优 .. 328 

6.9.1 编译器选项 ...... 329 

6.9.2 调度优先级和调度类 .... 329 

6.9.3 调度器选项 ...... 329 

6.9.4 调节调速器 ...... 331 

6.9.5 能耗状态 .......... 331 

6.9.6 CPU 绑定.......... 331 

6.9.7 独占 CPU 组..... 332 

6.9.8 资源控制 .......... 332 

6.9.9 安全启动选项 .. 332 

6.9.10 处理器选项(BIOS 调优) ........ 333 

6.10 练习  333 

6.11 参考资料....... 334

第7章 内存337 

7.1 术语 .. 338 

7.2 概念 .. 339 

7.2.1 虚拟内存 .......... 339 

7.2.2 换页 .... 340 

7.2.3 按需换页 .......... 341 

7.2.4 过度提交 .......... 342 

7.2.5 进程交换 .......... 342 

7.2.6 文件系统缓存用量 ........ 343 

7.2.7 使用率和饱和度 ............ 343 

7.2.8 分配器  343 

7.2.9 共享内存 .......... 344 

7.2.10 工作集大小 .... 344 

7.2.11 字长 .. 344 

7.3 架构 .. 345 

7.3.1 硬件 .... 345 

7.3.2 软件 .... 349 

7.3.3 进程虚拟地址空间 ........ 353 

7.4 方法 .. 357 

7.4.1 工具法  357 

7.4.2 USE 方法 .......... 358 

7.4.3 描述使用情况 .. 359 

7.4.4 周期分析 .......... 360 

7.4.5 性能监测 .......... 360 

7.4.6 泄漏检测 .......... 360 

7.4.7 静态性能调优 .. 361 

7.4.8 资源控制 .......... 362 

7.4.9 微基准测试 ...... 362 

7.4.10 内存收缩 ........ 362 

7.5 观测工具 ........ 362 

7.5.1 vmstat .. 363 

7.5.2 PSI....... 364 

7.5.3 swapon  365

7.5.4 sar ........ 365 

7.5.5 slabtop . 367 

7.5.6 numastat ............ 368 

7.5.7 ps ......... 369 

7.5.8 top ....... 370 

7.5.9 pmap ... 371 

7.5.10 perf .... 372 

7.5.11 drsnoop ............ 376 

7.5.12 wss .... 376 

7.5.13 bpftrace ........... 377 

7.5.14 其他工具 ........ 381 

7.6 调优 .. 384 

7.6.1 可调参数 .......... 384 

7.6.2 多种页面大小 .. 386 

7.6.3 分配器  387 

7.6.4 NUMA 绑定 ..... 387 

7.6.5 资源控制 .......... 387 

7.7  练习 . 388 

7.8 参考资料 ........ 389 

第8章 文件系统.......393 

8.1 术语 .. 394 

8.2 模型 .. 395 

8.2.1 文件系统接口 .. 395 

8.2.2 文件系统缓存 .. 395 

8.2.3 二级缓存 .......... 396 

8.3 概念 .. 396 

8.3.1 文件系统延时 .. 396 

8.3.2 缓存 .... 397 

8.3.3 随机与顺序 I/O  397 

8.3.4 预取 .... 398 

8.3.5 预读 .... 399 

8.3.6 回写缓存 .......... 399 

8.3.7 同步写  400

8.3.8 裸 I/O 与直接 I/O ........... 400 

8.3.9 非阻塞 I/O ........ 400 

8.3.10 内存映射文件  401 

8.3.11 元数据 ............ 401 

8.3.12 逻辑 I/O 与物理 I/O ..... 402 

8.3.13 操作并不平等  404 

8.3.14 特殊的文件系统 .......... 405 

8.3.15 访问时间戳 .... 405 

8.3.16 容量 .. 405 

8.4 架构 .. 406 

8.4.1 文件系统 I/O 栈 ............. 406 

8.4.2 VFS ..... 407 

8.4.3 文件系统缓存 .. 407 

8.4.4 文件系统特性 .. 409 

8.4.5 文件系统种类 .. 411 

8.4.6 卷和池  416 

8.5 方法 .. 417 

8.5.1 磁盘分析 .......... 418 

8.5.2 延时分析 .......... 418 

8.5.3 负载特征归纳 .. 420 

8.5.4 性能监测 .......... 422 

8.5.5 静态性能调优 .. 423 

8.5.6 缓存调优 .......... 423 

8.5.7 负载分离 .......... 423 

8.5.8 微基准测试 ...... 424 

8.6 观测工具 ........ 425 

8.6.1 mount .. 426 

8.6.2 free ...... 426 

8.6.3 top ....... 427 

8.6.4 vmstat .. 427 

8.6.5 sar ........ 427 

8.6.6 slabtop . 428 

8.6.7 strace ... 429 

8.6.8 fatrace . 429

8.6.9 LatencyTOP ...... 430 

8.6.10 opensnoop ....... 431 

8.6.11 fifiletop  432 

8.6.12 cachestat .......... 433 

8.6.13 ext4dist(xfs、zfs、btrfs、nfs)  433 

8.6.14 ext4slower(xfs、zfs、btrfs、nfs) ......... 435 

8.6.15 bpftrace ........... 436 

8.6.16 其他工具 ........ 443 

8.6.17 可视化 ............ 444 

8.7 实验 .. 445 

8.7.1 Ad Hoc  445 

8.7.2 微基准测试工具 ............ 446 

8.7.3 缓存刷新 .......... 448 

8.8 调优 .. 448 

8.8.1 应用程序调用 .. 449 

8.8.2 ext4 ..... 450 

8.8.3 ZFS ..... 452 

8.9 练习 .. 453 

8.10 参考资料 ...... 454 

第9章 磁盘457 

9.1 术语 .. 458 

9.2 模型 .. 459 

9.2.1 简单磁盘 .......... 459 

9.2.2 缓存磁盘 .......... 459 

9.2.3 控制器  460 

9.3 概念 .. 461 

9.3.1 测量时间 .......... 461 

9.3.2 时间尺度 .......... 463 

9.3.3 缓存 .... 464 

9.3.4 随机 I/O 与连续 I/O ....... 464 

9.3.5 读 / 写比 ........... 465 

9.3.6 I/O 大小 ............ 466 

9.3.7 IOPS 并不平等 . 466

9.3.8 非数据传输磁盘命令 .... 466 

9.3.9 使用率  467 

9.3.10 饱和度 ............ 468 

9.3.11 I/O 等待 .......... 468 

9.3.12 同步与异步 .... 468 

9.3.13 磁盘 I/O 与应用程序 I/O ........... 469 

9.4 架构 .. 469 

9.4.1 磁盘类型 .......... 469 

9.4.2 接口 .... 476 

9.4.3 存储类型 .......... 477 

9.4.4 操作系统磁盘 I/O 栈 ..... 480 

9.5 方法 .. 483 

9.5.1 工具法  484 

9.5.2 USE 方法 .......... 484 

9.5.3 性能监测 .......... 486 

9.5.4 负载特征归纳 .. 486 

9.5.5 延时分析 .......... 488 

9.5.6 静态性能调优 .. 489 

9.5.7 缓存调优 .......... 490 

9.5.8 资源控制 .......... 490 

9.5.9 微基准测试 ...... 490 

9.5.10 伸缩 .. 491 

9.6 观测工具 ........ 492 

9.6.1 iostat .... 493 

9.6.2 sar ........ 497 

9.6.3 PSI....... 498 

9.6.4 pidstat .. 498 

9.6.5 perf ...... 499 

9.6.6 biolatency .......... 502 

9.6.7 biosnoop ............ 504 

9.6.8 iotop、biotop .... 506 

9.6.9 biostacks ........... 508 

9.6.10 blktrace ........... 509 

9.6.11 bpftrace ........... 513

9.6.12 MegaCli .......... 518 

9.6.13 smartctl ........... 518 

9.6.14 SCSI 日志 ....... 520 

9.6.15 其他工具 ........ 521 

9.7 可视化 ............ 521 

9.7.1 折线图  521 

9.7.2 延时散点图 ...... 522 

9.7.3 延时热图 .......... 522 

9.7.4 偏移量热图 ...... 523 

9.7.5 使用率热图 ...... 524 

9.8 实验 .. 524 

9.8.1 Ad Hoc  524 

9.8.2 自定义负载生成器 ........ 525 

9.8.3 微基准测试工具 ............ 525 

9.8.4 随机读示例 ...... 525 

9.8.5 ioping .. 526 

9.8.6 fifio ........ 527 

9.8.7 blkreplay ........... 527 

9.9 调优 .. 527 

9.9.1 操作系统可调参数 ........ 527 

9.9.2 磁盘设备可调参数 ........ 528 

9.9.3 磁盘控制器可调参数 .... 528 

9.10 练习  529 

9.11 参考资料....... 530 

*10章 网络............533 

10.1 术语  534 

10.2 模型  535 

10.2.1 网络接口 ........ 535 

10.2.2 控制器 ............ 535 

10.2.3 协议栈 ............ 536 

10.3 概念  537 

10.3.1 网络和路由 .... 537 

10.3.2 协议 .. 538目录 

XXVIII 

10.3.3 封装 .. 538 

10.3.4 包的大小 ........ 538 

10.3.5 延时 .. 539 

10.3.6 缓冲 .. 541 

10.3.7 连接积压队列  541 

10.3.8 接口协商 ........ 542 

10.3.9 避免阻塞 ........ 542 

10.3.10 使用率 .......... 542 

10.3.11 本地连接 ...... 543 

10.4 架构  543 

10.4.1 协议 .. 543 

10.4.2 硬件 .. 549 

10.4.3 软件 .. 551 

10.5 方法  558 

10.5.1 工具法 ............ 559 

10.5.2 USE 方法 ........ 560 

10.5.3 工作负载特征归纳 ...... 561 

10.5.4 延时分析 ........ 562 

10.5.5 性能监测 ........ 563 

10.5.6 数据包xiu探 .... 564 

10.5.7 TCP 分析 ........ 565 

10.5.8 静态性能调优  565 

10.5.9 资源控制 ........ 566 

10.5.10 微基准测试 .. 567 

10.6 观测工具 ...... 567 

10.6.1 ss ....... 568 

10.6.2 ip ....... 570 

10.6.3 ifconfifig ............ 571 

10.6.4 nstat ... 572 

10.6.5 netstat  573 

10.6.6 sar ...... 577 

10.6.7 nicstat  579 

10.6.8 ethtool ............. 580 

10.6.9 tcplife  582

10.6.10 tcptop ............ 583 

10.6.11 tcpretrans ....... 583 

10.6.12 bpftrace ......... 584 

10.6.13 tcpdump ........ 592 

10.6.14 Wireshark ...... 594 

10.6.15 其他工具 ...... 594 

10.7 实验  596 

10.7.1 ping ... 596 

10.7.2 traceroute ........ 597 

10.7.3 pathchar........... 598 

10.7.4 iperf ... 598 

10.7.5 netperf ............. 599 

10.7.6 tc ....... 600 

10.7.7 其他工具 ........ 601 

10.8 调优  601 

10.8.1 系统级可调参数 .......... 601 

10.8.2 套接字选项 .... 607 

10.8.3 配置 .. 608 

10.9 练习  608 

10.10 参考资料 .... 609 

*11章 云计算.........613 

11.1 背景. 614 

11.1.1 实例类型 ........ 615 

11.1.2 可扩展的架构  615 

11.1.3 容量规划 ........ 616 

11.1.4 存储 .. 618 

11.1.5 多租户 ............ 619 

11.1.6 编排(Kubernetes) ...... 620 

11.2 硬件虚拟化... 621 

11.2.1 实现 .. 622 

11.2.2 系统开销 ........ 623 

11.2.3 资源控制 ........ 629 

11.2.4 可观测性 ........ 631

11.3 操作系统虚拟化......... 639 

11.3.1 实现方式 ........ 641 

11.3.2 系统开销 ........ 644 

11.3.3 资源控制 ........ 647 

11.3.4 可观测性 ........ 651 

11.4 轻量虚拟化... 664 

11.4.1 实现 .. 665 

11.4.2 开销 .. 666 

11.4.3 资源控制 ........ 666 

11.4.4 可观测性 ........ 666 

11.5 其他类型....... 668 

11.6 比较. 668 

11.7 练习... 670 

11.8 参考资料....... 671 

*12章 基准测试.....675 

12.1 背景  676 

12.1.1 原因 .. 676 

12.1.2 有效的基准测试 .......... 677 

12.1.3 基准测试失败  679 

12.2  基准测试的类型 ....... 685 

12.2.1 微基准测试 .... 685 

12.2.2 模拟 .. 687 

12.2.3 回放 .. 688 

12.2.4 行业标准 ........ 688 

12.3 方法  690 

12.3.1 被动基准测试  690 

12.3.2 主动基准测试  691 

12.3.3 CPU 剖析........ 694 

12.3.4 USE 方法 ........ 695 

12.3.5 工作负载特征归纳 ...... 696 

12.3.6 自定义基准测试 .......... 696 

12.3.7 逐渐增加负载  696 

12.3.8 合理性检查 .... 698目录 

XXXI 

12.3.9 统计分析 ........ 699 

12.3.10 基准测试检查清单 .... 700 

12.4 基准测试问题 ............ 701 

12.5 练习  702 

12.6 参考资料 ...... 703 

*13章 perf.............705 

13.1 子命令概览 .. 706 

13.2 单行命令 ...... 708 

13.3 perf事件 ........ 713 

13.4 硬件事件 ...... 715 

13.4.1 频率采样 ........ 716 

13.5 软件事件 ...... 717 

13.6 tracepoint事件 ............ 718 

13.7 探针事件 ...... 719 

13.7.1 kprobe ............. 719 

13.7.2 uprobe ............. 721 

13.7.3 USDT 探针 ..... 724 

13.8 perf stat ......... 725 

13.8.1 选项 .. 726 

13.8.2 周期统计信息  727 

13.8.3 CPU 均衡........ 727 

13.8.4 事件过滤器 .... 727 

13.8.5 隐藏统计信息  728 

13.9 perf record ..... 728 

13.9.1 选项 .. 729 

13.9.2 CPU 剖析........ 729 

13.9.3 栈遍历 ............ 730 

13.10 perf report ... 730 

13.10.1 TUI .. 731 

13.10.2 STDIO........... 731 

13.11 perf script .... 732 

13.11.1 火焰图 .......... 734 

13.11.2 跟踪脚本 ...... 734目录 

XXXII 

13.12 perf trace ..... 735 

13.12.1 内核版本 ...... 736 

13.13 其他命令 .... 736 

13.14 perf文档 ...... 737 

13.15 参考资料 .... 737 

*14章 Ftrace..........739 

14.1 功能概述 ...... 740 

14.2 tracefs(/sys) ........... 742&

电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
扫描二维码,访问我们的微信店铺

性能之巅:洞悉系统、企业与云计算(第2版)(英文版)

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏