← 返回学习地图⚡ 开始随机练习
📋 速学与诊断导航
30 分钟总览 · 3 小时实战 · 8 小时完整路线基于《性能之巅(第2版)》压缩转述来源页码采用 PDF 1-858 页
先记住这一条主线

性能分析不是寻找一个万能指标,而是把用户感受到的问题,沿应用、内核和硬件数据路径逐层变成可验证的证据。先定义问题和时间范围,再建立基线、选择方法、提出假设、用观测或实验验证,最后用同样的工作负载复测。

性能分析闭环
1. 定义问题

明确谁受影响、什么操作变慢、从何时开始、频率如何、期望与实际差多少。

2. 建立基线

保留正常时段、异常时段和变更前后的同口径数据,避免只看一个孤立数字。

3. 选择方法

资源用 USE,服务请求用 RED;再结合工作负载特征、延时分析或向下钻取。

4. 提出并验证假设

每一步都回答一个问题;记录命令、时间、范围和开销,避免随机调参。

5. 修复后复测

使用相同负载和统计口径验证收益,同时检查错误率、尾延时和资源转移。

五类关键信号
延时

一次操作用了多久?分布和高百分位是否恶化?

吞吐/速率

单位时间完成多少工作或接收多少请求?

使用率

资源忙碌时间或容量被占用了多少?

饱和度

资源无法立即服务的工作是否在排队?

错误

失败、丢包、重传、分配失败或内核告警是否增加?

Linux 60 秒只读检查

从低开销概览开始,每条命令都只负责回答一个问题。不要把检查表本身当作诊断结论。

命令先回答什么
uptime比较 1、5、15 分钟平均负载,识别负载正在上升还是下降。
dmesg -T | tail检查近期内核错误和 OOM 等事件;读取可能需要权限。
vmstat -SM 1观察运行队列、交换、系统级 CPU 与内存活动。
mpstat -P ALL 1检查各 CPU 是否失衡,以及是否只有单个 CPU 异常繁忙。
pidstat 1定位意外的 CPU 消费者,并区分用户态与系统态时间。
iostat -sxz 1查看设备 IOPS、吞吐、等待时间和忙碌程度;选项以本机 sysstat 为准。
free -m观察内存容量以及文件系统缓存,而不是只盯着 free 一列。
sar -n DEV 1检查网络接口的数据包和吞吐量。
sar -n TCP,ETCP 1检查连接率和 TCP 重传等协议统计。
top回到进程和系统概览,结合前述证据确定下一步。
⚠️ 使用边界

这是一组只读的危机初查入口,不是结论。命令可用性、字段和权限随 Linux 发行版及工具版本变化;在生产环境使用跟踪、剖析或主动负载前,应先评估开销和授权。

COURSE SOURCES

参考来源与版权说明

仅作来源说明 · 不提供原始资料下载
快速打开模块