⚡ NVMe 多队列调度 · 负载均衡实战
📚 30章 · 从入门到专家
📘
完整目录 · 点击卡片跳转章节
🎯
30个实战章节
🧩
友好色系
01
NVMe协议基础
NVMe的发展历史 · 相比AHCI的优势 · 协议栈架构概览
02
NVMe队列模型
提交队列(SQ)与完成队列(CQ) · 队列对(QP) · 队列深度与性能
03
多队列机制详解
硬件实现 · MSI-X中断与队列绑定 · 软件初始化流程
04
Linux内核NVMe驱动
驱动架构 · struct nvme_dev/queue · 初始化流程
05
blk-mq层分析
架构设计 · 软件/硬件队列映射 · 请求分配与下发
06
调度器基础
None, MQ-Deadline, Kyber, BFQ · 与NVMe适配
07
None调度器
直通模式原理 · 适用场景 · 性能测试对比
08
MQ-Deadline调度器
Deadline多队列实现 · 读写分离 · 过期时间调优
09
Kyber调度器
基于延迟调度 · 目标延迟设置 · 自适应调节
10
BFQ调度器
公平调度 · 权重分配 · 面向终端优化
11
调度器选择实战
不同负载选型建议 · 数据库场景调优经历
12
CPU亲和性与中断绑定
smp_affinity · RPS/RFS/XPS · NUMA感知队列
13
负载均衡基础
IO请求分布模型 · 队列不均衡 · 衡量指标
14
硬件辅助负载均衡
多路径支持 · Round-Robin仲裁 · 突发处理
15
软件负载均衡策略
基于CPU负载 · IO深度动态调整 · 哈希分发
16
多路径IO (Multipath I/O)
NVMe多路径架构 · 路径发现/故障切换 · 路径层负载均衡
17
中断负载均衡
MSI-X动态分配 · 中断处理分散 · Interrupt Coalescing
18
NUMA架构下的优化
跨NUMA代价 · 本地队列分配 · 内存与队列亲和
19
性能监控与调试工具
iostat, blktrace, fio · perf/flamegraph · nvme-cli
20
性能调优案例一
高并发OLTP · 队列深度与线程数平衡 · 参数调优
21
性能调优案例二
大数据顺序读写 · 大IO与多队列 · 避免CPU瓶颈
22
性能调优案例三
混合读写云存储 · QoS保障 · 多租户隔离
23
内核参数调优
块层参数(/sys/block/*/queue/) · 中断合并 · 内存预分配
24
用户态驱动与SPDK
SPDK架构 · 用户态轮询 · 绕过内核极致性能
25
SPDK多队列实现
队列管理 · 无锁队列设计 · 与内核驱动对比
26
虚拟化环境中的NVMe
PCIe Passthrough/SR-IOV · 虚拟队列映射 · vhost-nvme
27
容器场景下的NVMe调度
cgroup IO隔离 · blkio控制器 · 容器化最佳实践
28
NVMe over Fabrics
NVMe over TCP/RDMA · 多队列网络映射 · 端到端延迟
29
未来趋势与新技术
ZNS分区命名空间 · 计算存储融合 · CXL与NVMe协同
30
综合实战项目
搭建NVMe性能测试环境 · 自动化调优脚本 · 输出报告