性能之巅 洞悉系统、企业与云计算PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)格雷格著
- 出 版 社:北京:电子工业出版社
- 出版年份:2015
- ISBN:9787121267925
- 页数:599 页
第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章 操作系统 73
3.1术语 73
3.2背景 74
3.2.1内核 74
3.2.2栈 77
3.2.3中断和中断线程 78
3.2.4中断优先级 79
3.2.5进程 79
3.2.6系统调用 81
3.2.7虚拟内存 83
3.2.8内存管理 83
3.2.9调度器 84
3.2.10文件系统 85
3.2.11缓存 87
3.2.12网络 88
3.2.13设备驱动 88
3.2.14多处理器 88
3.2.15抢占 89
3.2.16资源管理 89
3.2.17观测性 90
3.3内核 90
3.3.1 UNIX 91
3.3.2基于Solaris 91
3.3.3基于Linux 94
3.3.4差异 96
3.4练习 97
3.5参考 97
第4章 观测工具 99
4.1工具类型 99
4.1.1计数器 100
4.1.2跟踪 101
4.1.3剖析 102
4.1.4监视(sar) 103
4.2观测来源 104
4.2.1 /proc 104
4.2.2 /sys 109
4.2.3 kstat 110
4.2.4延时核算 112
4.2.5微状态核算 113
4.2.6其他的观测源 113
4.3 DTrace 115
4.3.1静态和动态跟踪 116
4.3.2探针 117
4.3.3 provider 117
4.3.4参数 118
4.3.5 D语言 118
4.3.6内置变量 119
4.3.7 action 119
4.3.8变量类型 120
4.3.9单行命令 122
4.3.10脚本 122
4.3.11开销 123
4.3.12文档和资源 124
4.4 SystemTap 125
4.4.1探针 125
4.4.2 tapset 126
4.4.3 action和内置变量 126
4.4.4示例 126
4.4.5开销 128
4.4.6文档和资源 129
4.5 perf 129
4.6观测工具的观测 130
4.7练习 131
4.8参考 131
第5章 应用程序 133
5.1应用程序基础 133
5.1.1目标 134
5.1.2常见情况的优化 135
5.1.3观测性 136
5.1.4大O标记法 136
5.2应用程序性能技术 137
5.2.1选择I/O尺寸 137
5.2.2缓存 138
5.2.3缓冲区 138
5.2.4轮询 138
5.2.5并发和并行 139
5.2.6非阻塞I/O 141
5.2.7处理器绑定 141
5.3编程语言 142
5.3.1编译语言 142
5.3.2解释语言 143
5.3.3虚拟机 144
5.3.4垃圾回收 144
5.4方法和分析 145
5.4.1线程状态分析 145
5.4.2 CPU剖析 148
5.4.3系统调用分析 150
5.4.4 I/O剖析 156
5.4.5工作负载特征归纳 157
5.4.6 USE方法 157
5.4.7向下挖掘法 158
5.4.8锁分析 158
5.4.9静态性能调优 161
5.5练习 162
5.6参考 163
第6章 CPU 165
6.1术语 166
6.2模型 166
6.2.1 CPU架构 166
6.2.2 CPU内存缓存 167
6.2.3 CPU运行队列 168
6.3概念 168
6.3.1时钟频率 168
6.3.2指令 169
6.3.3指令流水线 169
6.3.4指令宽度 170
6.3.5 CPI,IPC 170
6.3.6使用率 170
6.3.7用户时间/内核时间 171
6.3.8饱和度 171
6.3.9抢占 171
6.3.10优先级反转 172
6.3.11多进程,多线程 172
6.3.12字长 173
6.3.13编译器优化 174
6.4架构 174
6.4.1硬件 174
6.4.2软件 182
6.5方法 187
6.5.1工具法 187
6.5.2 USE方法 188
6.5.3负载特征归纳 189
6.5.4剖析 190
6.5.5周期分析 191
6.5.6性能监控 192
6.5.7静态性能调优 192
6.5.8优先级调优 192
6.5.9资源控制 193
6.5.10 CPU绑定 193
6.5.11微型基准测试 194
6.5.12扩展 194
6.6分析 195
6.6.1 uptime 195
6.6.2 vmstat 197
6.6.3 mpstat 198
6.6.4 sar 200
6.6.5 ps 201
6.6.6 top 202
6.6.7 prstat 203
6.6.8 pidstat 204
6.6.9 time和ptime 205
6.6.10 DTrace 206
6.6.11 SystemTap 212
6.6.12 perf 212
6.6.13 cpustat 218
6.6.14其他工具 219
6.6.15可视化 219
6.7实验 222
6.7.1 Ad Hoc 222
6.7.2 SysBench 223
6.8调优 223
6.8.1编译器选项 224
6.8.2调度优先级和调度类 224
6.8.3调度器选项 224
6.8.4进程绑定 226
6.8.5独占CPU组 227
6.8.6资源控制 227
6.8.7处理器选项(BIOS调优) 227
6.9练习 228
6.10参考资料 229
第7章 内存 231
7.1术语 232
7.2概念 232
7.2.1虚拟内存 233
7.2.2换页 233
7.2.3按需换页 234
7.2.4过度提交 236
7.2.5交换 236
7.2.6文件系统缓存占用 236
7.2.7使用率和饱和度 237
7.2.8分配器 237
7.2.9字长 237
7.3架构 237
7.3.1硬件 238
7.3.2软件 242
7.3.3进程地址空间 247
7.4方法 251
7.4.1工具法 252
7.4.2 USE方法 252
7.4.3使用特征归纳 253
7.4.4周期分析 254
7.4.5性能监测 254
7.4.6泄漏检测 255
7.4.7静态性能调优 255
7.4.8资源控制 256
7.4.9微基准测试 256
7.5分析 256
7.5.1 vmstat 257
7.5.2 sar 259
7.5.3 slabtop 262
7.5.4 ::kmstat 263
7.5.5 ps 264
7.5.6 top 265
7.5.7 prstat 266
7.5.8 pmap 267
7.5.9 DTrace 268
7.5.10 SystemTap 272
7.5.11其他工具 272
7.6调优 273
7.6.1可调参数 274
7.6.2多个页面大小 276
7.6.3分配器 277
7.6.4资源控制 277
7.7练习 277
7.8参考资料 279
第8章 文件系统 281
8.1术语 282
8.2模型 282
8.2.1文件系统接口 282
8.2.2文件系统缓存 283
8.2.3二级缓存 284
8.3概念 284
8.3.1文件系统延时 284
8.3.2缓存 285
8.3.3随机与顺序I/O 285
8.3.4预取 286
8.3.5预读 287
8.3.6写回缓存 287
8.3.7同步写 287
8.3.8裸I/O和直接I/O 288
8.3.9非阻塞I/O 288
8.3.10内存映射文件 289
8.3.11元数据 289
8.3.12逻辑I/O vs.物理I/O 290
8.3.13操作并非不平等 291
8.3.14特殊文件系统 292
8.3.15访问时间戳 292
8.3.16容量 292
8.4架构 293
8.4.1文件系统I/O栈 293
8.4.2 VFS 294
8.4.3文件系统缓存 294
8.4.4文件系统特性 299
8.4.5文件系统种类 300
8.4.6卷和池 305
8.5方法 306
8.5.1磁盘分析 307
8.5.2延时分析 307
8.5.3负载特征归纳 309
8.5.4性能监控 311
8.5.5事件跟踪 311
8.5.6静态性能调优 312
8.5.7缓存调优 313
8.5.8负载分离 313
8.5.9内存文件系统 313
8.5.10微型基准测试 313
8.6分析 315
8.6.1 vfsstat 315
8.6.2 fsstat 316
8.6.3 strace、truss 317
8.6.4 DTrace 317
8.6.5 SystemTap 326
8.6.6 LatencyTOP 326
8.6.7 free 327
8.6.8 top 327
8.6.9 vmstat 327
8.6.10 sar 328
8.6.11 slabtop 329
8.6.12 mdb::kmastat 330
8.6.13 fcachestat 330
8.6.14/proc/meminfo 331
8.6.15 mdb::memstat 331
8.6.16 kstat 332
8.6.17其他工具 333
8.6.18可视化 334
8.7实验 334
8.7.1 Ad Hoc 335
8.7.2微型基准测试工具 335
8.7.3缓存写回 337
8.8调优 337
8.8.1应用程序调用 338
8.8.2 ext3 339
8.8.3 ZFS 339
8.9练习 341
8.10参考资料 342
第9章 磁盘 345
9.1术语 346
9.2模型 346
9.2.1简单磁盘 346
9.2.2缓存磁盘 347
9.2.3控制器 348
9.3概念 348
9.3.1测量时间 348
9.3.2时间尺度 350
9.3.3缓存 351
9.3.4随机vs.连续I/O 351
9.3.5读/写比 352
9.3.6 I/O大小 352
9.3.7 IOPS并不平等 353
9.3.8非数据传输磁盘命令 353
9.3.9使用率 353
9.3.10饱和度 354
9.3.11 I/O等待 354
9.3.12同步vs.异步 355
9.3.13磁盘vs.应用程序I/O 355
9.4架构 356
9.4.1磁盘类型 356
9.4.2接口 361
9.4.3存储类型 362
9.4.4操作系统磁盘I/O栈 364
9.5方法 367
9.5.1工具法 368
9.5.2 USE方法 368
9.5.3性能监控 369
9.5.4负载特征归纳 370
9.5.5延时分析 371
9.5.6事件跟踪 372
9.5.7静态性能调优 373
9.5.8缓存调优 374
9.5.9资源控制 374
9.5.10微基准测试 374
9.5.11伸缩 375
9.6分析 376
9.6.1 iostat 377
9.6.2 sar 384
9.6.3 pidstat 385
9.6.4 DTrace 386
9.6.5 SystemTap 394
9.6.6 perf 394
9.6.7 iotop 395
9.6.8 iosnoop 397
9.6.9 blktrace 400
9.6.10 MegaCli 401
9.6.11 smartctl 402
9.6.12可视化 403
9.7实验 406
9.7.1 Ad Hoc 406
9.7.2自定义负载生成器 407
9.7.3微基准测试工具 407
9.7.4随机读示例 407
9.8调优 408
9.8.1操作系统可调参数 408
9.8.2磁盘设备可调参数 410
9.8.3磁盘控制器可调参数 410
9.9练习 411
9.10参考资料 412
第10章 网络 415
10.1术语 416
10.2模型 416
10.2.1网络接口 416
10.2.2控制器 417
10.2.3协议栈 417
10.3概念 418
10.3.1网络和路由 418
10.3.2协议 419
10.3.3封装 419
10.3.4包长度 419
10.3.5延时 420
10.3.6缓冲 422
10.3.7连接积压队列 422
10.3.8接口协商 422
10.3.9使用率 423
10.3.10本地连接 423
10.4架构 423
10.4.1协议 423
10.4.2硬件 426
10.4.3软件 428
10.5方法 432
10.5.1工具法 433
10.5.2 USE方法 433
10.5.3工作负载特征归纳 434
10.5.4延时分析 435
10.5.5性能监测 436
10.5.6数据包嗅探 436
10.5.7 TCP分析 437
10.5.8挖掘分析 438
10.5.9静态性能调优 438
10.5.10资源控制 439
10.5.11微基准测试 439
10.6分析 440
10.6.1 netstat 440
10.6.2 sar 445
10.6.3 ifconfig 447
10.6.4 ip 448
10.6.5 nicstat 448
10.6.6 dladm 449
10.6.7 ping 450
10.6.8 traceroute 450
10.6.9 pathchar 451
10.6.10 tcpdump 451
10.6.11 snoop 452
10.6.12 Wireshark 455
10.6.13 DTrace 455
10.6.14 SystemTap 466
10.6.15 perf 466
10.6.16其他工具 467
10.7实验 468
10.7.1 iperf 468
10.8调优 469
10.8.1 Linux 470
10.8.2 Solaris 472
10.8.3 配置 474
10.9练习 475
10.10参考 476
第11章 云计算 479
11.1背景 480
11.1.1性价比 480
11.1.2可扩展的架构 480
11.1.3容量规划 481
11.1.4存储 483
11.1.5多租户 483
11.2 OS虚拟化 484
11.2.1系统开销 485
11.2.2资源控制 487
11.2.3可观测性 490
11.3硬件虚拟化 495
11.3.1系统开销 496
11.3.2资源控制 501
11.3.3可观测性 504
11.4比较 509
11.5练习 511
11.6参考资料 512
第12章 基准测试 515
12.1背景 515
12.1.1事情 516
12.1.2有效的基准测试 516
12.1.3基准测试之罪 518
12.2基准测试的类型 523
12.2.1微基准测试 524
12.2.2模拟 525
12.2.3回放 526
12.2.4行业标准 526
12.3方法 528
12.3.1被动基准测试 528
12.3.2主动基准测试 529
12.3.3 CPU剖析 531
12.3.4 USE方法 532
12.3.5工作负载特征归纳 533
12.3.6自定义基准测试 533
12.3.7逐渐增加负载 533
12.3.8完整性检查 535
12.3.9统计分析 536
12.4基准测试问题 537
12.5练习 538
12.6参考 539
第13章 案例研究 541
13.1案例研究:红鲸 541
13.1.1问题陈述 542
13.1.2支持 543
13.1.3上手 544
13.1.4选择征途 545
13.1.5 USE方法 546
13.1.6我们做完了吗 549
13.1.7二度出击 549
13.1.8基础 550
13.1.9忽略红鲸 551
13.1.10审问内核 552
13.1.11为什么 553
13.1.12尾声 555
13.2结语 555
13.3附加信息 556
13.4参考 556
附录A USE法:Linux 559
附录B USE法:Solaris 565
附录C sar总结 571
附录D DTrace单行命令 573
附录E 从DTrace到SystemTap 583
附录F 精选练习题答案 593
附录G 系统性能名人录 597
- 《建筑施工企业统计》杨淑芝主编 2008
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《管理信息系统习题集》郭晓军 2016
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《计算机辅助平面设计》吴轶博主编 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《云计算节能与资源调度》彭俊杰主编 2019
- 《Helmholtz方程的步进计算方法研究》李鹏著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017