性能之巅 洞悉系统、企业与云计算(完整版)

这篇具有很好参考价值的文章主要介绍了性能之巅 洞悉系统、企业与云计算(完整版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

性能之巅  洞悉系统、企业与云计算书籍,主要讲解大型网络、云计算、大数据和虚拟计算机系统的快速部署已经为性能优化带来了新的挑战。本书为此提供了解决方案。国际知名的性能优化专家Brendan Gregg汇集了最先进的技术和工具来分析调优大型网络或云计算的环境。本书的内容包括现代化的性能分析和容量规划;与云计算相关的新性能和可靠性挑战;方法、概念、术语、工具和指标;负载与结构问题的权衡;调整操作系统、CPU、内存、文件系统、磁盘、网络和总线;调整虚拟系统;性能相关的编程语言问题,对C、 C++、 Java和node.js编写的应用程序分析。

目录

第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

百度网盘下载

链接:https://pan.baidu.com/s/1T_cHdGaFd2bOVVMCNsFC2A 
提取码:w8c1文章来源地址https://www.toymoban.com/news/detail-634731.html

到了这里,关于性能之巅 洞悉系统、企业与云计算(完整版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 操作系统与云计算:实现高效的资源分配和管理

    操作系统和云计算都是现代计算机科学的核心领域。操作系统负责管理计算机资源,为应用程序提供服务,而云计算则是利用大规模网络计算资源为用户提供服务。在这篇文章中,我们将探讨操作系统与云计算之间的密切关系,以及如何实现高效的资源分配和管理。 操作系统

    2024年04月11日
    浏览(43)
  • 【HNU分布式与云计算系统】MPI实现矩阵乘矩阵运算

    实验环境 操作系统:Ubuntu 20.04 编程语言:C++ 实验原理 什么是MPI MPI是一个跨语言的通讯协议,用于编写并行计算机。支持点对点和广播。MPI是一个信息传递应用程序接口,包括协议和和语义说明,他们指明其如何在各种实现中发挥其特性。MPI的目标是高性能,大规模性,和

    2023年04月08日
    浏览(35)
  • 大数据与云计算学习计划 (一) 云计算系统管理 1 TCP/IP简单概念 (概念性)

    今天开始考研被人工智能学院拟录取了,开始从头一步一个脚印从头学习大数据相关技术,本身有javaweb基础,但是这次也是从头再来把考研期间落下的基础概念补全的过程。这个系列是一个笔记性质的学习流程,尽量包含全知识点并且尽量每日更新(周日除外),从基本概念

    2024年02月09日
    浏览(51)
  • 企业如何构建高性能计算云?

    HPC是推动科学和工程应用发展的重要组成部分。除了将处理器向Exascale迈进之外,工作负载的性质也在不断变化—从传统的模拟和建模到混合工作负载,包括企业内部和云应用,还需要整合、吸收和分析来自无数物联网传感器的数据。同时,随着HPC基础设施上的人工智能工作

    2024年02月03日
    浏览(53)
  • 阿里云历时13年,站上世界现代计算架构之巅

    在1999年阿里巴巴成立的时候,恐怕当时的创始人们怎么也想不到,仅在10年后阿里巴巴就开始投身到以云计算为代表的新一代计算技术体系研发中,并在20年后站上了世界现代计算架构之巅。2022年,阿里云不仅是世界前三朵“云”之一,更重构了现代计算体系最底层也最具创

    2023年04月14日
    浏览(35)
  • 高性能、可扩展、支持二次开发的企业电子招标采购系统源码

    在数字化时代,企业需要借助先进的数字化技术来提高工程管理效率和质量。招投标管理系统作为企业内部业务项目管理的重要应用平台,涵盖了门户管理、立项管理、采购项目管理、采购公告管理、考核管理、报表管理、评审管理、企业管理、采购管理和系统管理等多个方

    2024年01月23日
    浏览(64)
  • 云计算-大数据与云计算

    其规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助决策者。 特点: 价值密度低(Value) 数据量大(Volume)PB级别是常态 快速(Velocity)数据增长速度快,而且越新的数据价值越大,这就要求对数据的处理速度也要快。 多样(Variety

    2024年02月15日
    浏览(50)
  • 并行计算与云计算的结合:实现高效计算

    并行计算和云计算都是当今计算技术的重要组成部分,它们各自具有独特的优势和应用场景。并行计算可以在多个处理单元之间分配任务,以提高计算效率,而云计算则可以通过分布式资源共享和虚拟化技术,实现计算资源的灵活性和可扩展性。随着数据量的增加和计算任务

    2024年04月11日
    浏览(51)
  • 云计算与云服务

    当下,云计算(Cloud Computing)已经成为企业和个人应用的核心技术之一。而虚拟化是云计算的基础技术 1.1、什么是虚拟化 百科词条对虚拟化的解释为: 虚拟化在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软

    2024年02月06日
    浏览(31)
  • 大数据与云计算

    1 大数据 1.1 大数据简介 “大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力来适应海量、高增长率和多样化的信息资产。 是一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模

    2024年02月02日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包