L0
系统基础
Linux 性能与观测存储工程师的地基。看得懂 iostat 的每一列,能用 USE 方法在十分钟内把问题定位到 CPU、内存、磁盘还是网络。
6 节课 · 约 3 小时已完成 0/6
- 1
性能分析的第一课:USE 方法
原理25 分钟面对"系统慢"这种模糊报障,用一套固定套路把范围收敛到具体资源。
- →说清延迟、吞吐、IOPS、饱和度四个指标各自回答什么问题
- →对任一资源列出它的 Utilization / Saturation / Errors 观测命令
- →拿到一台陌生机器时,按 60 秒清单跑完一轮体检
- 2
CPU 与内存:存储节点的隐形瓶颈
原理30 分钟OSD 进程吃满 CPU、NUMA 跨节点访问、page cache 被挤掉,都会表现成"磁盘慢"。
- →读懂 run queue、上下文切换、软中断对存储进程的影响
- →判断一台存储节点是否存在 NUMA 亲和性问题
- →解释 page cache、dirty page 回写与 fsync 的关系
- 3
磁盘 I/O:IOPS、吞吐与延迟的三角关系
原理35 分钟为什么队列深度一加大 IOPS 就上去、延迟也跟着上去?这节课把 iostat 每一列讲透。
- →推导 IOPS × 块大小 = 吞吐,并解释它何时不成立
- →逐列读懂 iostat -x 输出,判断磁盘是否饱和
- →区分 HDD / SATA SSD / NVMe 的性能量级与适用场景
- 4
文件系统:从 VFS 到 XFS 挂载参数
原理30 分钟存储服务底下压着的还是本地文件系统,它的行为直接决定上层表现。
- →解释 VFS、inode、dentry cache 在读写路径中的位置
- →说明日志(journal)如何影响写放大
- →为存储节点选择合理的 XFS/ext4 挂载参数
- 5
网络:存储集群的第二块硬盘
原理30 分钟分布式存储把网络放进了 I/O 路径,网络抖动会直接变成写延迟。
- →估算给定带宽下集群副本写入的理论上限
- →解释 public network 与 cluster network 分离的收益
- →认识 MTU、bonding、RDMA/RoCE 在存储场景的取舍
- 6
观测与压测工具箱
实验45 分钟把 iostat/vmstat/perf/bpftrace 和 elbencho 串成一套可复用的手法。
- →用 elbencho 设计出能回答具体问题的测试用例,而不是跑个分
- →用 elbencho service 模式对共享文件系统做多客户端压测
- →用 bpftrace 抓出单次慢 I/O 的调用栈