摘要
- 方法论
- 性能诊断指南
- How Linux Works
- 动态追踪技术
- 案例与实务
- 推荐书单
方法论
方法 | 信息收集 | 观测分析 | 统计分析 | 容量规划 | 调优 | 生命周期分析 | 实验分析 | 假设分析 | |
---|---|---|---|---|---|---|---|---|---|
街灯 | Yes | ||||||||
随机变动 | Yes | ||||||||
责怪他人 | Yes | ||||||||
Ad Hoc 核对清单法 | Yes | Yes | |||||||
问题陈述法 | Yes | ||||||||
科学法 | Yes | ||||||||
循环诊断法 | Yes | ||||||||
工具法 | Yes | ||||||||
USE法 | Yes | ||||||||
工作负载特征归纳 | Yes | Yes | |||||||
向下挖掘分析 | Yes | ||||||||
延时分析 | Yes | ||||||||
R 方法 | Yes | ||||||||
时间跟踪 | Yes | ||||||||
基础线统计 | Yes | ||||||||
性能监控 | Yes | Yes | |||||||
排队论 | Yes | Yes | |||||||
静态性能调整 | Yes | Yes | |||||||
缓存调优 | Yes | Yes | |||||||
微基准测试 | Yes | ||||||||
容量规划 | Yes | Yes |
性能诊断指南
How Linux Works
- How Linux Works:The Big Picture
- How Linux Works:BASIC Commands
- How Linux Works:BASIC Commands Extension
- How Linux Works:Device and FileSystem
- How Linux Works:Boots
- How Linux Works:用户空间
- How Linux Works:内存管理
- How Linux Works:网络管理
- PreviewHow Linux Works:路由管理
动态追踪技术
- 动态追踪技术(一):DTrace 导论
- 动态追踪技术(二):strace+gdb 溯源 Nginx 内存溢出异常
- 动态追踪技术(三):Tracing Your Kernel Function!
- 动态追踪技术(四):基于 Linux bcc/BPF 实现 Go 程序动态追踪
- 动态追踪技术(五):Welcome DTrace for Linux
案例与实务
- 最佳工程实践:Stack Overflow 架构 - 2016 Edition
- 最佳工程实践:Oracle 数据库迁移割接实践
- 最佳工程实践:基于LVS的AAA负载均衡架构实践
- VIPServer | Facebook Open-sourcing Katran, a scalable network load balancer
推荐书单
电子书《Linux Perf Master》
读书笔记|《图解性能优化》
- 性能分析的基础:吞吐和响应的区别
- 实际系统中的性能分析
- 性能调优 & 性能测试
- 虚拟化环境下的性能
- 云环境下的性能
《24小时365天不间断服务》
《性能之巅》
《Google核心技术》
快捷方式
1 | # 按内存排序,由大到小;rsz为实际内存 |
参考文献
- Server-side I/O Performance: Node vs. PHP vs. Java vs. Go
- [Linkedin:Real-time distributed tracing for website performance and efficiency optimizations](Real-time distributed tracing for website performance and efficiency optimizations)
- 推荐书单
- 程序员需要跨过性能这个坎 | 原创 2017-07-13 池建强 MacTalk
- 望闻问切,解决Linux系统性能问题 | 2016-10-10 Brendan Gregg 开发资讯