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

临近双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高问题分析

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

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

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

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

<think>嗯,用户让我介绍如何写一个体现思考的CSDN账号。首先,我需要理解用户的需求。可能他们是想在CSDN上建立一个技术博客,但希望内容不仅仅是代码分享,而是能展示自己的思考过程,比如解决问题的方法、学习心得或者技术深度分析。这样的话,账号会更有个性,吸引更多读者。 接下来,我得考虑CSDN的主要用户群体。CSDN是中国最大的IT技术社区,用户大多是开发者、学生和技术爱好者。因此,内容需要兼顾专业性和易懂性。用户可能希望自己的账号既能展示技术实力,又能帮助他人,同时提升个人品牌。 然后,思考如何“体现思考”。这可能包括记录学习过程、解决问题的思路、错误调试的经历,或者对新技术的研究分析。用户需要具体的建议,比如文章结构、内容方向,甚至如何与读者互动。 还要考虑用户可能的深层需求。他们可能不只是想写博客,而是想建立个人品牌,或者找工作、接项目。因此,账号的专业度和深度很重要。需要建议他们保持一致性,比如固定的板块、定期更新,以及如何优化SEO,增加曝光。 另外,需要注意避免泛泛而谈,要具体。比如,可以举例说明如何分解问题,如何记录调试过程,或者如何结合理论与实践。同时,提醒用户保持互动,回复评论,参与社区讨论,增加账号活跃度。 最后,检查是否有遗漏的点。比如,是否需要提到使用Markdown、代码片段、图表等来提升文章可读性?或者是否需要讨论如何选择热门技术话题与个人兴趣结合?这些都可能帮助用户更好地规划内容。 总结下来,回答需要结构清晰,分点说明,涵盖定位、内容方向、写作技巧、互动维护等方面,并给出具体例子,让用户有实际操作的参考。</think>创建一个体现深度思考的CSDN技术账号,需要兼顾专业性、个人风格与读者价值。以下是关键设计方向和示例框架: --- ### **1. 账号定位:打造个人技术IP** - **核心领域**:明确细分方向(如「AI工程化」「前端性能优化」「分布式系统踩坑录」) - **人设标签**:思考型开发者 ≠ 搬运工,例如: - 「从Kaggle竞赛到工业落地的模型调优手记」 - 「十年后端老兵的架构反思日志」 - **视觉符号**:统一封面设计/代码配色/手绘技术图解风格 --- ### **2. 内容设计:展现思维过程** #### ▶ **技术深挖类** - **标题示例**: 《Redis分布式锁:我为什么最终放弃了Redlock算法?》 《TensorFlow动态Shape优化:三天Debug重构实录》 - **内容结构**: 问题场景 → 直觉方案 → 失败原因 → 思维转折点 → 最终方案对比 → 延伸思考 #### ▶ **学习路径类** - **标题示例**: 《自学Rust三个月:从语法到恐惧管理的认知迭代》 《系统调优书单:为何我建议先读<性能>再碰源码?》 - **内容亮点:** 知识地图绘制 + 关键卡点心理记录 + 反常识结论(附实验数据) #### ▶ **行业洞察类** - **标题示例**: 《大模型时代:为什么说Prompt工程将重定义软件测试?》 《从K8s弃用Docker看云原生演进的暗线逻辑》 - **写作技巧**: 技术趋势交叉分析(附Gartner曲线改造图) + 对工程师的实质影响 -- ### **3. 增强记忆点的技巧** - **系列专栏化**: 《重构启示录》系列(每期解剖一个祖传代码改造案例) 《源码迷踪》系列(结合UML时序图追踪框架设计思想) - **互动创新**: 文末抛出开放技术选择题(如方案A/B优劣投票) 定期发布「读者问题诊断室」专题 - **多模态表达**: 复杂逻辑配自制动图解说 关键结论用Latex公式强化呈现 --- ### **4. 运营策略** - **更新节奏**:双周更深度长文 + 每周碎片化思考(用「技术札记」标签分类) - **流量撬动**: 参与CSDN「开发者生态研究」等专栏征稿 关键文章同步至GitHub的README(导流到个人项目) - **数据闭环**: 在文末添加「知识溯源」板块(附相关论文/工具链/Git commit记录) --- ### **示例账号结构** ```markdown 【账号ID】TechThinker算法手札 📜 置顶文章: 《我的技术写作原则:不写重复造轮子指南》 《2024年技术关注清单:五个被低估的研究方向》 🗂 专栏分类: ▷ 机器学习反模式研究(12篇) ▷ 读源码的艺术(7篇) ▷ 高效能开发者的工具哲学(9篇) 🌟 爆款案例: 《放弃Python转Go:我们团队在AI基础设施上的教训》 - 阅读15w+,引发语言战争讨论 《记一次失败的微服务改造:从充血到贫血架构的退化》 - 被多个公司内部分享引用 ``` --- 通过持续输出「有技术增量+认知差异性」的内容,此类账号可实现: ✅ 建立行业影响力 ✅ 吸引高质量人脉(猎头/技术合伙人邀约) ✅ 反向促进自身技术体系化 关键要诀:**把写作当作深度学习的催化剂**,让思考可见化形成复利效应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值