性能之巅:洞悉系统、企业与云计算:英文版9787121450945
正版图书,可开发票,请放心购买。
¥
178.5
7.5折
¥
238
全新
库存71件
作者(美)布兰登·格雷格著
出版社电子工业出版社
ISBN9787121450945
出版时间2023-07
装帧平装
开本其他
定价238元
货号13029758
上书时间2024-12-24
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
布兰登·格雷格是计算性能和云计算方面的行业专家。他是 Net?ix 的高级性能架构 师,从事性能设计、评估、分析和调整工作。他是多本技术图书的作者,包括《BPF 之 巅》,他获得了 USENIX LISA 系统管理杰出成就奖。他还担任过内核工程师、性能负责 人和专业技术培训师,并曾担任 USENIX LISA 2018 会议的项目联合主席。他开发了可 用于多个操作系统的性能工具,以及包括火焰图在内的性能分析的可视化工具与方法。
目录
第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
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章 CPU 253
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
— 没有更多了 —
以下为对购买帮助不大的评价