性能之巅 (Brendan Gregg)【简介_书评_在线阅读-pdf mobi epub】

原创 Brendan Gregg  2020-09-19 20:52  阅读 349 views 次
WordPress免费响应式主题:Unite主题

当前版本有售

  • 京东商城 121.60元 ¥128.0 购买纸质书
  • 当当网 94.90元 ¥128.0 购买纸质书
  • 中国图书网 89.60元 ¥128.0 购买纸质书
  • 孔网 43.80元起 ¥128.0 购买纸质书
  • 购买二手书

  • 多抓鱼 51.90元起 购买二手书
  • 内容简介 ······

    《性能之巅:洞悉系统、企业与云计算》基于Linux 和Solaris 系统阐述了适用于所有系统的性能理论和方法,Brendan Gregg 将业界普遍承认的性能方法、工具和指标收集于本书之中。阅读本书,你能洞悉系统运作的方式,学习到分析和提高系统与应用程序性能的方法,这些性能方法同样适用于大型企业与云计算这类最为复杂的环境的性能分析与调优。

    作者简介 ······

    Brendan Gregg 是Joyent公司的首席性能工程师,通过软件栈分析性能和扩展。在Sun Microsystem公司(之后为Oracle)作为首席性能和内核工程师期间,他的工作包括开发ZFS L2ARC,这是一个利用闪速存储器提升性能的文件系统。他还开发了许许多多的性能工具,部分工具收录在Mac OS X和Oracle Solaris 11的发行版中。他最近从事的工作覆盖针对Linux和illumos内核分析的性能可视化。他还是《DTrace》(Prentice Hall出版社,2011年)和《Solaris Performance and Tools》的两书合著者。

    译者介绍:

    徐章宁,1984年生,毕业于上海交通大学,硕士毕业后一直从事软件运维工作,在云存储与虚拟化领域浸沁多年,现于百度公司担任高级运维工程师,致力于大数据方向运维。钟爱...

    小说下载txt电子书免费下载

    Brendan Gregg 是Joyent公司的首席性能工程师,通过软件栈分析性能和扩展。在Sun Microsystem公司(之后为Oracle)作为首席性能和内核工程师期间,他的工作包括开发ZFS L2ARC,这是一个利用闪速存储器提升性能的文件系统。他还开发了许许多多的性能工具,部分书香门第电子书工具收录在Mac OS X和Oracle Solaris 11的发行版中。他最近从事的工作覆盖针对Linux和illumos内核分析的性能可视化。他还是《DTrace》(Prentice Hall出版社,2011年)和《Solaris Performance and Tools》的两书合著者。

    译者介绍:

    徐章宁,1984年生,毕业于上海交通大学,硕士毕业后一直从事软件运维工作,在云存储与虚拟化领域浸沁多年,现于百度公司担任高级运维工程师,致力于大数据方向运维。钟爱开源软件,平日热爱读书和写作,《算法谜题》《编程格调》合译者。

    吴寒思,2010年毕业于南京大学软件学院,目前就职于EMC公司核心技术部从事文件系统研发工作,拥有2项文件系统方面专利。对程序设计、系统存储、云计算和操作系统有浓厚兴趣。

    陈磊,1979年生,毕业于同济大学。从事网络、系统和IT管理14年。曾就职于EMC中国卓越研发集团,任实验室经理。目前在互联网金融企业负责基础架构。兴趣广泛,尤其热爱开源软件和其它各类新兴技术的探讨和研究。

    谁读这本书?

  • 167人在读
  • ###

  • 209人读过
  • ###

  • 2325人想读
  • 喜欢读"性能之巅"的人也喜欢的电子书 ······

  • 七周七并发模型 24.99元
  • Web性能权威指南 29.99元
  • SRE:Google运维解密 27.00元
  • 高性能MySQL(第3版) 9.90元
  • Python源码剖析 38.39元
  • 喜欢读"性能之巅"的人也喜欢 ······

  • 垃圾回收的算法与实现
  • Java性能优化权威指南
  • 数据密集型应用系统设计
  • 架构即未来:现代企业可扩展的We...
  • 现代体系结构上的UNIX系统:内核...
  • 性能之巅 目录

    第1 章 绪论 ...................................................................................... 1
    1.1 系统性能 ............................................................................................ 1
    1.2 人员 ................................................................................................2
    1.3 事情 ................................................................................................3
    1.4 视角 ................................................................................................4
    1.5 性能是充满挑战的 ...................................................................................... 4
    1.5.1 性能是主观的 ........................................................................................................... 4
    1.5.2 系统是复杂的 ........................................................................................................... 5
    1.5.3 可能有多个问题并存 ............................................................................................... 6
    1.6 延时 .................................................................................... 6
    1.7 动态跟踪 ......................................................................................................... 7
    1.8 云计算 ........................................................................................................... 8
    1.9 案例研究 ....................................................................................................... 8
    1.9.1 缓慢的磁盘 ............................................................................................................... 9
    1.9.2 软件变更 ................................................................................................................. 10
    1.9.3 更多阅读 ................................................................................................................. 12
    第2 章 方法 .............................................................................................................. 13
    2.1 术语 .................................................................................................................. 14
    2.2 模型 .......................................................................................................... 14
    2.2.1 受测系统 ................................................................................................................. 15
    2.2.2 排队系统 ................................................................................................................. 15
    2.3 概念 ........................................................................................................... 16
    2.3.1 延时 ......................................................................................................................... 16
    2.3.2 时间量级 ................................................................................................................. 17
    2.3.3 权衡三角 ................................................................................................................. 18
    2.3.4 调整的影响 ............................................................................................................. 19
    2.3.5 合适的层级 ............................................................................................................. 19
    2.3.6 性能建议的时间点 ................................................................................................. 20
    2.3.7 负载vs.架构 ............................................................................................................ 20
    2.3.8 扩展性 ..................................................................................................................... 21
    2.3.9 已知的未知 ............................................................................................................. 22
    2.3.10 指标 ....................................................................................................................... 23
    2.3.11 使用率 ................................................................................................................... 24
    2.3.12 饱和度 ................................................................................................................... 25
    2.3.13 剖析 ....................................................................................................................... 26
    2.3.14 缓存 ....................................................................................................................... 26
    2.4 视角 ............................................................................................................. 28
    2.4.1 资源分析 ................................................................................................................. 28
    2.4.2 工作负载分析 ......................................................................................................... 29
    2.5 方法 .......................................................................................................... 30
    2.5.1 街灯反方法 ............................................................................................................. 31
    2.5.2 随机变动反方法 ..................................................................................................... 32
    2.5.3 责怪他人反方法 ..................................................................................................... 32
    2.5.4 ad hoc 核对清单法 .................................................................................................. 33
    2.5.5 问题陈述法 ............................................................................................................. 33
    2.5.6 科学法 ..................................................................................................................... 34
    2.5.7 诊断循环 ................................................................................................................. 35
    2.5.8 工具法 ..................................................................................................................... 35
    2.5.9 USE 方法 .................................................................................................................. 36
    2.5.10 工作负载特征归纳 ............................................................................................... 42
    2.5.11 向下挖掘分析 ....................................................................................................... 43
    2.5.12 延时分析 ............................................................................................................... 44
    2.5.13 R 方法 ................................................................................................................... 45
    2.5.14 事件跟踪 ............................................................................................................... 45
    2.5.15 基础线统计 ........................................................................................................... 47
    2.5.16 静态性能调整 ....................................................................................................... 47
    2.5.17 缓存调优 ............................................................................................................... 47
    2.5.18 微基准测试 ........................................................................................................... 48
    2.6 建模 ...................................................................................................... 49
    2.6.1 企业vs.云 ................................................................................................................ 49
    2.6.2 可视化识别 ............................................................................................................. 49
    2.6.3 Amdahl 扩展定律 ................................................................................................... 51
    2.6.4 通用扩展定律 ......................................................................................................... 52
    2.6.5 排队理论 ................................................................................................................. 52
    2.7 容量规划 ...................................................................................................... 56
    2.7.1 资源极限 ................................................................................................................. 56
    2.7.2 因素分析 ................................................................................................................. 58
    2.7.3 扩展方案 ................................................................................................................. 58
    2.8 统计 .................................................................................................. 59
    2.8.1 量化性能 ................................................................................................................. 59
    2.8.2 平均值 ..................................................................................................................... 60
    2.8.3 标准方差、百分位数、中位数 ............................................................................. 61
    2.8.4 变异系数 ................................................................................................................. 62
    2.8.5 多重模态分布 ......................................................................................................... 62
    2.8.6 异常值 ..................................................................................................................... 63
    2.9 监视 ................................................................................................... 63
    2.9.1 基于时间的规律 ..................................................................................................... 63
    2.9.2 监测产品 ................................................................................................................. 65
    2.9.3 启动以来的信息统计 ............................................................................................. 65
    2.10 可视化 .................................................................................................. 65
    2.10.1 线图 ....................................................................................................................... 65
    2.10.2 散点图 ................................................................................................................... 66
    2.10.3 热图 ....................................................................................................................... 67
    2.10.4 表面图 ................................................................................................................... 68
    2.10.5 可视化工具 ........................................................................................................... 69
    2.11 练习 .................................................................................................. 70
    2.12 参考 ............................................................................................................ 70
    第3 章 操作系统 .......................................................................................... 72
    3.1 术语 ............................................................................................................ 72
    3.2 背景 ................................................................................................................... 73
    3.2.1 内核 ......................................................................................................................... 73
    3.2.2 栈 ............................................................................................................................. 76
    3.2.2 中断和中断线程 ..................................................................................................... 77
    3.2.4 中断优先级 ............................................................................................................. 78
    3.2.5 进程 ......................................................................................................................... 78
    3.2.6 系统调用 ................................................................................................................. 80
    3.2.7 虚拟内存 ................................................................................................................. 82
    3.2.8 内存管理 ................................................................................................................. 82
    3.2.9 调度器 ..................................................................................................................... 83
    3.2.10 文件系统 ............................................................................................................... 84
    3.2.11 缓存 ....................................................................................................................... 86
    3.2.12 网络 ....................................................................................................................... 87
    3.2.13 设备驱动 ............................................................................................................... 87
    3.2.14 多处理器 ............................................................................................................... 87
    3.2.15 抢占 ....................................................................................................................... 88
    3.2.16 资源管理 ............................................................................................................... 88
    3.2.17 观测性 ................................................................................................................... 89
    3.3 内核 ................................................................................................................ 89
    3.3.1 UNIX ................................................................................................... 90
    3.3.2 基于Solaris ............................................................................................................. 90
    3.3.3 基于Linux ............................................................................................................... 93
    3.3.4 差异 ......................................................................................................................... 95
    3.4 练习 ............................................................................................................. 96
    3.5 参考 ....................................................................................................... 96
    第4 章 观测工具 ....................................................................................... 98
    4.1 工具类型 .................................................................................................. 98
    4.1.1 计数器 ..................................................................................................................... 99
    4.1.2 跟踪 ....................................................................................................................... 100
    4.1.3 剖析 ....................................................................................................................... 101
    4.1.4 监视(sar) ........................................................................................................... 102
    4.2 观测来源 ....................................................................................................... 103
    4.2.1 /proc ....................................................................................................................... 103
    4.2.2 /sys ......................................................................................................................... 108
    4.2.3 kstat ........................................................................................................................ 109
    4.2.4 延时核算 ............................................................................................................... 111
    4.2.5 微状态核算 ........................................................................................................... 112
    4.2.6 其他的观测源 ....................................................................................................... 112
    4.3 DTrace .................................................................................................... 114
    4.3.1 静态和动态跟踪 ................................................................................................... 115
    4.3.2 探针 ....................................................................................................................... 116
    4.3.3 provider .................................................................................................................. 116
    4.3.4 参数 ....................................................................................................................... 117
    4.3.5 D 语言 ................................................................................................................... 117
    4.3.6 内置变量 ............................................................................................................... 118
    4.3.7 action ..................................................................................................................... 118
    4.3.8 变量类型 ............................................................................................................... 119
    4.3.9 单行命令 ............................................................................................................... 121
    4.3.10 脚本 ..................................................................................................................... 121
    4.3.11 开销 ..................................................................................................................... 122
    4.3.12 文档和资源 ......................................................................................................... 123
    4.4 SystemTap ................................................................................................... 124
    4.4.1 探针 ....................................................................................................................... 124
    4.4.2 tapset ...................................................................................................................... 125
    4.4.3 action 和内置变量................................................................................................. 125
    4.4.4 示例 ....................................................................................................................... 125
    4.4.5 开销 ....................................................................................................................... 127
    4.4.6 文档和资源 ........................................................................................................... 128
    4.5 perf ......................................................................................................................... 128
    4.6 观测工具的观测 .............................................................................................. 129
    4.7 练习 .............................................................................................................. 130
    4.8 参考 .............................................................................................................. 130
    第5 章 应用程序 ............................................................................................. 131
    5.1 应用程序基础 ................................................................................................ 131
    5.1.1 目标 ....................................................................................................................... 132
    5.1.2 常见情况的优化 ................................................................................................... 133
    5.1.3 观测性 ................................................................................................................... 134
    5.1.4 大O 标记法 .......................................................................................................... 134
    5.2 应用程序性能技术 ........................................................................................... 135
    5.2.1 选择I/O 尺寸 ........................................................................................................ 135
    5.2.2 缓存 ....................................................................................................................... 136
    5.2.3 缓冲区 ................................................................................................................... 136
    5.2.4 轮询 ....................................................................................................................... 136
    5.2.5 并发和并行 ........................................................................................................... 137
    5.2.6 非阻塞I/O ............................................................................................................. 139
    5.2.7 处理器绑定 ........................................................................................................... 139
    5.3 编程语言 ......................................................................................................... 140
    5.3.1 编译语言 ............................................................................................................... 140
    5.3.2 解释语言 ............................................................................................................... 141
    5.3.3 虚拟机 ................................................................................................................... 142
    5.3.4 垃圾回收 ............................................................................................................... 142
    5.4 方法和分析 ................................................................................................ 143
    5.4.1 线程状态分析 ....................................................................................................... 143
    5.4.2 CPU 剖析 .............................................................................................................. 146
    5.4.3 系统调用分析 ....................................................................................................... 148
    5.4.4 I/O 剖析 ................................................................................................................. 154
    5.4.5 工作负载特征归纳 ............................................................................................... 155
    5.4.6 USE 方法 ............................................................................................................... 155
    5.4.7 向下挖掘法 ........................................................................................................... 156
    5.4.8 锁分析 ...................................................................................................... 156
    5.4.9 静态性能调优 ................................................................................. 159
    5.5 练习 ......................................................................................................... 160
    5.6 参考 ...................................................................................................... 161
    第6 章 CPU ............................................................................................. 162
    6.1 术语 ..................................................................................................... 163
    6.2 模型 ........................................................................................................ 163
    6.2.1 CPU 架构 .............................................................................................................. 163
    6.2.2 CPU 内存缓存 ...................................................................................................... 164
    6.2.3 CPU 运行队列 ...................................................................................................... 165
    6.3 概念 ............................................................................................................ 165
    6.3.1 时钟频率 ............................................................................................................... 165
    6.3.2 指令 ....................................................................................................................... 166
    6.3.3 指令流水线 ........................................................................................................... 166
    6.3.4 指令宽度 ............................................................................................................... 167
    6.3.5 CPI,IPC ............................................................................................................... 167
    6.3.6 使用率 ................................................................................................................... 167
    6.3.7 用户时间/内核时间 .............................................................................................. 168
    6.3.8 饱和度 ................................................................................................................... 168
    6.3.9 抢占 ....................................................................................................................... 168
    6.3.10 优先级反转 ......................................................................................................... 169
    6.3.11 多进程,多线程 ................................................................................................. 169
    6.3.12 字长 ..................................................................................................................... 170
    6.3.13 编译器优化 ......................................................................................................... 171
    6.4 架构 ......................................................................................................... 171
    6.4.1 硬件 ....................................................................................................................... 171
    6.4.2 软件 ....................................................................................................................... 179
    6.5 方法 .................................................................................................................. 184
    6.5.1 工具法 ................................................................................................................... 184
    6.5.2 USE 方法 ............................................................................................................... 185
    6.5.3 负载特征归纳 ....................................................................................................... 186
    6.5.4 剖析 ....................................................................................................................... 187
    6.5.5 周期分析 ............................................................................................................... 188
    6.5.6 性能监控 ............................................................................................................... 189
    6.5.7 静态性能调优 ....................................................................................................... 189
    6.5.8 优先级调优 ........................................................................................................... 189
    6.5.9 资源控制 ............................................................................................................... 190
    6.5.10 CPU 绑定 ............................................................................................................ 190
    6.5.11 微型基准测试 ..................................................................................................... 191
    6.5.12 扩展 ..................................................................................................................... 191
    6.6 分析 ........................................................................................................... 192
    6.6.1 uptime .................................................................................................................... 192
    6.6.2 vmstat .................................................................................................................... 194
    6.6.3 mpstat .................................................................................................................... 195
    6.6.4 sar .......................................................................................................................... 197
    6.6.5 ps............................................................................................................................ 198
    6.6.6 top .......................................................................................................................... 199
    6.6.7 prstat ...................................................................................................................... 200
    6.6.8 pidstat .................................................................................................................... 201
    6.6.9 time 和ptime ......................................................................................................... 202
    6.6.10 DTrace ................................................................................................................. 203
    6.5.11 SystemTap ........................................................................................................... 209
    6.6.12 perf ....................................................................................................................... 209
    6.6.13 cpustat .................................................................................................................. 215
    6.6.14 其他工具 ............................................................................................................. 216
    6.6.15 可视化 ................................................................................................................. 216
    6.7 实验 ...................................................................................................... 219
    6.7.1 Ad Hoc ................................................................................................................... 219
    6.7.2 SysBench ............................................................................................................... 220
    6.8 调优 ........................................................................................................... 220
    6.8.1 编译器选项 ........................................................................................................... 221
    6.8.2 调度优先级和调度类 ........................................................................................... 221
    6.8.3 调度器选项 ........................................................................................................... 221
    6.8.4 进程绑定 ............................................................................................................... 223
    6.8.5 独占CPU 组 ......................................................................................................... 224
    6.8.6 资源控制 ............................................................................................................... 224
    6.8.7 处理器选项(BIOS 调优) ................................................................................. 224
    6.9 练习 ............................................................................................... 225
    6.10 参考资料 ................................................................................................... 226
    第7 章 内存 ........................................................................................................... 228
    7.1 术语 ................................................................................................................... 229
    7.2 概念 ...................................................................................................... 229
    7.2.1 虚拟内存 ............................................................................................................... 230
    7.2.2 换页 ....................................................................................................................... 230
    7.2.3 按需换页 ............................................................................................................... 231
    7.2.4 过度提交 ............................................................................................................... 233
    7.2.5 交换 ....................................................................................................................... 233
    7.2.6 文件系统缓存占用 ............................................................................................... 233
    7.2.7 使用率和饱和度 ................................................................................................... 234
    7.2.8 分配器 ................................................................................................................... 234
    7.2.9 字长 ....................................................................................................................... 234
    7.3 架构 ......................................................................................................... 234
    7.3.1 硬件 ....................................................................................................................... 235
    7.3.2 软件 ....................................................................................................................... 239
    7.3.3 进程地址空间 ....................................................................................................... 244
    7.4 方法 ........................................................................................................ 248
    7.4.1 工具法 ................................................................................................................... 249
    7.4.2 USE 方法 ............................................................................................................... 249
    7.4.3 使用特征归纳 ....................................................................................................... 250
    7.4.4 周期分析 ............................................................................................................... 251
    7.4.5 性能监测 ............................................................................................................... 251
    7.4.6 泄漏检测 ............................................................................................................... 252
    7.4.7 静态性能调优 ....................................................................................................... 252
    7.4.8 资源控制 ............................................................................................................... 253
    7.4.9 微基准测试 ........................................................................................................... 253
    7.5 分析 ................................................................................................... 253
    7.5.1 vmstat .................................................................................................................... 254
    7.5.2 sar .......................................................................................................................... 256
    7.5.3 slabtop .................................................................................................................... 259
    7.5.4 ::kmstat .................................................................................................................. 260
    7.5.5 ps............................................................................................................................ 261
    7.5.6 top .......................................................................................................................... 262
    7.5.7 prstat ...................................................................................................................... 263
    7.5.8 pmap ...................................................................................................................... 264
    7.5.9 DTrace ................................................................................................................... 265
    7.5.10 SystemTap ........................................................................................................... 269
    7.5.11 其他工具 ............................................................................................................. 269
    7.6 调优 .................................................................................. 270
    7.6.1 可调参数 ................................................................................................................. 271
    7.6.2 多个页面大小 ....................................................................................................... 273
    7.6.3 分配器 ................................................................................................................... 274
    7.6.4 资源控制 ............................................................................................................... 274
    7.7 练习 .......................................................................................................... 274
    7.8 参考资料 ............................................................................................................ 276
    第8 章 文件系统 ................................................................................................... 278
    8.1 术语 ................................................................................................................... 279
    8.2 模型 .................................................................................................................. 279
    8.2.1 文件系统接口 ....................................................................................................... 279
    8.2.2 文件系统缓存 ....................................................................................................... 280
    8.2.3 二级缓存 ............................................................................................................... 281
    8.3 概念 ..................................................................................................... 281
    8.3.1 文件系统延时 ....................................................................................................... 281
    8.3.2 缓存 ....................................................................................................................... 282
    8.3.3 随机与顺序I/O ..................................................................................................... 282
    8.3.4 预取 ....................................................................................................................... 283
    8.3.5 预读 ....................................................................................................................... 284
    8.3.6 写回缓存 ............................................................................................................... 284
    8.3.7 同步写 ................................................................................................................... 284
    8.3.8 裸I/O 和直接I/O .................................................................................................. 285
    8.3.9 非阻塞I/O ............................................................................................................. 285
    8.3.10 内存映射文件 ..................................................................................................... 286
    8.3.11 元数据 ................................................................................................................. 286
    8.3.12 逻辑I/O vs.物理I/O ........................................................................................... 287
    8.3.13 操作并非不平等 ................................................................................................. 288
    8.3.14 特殊文件系统 ..................................................................................................... 289
    8.3.15 访问时间戳 ......................................................................................................... 289
    8.3.16 容量 ..................................................................................................................... 289
    8.4 架构 .................................................................................................................. 290
    8.4.1 文件系统I/O 栈 .................................................................................................... 290
    8.4.2 VFS ........................................................................................................................ 291
    8.4.3 文件系统缓存 ....................................................................................................... 291
    8.4.4 文件系统特性 ....................................................................................................... 296
    8.4.5 文件系统种类 ....................................................................................................... 297
    8.4.6 卷和池 ................................................................................................................... 302
    8.5 方法 ................................................................................................................ 303
    8.5.1 磁盘分析 ............................................................................................................... 304
    8.5.2 延时分析 ............................................................................................................... 304
    8.5.3 负载特征归纳 ....................................................................................................... 306
    8.5.4 性能监控 ............................................................................................................... 308
    8.5.5 事件跟踪 ............................................................................................................... 308
    8.5.6 静态性能调优 ....................................................................................................... 309
    8.5.7 缓存调优 ............................................................................................................... 310
    8.5.8 负载分离 ............................................................................................................... 310
    8.5.9 内存文件系统 ....................................................................................................... 310
    8.5.10 微型基准测试 ..................................................................................................... 310
    8.6 分析 .................................................................................................................. 312
    8.6.1 vfsstat ..................................................................................................................... 312
    8.6.2 fsstat ....................................................................................................................... 313
    8.6.3 strace、truss .......................................................................................................... 314
    8.6.4 DTrace ................................................................................................................... 314
    8.6.5 SystemTap ............................................................................................................. 323
    8.6.6 LatencyTOP ........................................................................................................... 323
    8.6.7 free ......................................................................................................................... 324
    8.6.8 top .......................................................................................................................... 324
    8.6.9 vmstat .................................................................................................................... 324
    8.6.10 sar ........................................................................................................................ 325
    8.6.11 slabtop .................................................................................................................. 326
    8.6.12 mdb ::kmastat ...................................................................................................... 327
    8.6.13 fcachestat ............................................................................................................. 327
    8.6.14 /proc/meminfo ..................................................................................................... 328
    8.6.15 mdb ::memstat ..................................................................................................... 328
    8.6.16 kstat ...................................................................................................................... 329
    8.6.17 其他工具 ............................................................................................................. 330
    8.6.18 可视化 ................................................................................................................. 331
    8.7 实验 ................................................................................................................. 331
    8.7.1 Ad Hoc ................................................................................................................... 332
    8.7.2 微型基准测试工具 ............................................................................................... 332
    8.7.3 缓存写回 ............................................................................................................... 334
    8.8 调优 ..................................................................................................... 334
    8.8.1 应用程序调用 ....................................................................................................... 335
    8.8.2 ext3 ........................................................................................................................ 336
    8.8.3 ZFS ........................................................................................................................ 336
    8.9 练习 ................................................................................................................. 338
    8.10 参考资料 ........................................................................................................ 339
    第9 章 磁盘 ...................................................................................................... 341
    9.1 术语 ............................................................................................................... 342
    9.2 模型 .................................................................................................................. 342
    9.2.1 简单磁盘 ............................................................................................................... 342
    9.2.2 缓存磁盘 ............................................................................................................... 343
    9.2.3 控制器 ................................................................................................................... 344
    9.3 概念 .................................................................................................................... 344
    9.3.1 测量时间 ............................................................................................................... 344
    9.3.2 时间尺度 ............................................................................................................... 346
    9.3.3 缓存 ....................................................................................................................... 347
    9.3.4 随机 vs 连续I/O ................................................................................................. 347
    9.3.5 读/写比 .................................................................................................................. 348
    9.3.6 I/O 大小 ................................................................................................................. 348
    9.3.7 IOPS 并不平等 ...................................................................................................... 349
    9.3.8 非数据传输磁盘命令 ........................................................................................... 349
    9.3.9 使用率 ................................................................................................................... 349
    9.3.10 饱和度 ................................................................................................................. 350
    9.3.11 I/O 等待 ............................................................................................................... 350
    9.3.12 同步 vs 异步 ...................................................................................................... 351
    9.3.13 磁盘 vs 应用程序I/O ....................................................................................... 351
    9.4 架构 .............................................................................................................. 352
    9.4.1 磁盘类型 ............................................................................................................... 352
    9.4.2 接口 ....................................................................................................................... 357
    9.4.3 存储类型 ............................................................................................................... 358
    9.4.4 操作系统磁盘I/O 栈 ............................................................................................ 360
    9.5 方法 ................................................................................................................... 363
    9.5.1 工具法 ................................................................................................................... 364
    9.5.2 USE 方法 ............................................................................................................... 364
    9.5.3 性能监控 ............................................................................................................... 365
    9.5.4 负载特征归纳 ....................................................................................................... 366
    9.5.5 延时分析 ............................................................................................................... 367
    9.5.6 事件跟踪 ............................................................................................................... 368
    9.5.7 静态性能调优 ....................................................................................................... 369
    9.5.8 缓存调优 ............................................................................................................... 370
    9.5.9 资源控制 ............................................................................................................... 370
    9.5.10 微基准测试 ......................................................................................................... 370
    9.5.11 伸缩 ..................................................................................................................... 371
    9.6 分析 ............................................................................................................ 372
    9.6.1 iostat ...................................................................................................................... 373
    9.6.2 sar .......................................................................................................................... 380
    9.6.3 pidstat .................................................................................................................... 381
    9.6.4 DTrace ................................................................................................................... 382
    9.6.5 SystemTap ............................................................................................................. 390
    9.6.6 perf ......................................................................................................................... 390
    9.6.7 iotop ....................................................................................................................... 391
    9.6.8 iosnoop .................................................................................................................. 393
    9.6.9 blktrace .................................................................................................................. 396
    9.6.10 MegaCli ............................................................................................................... 397
    9.6.11 smartctl ................................................................................................................ 398
    9.6.12 可视化 ................................................................................................................. 399
    9.7 实验 .......................................................................................................... 402
    9.7.1 Ad Hoc ................................................................................................................... 402
    9.7.2 自定义负载生成器 ............................................................................................... 403
    9.7.3 微基准测试工具 ................................................................................................... 403
    9.7.4 随机读示例 ........................................................................................................... 403
    9.8 调优 .............................................................................................................. 404
    9.8.1 操作系统可调参数 ............................................................................................... 404
    9.8.2 磁盘设备可调参数 ............................................................................................... 406
    9.8.3 磁盘控制器可调参数 ........................................................................................... 406
    9.9 练习 .............................................................................................................. 407
    9.10 参考资料 ................................................................................................ 408
    第10 章 网络 .................................................................................................... 410
    10.1 术语 ........................................................................................................... 411
    10.2 模型 ............................................................................................................ 411
    10.2.1 网络接口 ............................................................................................................. 411
    10.2.2 控制器 ................................................................................................................. 412
    10.2.3 协议栈 ................................................................................................................. 412
    10.3 概念 .......................................................................................................... 413
    10.3.1 网络和路由 ......................................................................................................... 413
    10.3.2 协议 ..................................................................................................................... 414
    10.3.3 封装 ..................................................................................................................... 414
    10.3.4 包长度 ................................................................................................................. 414
    10.3.5 延时 ..................................................................................................................... 415
    10.3.6 缓冲 ..................................................................................................................... 417
    10.3.7 连接积压队列 ..................................................................................................... 417
    10.3.8 接口协商 ............................................................................................................. 417
    10.3.9 使用率 ................................................................................................................. 418
    10.3.10 本地连接 ........................................................................................................... 418
    10.4 架构 .......................................................................................................... 418
    10.4.1 协议 ..................................................................................................................... 418
    10.4.2 硬件 ..................................................................................................................... 421
    10.4.3 软件 ..................................................................................................................... 423
    10.5 方法 ................................................................................................. 427
    10.5.1 工具法 ....................................................................................................... 428
    10.5.2 USE 方法 ............................................................................................................. 428
    10.5.3 工作负载特征归纳 ............................................................................................. 429
    10.5.4 延时分析 ............................................................................................................. 430
    10.5.5 性能监测 ............................................................................................................. 431
    10.5.6 数据包嗅探 ......................................................................................................... 431
    10.5.7 TCP 分析 ............................................................................................................. 432
    10.5.8 挖掘分析 ............................................................................................................. 433
    10.5.9 静态性能调优 ..................................................................................................... 433
    10.5.10 资源控制 ........................................................................................................... 434
    10.5.11 微基准测试 ....................................................................................................... 434
    10.6 分析 ......................................................................................................... 435
    10.6.1 netstat ................................................................................................................... 435
    10.6.2 sar ........................................................................................................................ 440
    10.6.3 ifconfig ................................................................................................................ 442
    10.6.4 ip .......................................................................................................................... 443
    10.6.5 nicstat ................................................................................................................... 443
    10.6.6 dladm ................................................................................................................... 444
    10.6.7 ping ...................................................................................................................... 445
    10.6.8 traceroute ............................................................................................................. 445
    10.6.9 pathchar ............................................................................................................... 446
    10.6.10 tcpdump ................................................................................................................ 446
    10.6.11 snoop .................................................................................................................. 447
    10.6.12 Wireshark ........................................................................................................... 450
    10.6.13 DTrace ............................................................................................................... 450
    10.6.14 SystemTap ......................................................................................................... 461
    10.6.15 perf ..................................................................................................................... 461
    10.6.16 其他工具 ........................................................................................................... 462
    10.7 实验 ..................................................................................................... 463
    10.7.1 iperf ...................................................................................................................... 463
    10.8 调优 ............................................................................................................... 464
    10.8.1 Linux .................................................................................................................... 465
    10.8.2 Solaris .................................................................................................................. 467
    10.8.3 配置 ..................................................................................................................... 469
    10.9 练习 .............................................................................................................. 470
    10.10 参考 ....................................................................................................... 471
    第11 章 云计算 ........................................................................................................ 473
    11.1 背景 ............................................................................................................... 474
    11.1.1 性价比 ..................................................................................................... 474
    11.1.2 可扩展的架构 ..................................................................................................... 474
    11.1.3 容量规划 ............................................................................................................. 475
    11.1.4 存储 ..................................................................................................................... 477
    11.1.5 多租户 ................................................................................................................. 477
    11.2 OS 虚拟化 ..................................................................................................... 478
    11.2.1 系统开销 ............................................................................................................. 479
    11.2.2 资源控制 ............................................................................................................. 481
    11.2.3 可观测性 ............................................................................................................. 484
    11.3 硬件虚拟化 .............................................................................................. 489
    11.3.1 系统开销 ............................................................................................................. 490
    11.3.2 资源控制 ............................................................................................................. 495
    11.3.3 可观测性 ............................................................................................................. 498
    11.4 比较 ..................................................................................................................... 503
    11.5 练习 .................................................................................................................. 505
    11.6 参考资料 ............................................................................................................... 506
    第12 章 基准测试 ................................................................................................... 508
    12.1 背景 ................................................................................................................ 508
    12.1.1 事情 ..................................................................................................................... 509
    12.1.2 有效的基准测试 ................................................................................................. 509
    12.1.3 基准测试之罪 ..................................................................................................... 511
    12.2 基准测试的类型 ............................................................................................... 516
    12.2.1 微基准测试 ......................................................................................................... 517
    12.2.2 模拟 ..................................................................................................................... 518
    12.2.3 回放 ..................................................................................................................... 519
    12.2.4 行业标准 ............................................................................................................. 519
    12.3 方法 ......................................................................................................... 521
    12.3.1 被动基准测试 ..................................................................................................... 521
    12.3.2 主动基准测试 ..................................................................................................... 522
    12.3.3 CPU 剖析 ............................................................................................................ 524
    12.3.4 USE 方法 ............................................................................................................. 525
    12.3.5 工作负载特征归纳 ............................................................................................. 526
    12.3.6 自定义基准测试 ................................................................................................. 526
    12.3.7 逐渐增加负载 ..................................................................................................... 526
    12.3.8 完整性检查 ......................................................................................................... 528
    12.3.9 统计分析 ............................................................................................................. 529
    12.4 基准测试问题 ................................................................................................. 530
    12.5 练习 ................................................................................................................... 531
    12.6 参考 ........................................................................................................... 532
    第13 章 案例研究 ............................................................................................. 534
    13.1 案例研究:红鲸 .............................................................................................. 534
    13.1.1 问题陈述 ............................................................................................................. 535
    13.1.2 支持 ..................................................................................................................... 536
    13.1.3 上手 ..................................................................................................................... 537
    13.1.4 选择征途 ............................................................................................................. 538
    13.1.5 USE 方法 ............................................................................................................. 539
    13.1.6 我们做完了吗 ..................................................................................................... 542
    13.1.7 二度出击 ............................................................................................................. 542
    13.1.8 基础 ..................................................................................................................... 543
    13.1.9 忽略红鲸 ............................................................................................................. 544
    13.1.10 审问内核 ........................................................................................................... 545
    13.1.11 为什么 ............................................................................................................... 546
    13.1.12 尾声 ................................................................................................................... 548
    13.2 结语 ........................................................................................................ 548
    13.3 附加信息 ............................................................................................................... 549
    13.4 参考 ..................................................................................................................... 549
    附录A USE 法:Linux ........................................................................................................ 551
    附录B USE 法:Solaris ..................................................................................................... 556
    附录C sar 总结 ............................................................................................. 561
    附录D DTrace 单行命令 ....................................................................................... 563
    附录E 从DTrace 到SystemTap ........................................................................................ 573
    附录F 精选练习题答案 ....................................................................................... 582
    附录G 系统性能名人录 ...................................................................................... 585
    (收起)

    《性能之巅 》下载

    总结

  • 本书豆瓣评分: 8.6 分,《性能之巅 》这本书,五星推荐!
  • 文章标签:, , , , , , ,
    关注我们:请关注一下我们的微信公众号:扫描二维码读路:致力提供kindle电子书下载、分享。包括mobi、epub、pdf格式的公众号,公众号:超级读书绘
    版权声明:本文为原创文章,版权归 读路网 所有,欢迎分享本文,转载请保留出处!

    评论已关闭!