再读《性能之巅》学习心得

临近双11又开始另一轮的性能测试,陆续给大家奉上性能测试系列篇,从性能测试理论、性能测试案例高延迟(响应时间长)、CPU问题、内存问题、线上问题实战和性能测试书籍推荐等篇章。更多性能文章见文末链接

前几天陆陆续续的写了四五篇性能相关的文章,有不少同学让推荐性能测试的书籍,今天就推荐一本我认为非常棒的书《性能之巅》。

前段时间再次花了几天时间快速的阅读下《性能之巅》,感觉受益匪浅,作者本身有很强的逻辑思维能力和实战经验;该书不论对于初学者还是有一定工作经验的工程师来说,都值得一看。

- 1 - 

本书基本逻辑架构层次

本书主要主要从性能问题产生的应用程序、cpu、内存、文件系统、磁盘、网络六个知识领域,按照普通人解决问题的思维方,2W1H("是什么?">"为什么?">"怎么做?")的角度来分析问题解决问题。使得本书的阅读变得有很强的逻辑性。

outside_default.png

书中对于基本概念介绍相对比较多,统一概念,便于阅读者更好的阅读本身,这一点很赞。

- 2 - 

基础知识和分析方法(一到三章)

前三章主要讲解系统基础知识和一些分析方法

outside_default.png

街灯讹方法

在熟悉的工具或流程中试错,比较盲目。

Ad Hoc核对清单法

    保证所有人知道如何检查最糟糕的问题,覆盖全面,但必须保持清单及时更新

诊断循环

    假设–仪器检验–数据–假设

USE方法

本书重点方法,对于所有资源,查看它的使用率、饱和度、错误

当然方法还有很多,限于篇幅在此只说明其中几种方法。

- 4 - 

观测工具(第四章)

本书第四章主要讲解观测工具,性能观测工具可以按照系统级别和进程级别来分类,多数的工具要么基于计数器要么基于跟踪:

outside_default.png

计数器

内核维护了各种统计数据,称为计数器,用于对事件计数。通常计数器实现为无符号的整型数,发生事件时递增。

系统级别的计数器有:

vmstat: 虚拟内存和物理内存的统计,系统级别

mpstat: 每个 CPU 的使用情况

iostat: 每个磁盘 I/O 的使用情况,由块设备接口报告

netstat: 网络接口的统计,TCP/IP 栈的统计,以及每个连接的一些统计信息

sar: 各种各样的统计,能归档历史数据

进程级别:

ps: 进程状态,显示进程的各种统计信息,包括内存和 CPU 的使用

top: 按一个统计数据排序,显示排名高的进程

pmap: 将进程的内存段和使用统计一起列出

一般来说,上述这些工具是从 /proc 文件系统里读取统计信息的

跟踪

跟踪收集每一个事件的数据以供分析。跟踪框架一般默认是不启用的,因为跟踪捕获数据会有 CPU 开销,另外还需要不小的存储空间来存放数据。

系统级别:

tcpdump: 网络包跟踪(libpcap lib)

blktrace: 块 I/O 跟踪

DTrace: 跟踪内核的内部活动和所有资源的使用情况,支持静态和动态的跟踪

SystemTap: 同上

perf: Linux 性能事件,跟踪静态和动态的指针

进程级别:

strace: 系统调用跟踪

gbd: 源码级别的调试器

- 4 - 

应用系统(第五章)

本书的第五章主要讲解应用相关知识,性能调整离工作所执行的地方越近越好:最好在应用程序里,包括 Web 服务器、应用服务器、负载均衡器、文件服务器,等等。

设立性能目标能为你的性能分析工作指明方向,并帮助你选择要做的事情。没有清晰的目标,性能分析容易沦为随机的『钓鱼探险』。

常见目标:

延时

吞吐量

资源使用率

应用程序性能技术:选择 I/O 尺寸、缓存、缓冲区、轮训(epoll)、并发和并行、非阻塞 I/O、处理器绑定

编程语言相关:编译语言使用编译器优化、解释语言一般不是首选、虚拟机、垃圾回收

- 5 - 

资源监控(六到十章)

本身六到十章主要讲了cpu、内存、文件系统、磁盘、网络等知识,原理的知识讲的相对较少,但作为一个知识索引对阅读帮助非常大,需要了解更深层的东西需要参考其他书籍。

CPU分析工具

outside_default.png

内存分析工具

outside_default.png

文件系统分析工具

outside_default.png

磁盘分析工具

outside_default.png

网络分析工具

outside_default.png

其中十二十三章来说,作为性能测试人员来说,还是值得仔细研读,其中解决问题的方式值得我们思考和借鉴。

78a3f5f8fa6b9737082b53cb62db8542.jpeg

文章来源:MiniStarClub北京,致力于提供最具价值的测试及测试管理领域原创文章。包括测试技术、测试方法、测试思想、测试管理等。

· 推 荐 阅 读 ·

RECOMMENDATION

服务端性能测试指标及问题排查

服务端性能问题排查及优化---CPU高问题分析

服务端性能问题排查及优化 ---内存问题分析

服务端性能问题排查及优化---高延迟问题分析

一次服务端性能问题排查过程

你点的每个“在看”,我都认真当成了喜欢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值