精读笔记(RHCA 英文教材)· RH442 Chapter 1 Introducing Performance Tuning
大约 5 分钟
精读笔记(RHCA 英文教材)· RH442 Chapter 1 Introducing Performance Tuning
教材原文:RHCA 官方英文教材(PDF 第 22~43 页)(OCR 整书版已从本站移除,本页为章节精读) 关联中文笔记:
02-09-性能调优RH442(RHCA).md(简版要点:方法论→CPU/内存/磁盘/网络/内核参数);本章=性能调优总纲(术语→USE 方法论→计量单位换算)。 结构:3 个 Section(1.1 概念+Quiz;1.2 方法论+Quiz;1.3 单位换算+GE intro-measure)。
Chapter Goal / Objectives(原文+译)
- GOAL: Describe performance tuning concepts and goals.(描述性能调优概念与目标。)
- OBJECTIVES: ① 定义性能调优的目标、预期与术语;② 讨论推荐的性能分析方法论;③ 定义标准计量单位与换算算术。
1.1 Defining Performance Tuning Concepts
- Performance Tuning(性能调优):调整系统设置以改善计算资源利用率、数据吞吐量或用户体验的过程。要同时懂硬件、软件与负载特征。
- Performance Management(性能管理):确保有足够计算资源满足全员业务需求的过程;必要时管理用户对"可接受性能"的预期(用户要求可能不现实)。
- Workload Optimization(负载优化):调优常针对特定工作负载做优化。
- Bottleneck(瓶颈):某资源已达最大工作容量,拖慢整体。
- Capacity Planning(容量规划):关注可扩展性(Scalability)、限制(Limitations)、关键资源(Critical resources)等。
- MDS 漏洞权衡(Microarchitectural Data Sampling):2019 年公开的 Intel 微架构侧信道问题,使无特权本地攻击者可读到本不可及的特权内存;影响物理机、虚拟机与容器(AMD/ARM 不受影响);有内核软件修复;禁用 SMT/HT(超线程)可缓解但明显牺牲性能——典型"安全 vs 性能"取舍案例。
1.2 Discussing Performance Tuning Methodology(USE 方法论)
- 改系统前必须先分析现状(先立 baseline 基线)。
- USE Method(Utilization-Saturation-Errors):Brendan Gregg 提出(2012 acmqueue 发表),性能专家公认。思路:先逐个识别资源,再对每个资源查三类指标:利用率、饱和度、错误。对硬件资源在高利用率/高饱和下性能衰减的复杂系统最有效(软件资源效果差些)。
- 分析顺序:Identify devices → Review for errors → Review for high utilization → Review for saturation(先查错误!无论性能问题还是排障场景,高中断等可检测错误都是根因之一,必须先处理)。
- 资源类型与常用指标:
- CPU=处理资源:百分比使用率、load average、队列平均。
- 内存=容量资源:使用百分比、可用空间等。
- 存储=容量资源 + I/O 资源:I/O wait time、% busy、队列平均、IOPS。
- 网络类似队列/I/O 资源。
- 指标解读:Utilization 100% 通常是瓶颈信号(但要结合饱和度看;秒~分钟级均值会掩盖短时 100% 突发)。饱和度=等待队列长度/排队等待时间。Errors:非零错误计数值得查,尤其性能劣化时仍持续增长。
- 改动流程(融入变更管理):① 设定 baseline(跑同一种测试负载);② 应用改动;③ 重跑同负载验证有效性;④ 回滚并对比 baseline 增加信心;⑤ 应用最终改动并文档化(便于以后分析与回滚)。
1.3 Describing Computer Units of Measure(单位换算)
- 两套前缀:
- SI 十进制(存储厂商/网络商多用):k=10³、M=10⁶、G=10⁹、T=10¹²、P=10¹⁵、E=10¹⁸。例:2 TB 盘=2×10¹²=2,000,000,000,000 字节。
- IEC 二进制(内存/文件系统多用):Ki=2¹⁰=1024、Mi=2²⁰、Gi=2³⁰、Ti=2⁴⁰、Pi=2⁵⁰、Ei=2⁶⁰。
- 习惯:内存商按二进制(1 GB RAM=2³⁰ 字节);电信 giga-bit 恒为 10⁹ 比特;存储行业硬盘容量用十进制(1 GB 盘=10⁹ 字节);文件系统块 4096(4KiB)。
- 教训:务必弄清工具报的是十进制还是二进制单位,否则分析结论可能差 7%+。
- 换算技巧:一次只换一个单位(factor-label 法)。示例:10,000 MiB/h → 166.7 MiB/min → 2.778 MiB/s。
- 1 Gb/s 网卡理论值:1 Gb/s × 10⁹/2³⁰ × 8 位/字节 → 约 119.2 MiB/s。
- 工具:
bc(infix 基本计算器)、dc(逆波兰栈式计算器)、units。例:bc里scale=8设精度。
1.3 GE(lab: intro-measure,换算练习)
- 100 Mib/s → 43.95 GiB/h(×3600 秒 ÷ 8 位/字节 ÷ 2³⁰)。
- 43 KiB/s → 2.52 MiB/min。
- 143 tps → 12.36 million transactions/day(×86400 ÷ 10⁶)。
- 32738 microfortnights → 11 小时(fortnight=14 天)。
- 450 Kbps → 4.52 GiB/day。
命令速查表
| 用途 | 命令 |
|---|---|
| 十进制/二进制换算 | bc(scale=8 后输表达式)、dc、units |
| 换算示例 | 1 Gb/s ≈ 119.2 MiB/s;100 Mib/s=43.95 GiB/h |
| 实验 | lab intro-measure start / lab intro-measure finish |
词汇表
| 英文 | 中文 | 速记 |
|---|---|---|
| performance tuning | 性能调优 | 调设置改善利用率/吞吐/体验 |
| performance management | 性能管理 | 保证资源够用+管预期 |
| workload optimization | 负载优化 | 针对特定负载调优 |
| bottleneck | 瓶颈 | 资源打满拖慢整体 |
| capacity planning | 容量规划 | scalability/limitations/critical resources |
| MDS | 微架构数据采样漏洞 | Intel 漏洞,禁 SMT/HT 缓解但损性能 |
| USE Method | 利用率-饱和度-错误法 | Brendan Gregg;先识别资源再逐项查 |
| baseline | 基线 | 改动前的性能基准 |
| utilization / saturation / errors | 利用率/饱和度/错误 | USE 三指标 |
| processing/capacity/I-O resource | 处理/容量/I/O 资源 | CPU/内存/存储分类 |
| SI / IEC prefixes | 十进制/二进制前缀 | k,M,G,T vs Ki,Mi,Gi,Ti |
| MiB/s ↔ GiB/h | 单位换算 | 一次换一个单位 |
| factor-label | 量纲换算 | 逐单位乘除 |
自测 10 题
- 性能调优定义?(调整设置改善资源利用率/数据吞吐/用户体验)
- USE 方法由谁提出、先查什么?(Brendan Gregg;先识别设备→查错误)
- USE 三指标?(利用率、饱和度、错误)
- CPU/内存/存储分别算什么资源?(处理资源/容量资源/容量+I/O 资源)
- CPU 常用三个指标?(使用率、load average、队列平均)
- 存储常用指标?(IOPS、I/O wait time、% busy、队列平均等)
- MDS 影响什么、缓解手段与代价?(物理机/VM/容器;禁 SMT/HT,代价=性能下降)
- 1 Gb/s ≈ 多少 MiB/s?(约 119.2 MiB/s)
- SI 与 IEC 前缀区别?(十进制 10³ vs 二进制 2¹⁰)
- 改动五步流程?(baseline→应用→重跑验证→回滚对比→定稿并文档化)
