交易系统内存池与零拷贝技术实战
📚 共计 30 章节
01
交易系统的性能瓶颈:为什么需要内存池和零拷贝?
剖析延迟根源,理解极致优化的必要性
性能分析
背景
02
内存池基础原理:从malloc到自定义内存管理
摆脱通用分配器,掌控内存分配
内存管理
原理
03
固定大小内存池设计与实现
高效分配/释放,无碎片
设计
固定块
04
变长内存池设计与实现
灵活应对不同大小请求
变长
实现
05
线程安全的内存池:无锁队列与原子操作
并发无锁,极致伸缩
无锁
原子
06
内存池的缓存友好性:CPU Cache Line对齐
避免伪共享,利用局部性
缓存
对齐
07
内存池的碎片管理:伙伴算法与Slab分配器
经典算法对抗碎片
碎片
Slab
08
零拷贝技术概述:从磁盘到网卡的快速通道
减少拷贝,降低延迟
零拷贝
总览
09
mmap零拷贝:内存映射文件原理与实战
文件直接映射到进程地址空间
mmap
文件
10
sendfile零拷贝:高效文件传输
内核态搬运,无需用户介入
sendfile
网络
11
splice零拷贝:管道中的数据搬运
无需缓冲区的数据转移
splice
管道
12
DMA与RDMA:硬件级别的零拷贝
绕过CPU,直接内存访问
DMA
RDMA
13
零拷贝在消息队列中的应用:Kafka与RocketMQ
消息中间件的高性能基石
Kafka
RocketMQ
14
零拷贝在数据库中的应用:MySQL与PostgreSQL
存储引擎与缓冲池优化
MySQL
PG
15
零拷贝在Web服务器中的应用:Nginx与Netty
静态文件与网络框架
Nginx
Netty
16
用户态协议栈:绕过内核的极致性能
完全掌控网络处理
用户态
协议栈
17
DPDK与内存池:数据面开发套件实战
高性能包处理框架
DPDK
数据面
18
共享内存与进程间通信:高性能IPC方案
多进程零拷贝通信
共享内存
IPC
19
内存池与零拷贝的结合:交易系统的数据流设计
融合两大技术构建管道
数据流
设计
20
订单簿的内存池实现:高效撮合引擎
低延迟订单簿核心
订单簿
撮合
21
行情数据的零拷贝分发:多播与共享内存
极速行情广播
行情
多播
22
交易日志的零拷贝写入:WAL与持久化
预写日志与高性能存储
WAL
持久化
23
网络收发的零拷贝优化:Ring Buffer与Page Flip
内核网络栈优化
RingBuffer
PageFlip
24
内存池的监控与调优:性能分析工具
定位瓶颈,持续优化
监控
调优
25
内存池的常见陷阱:内存泄漏与野指针
避坑指南与调试技巧
陷阱
调试
26
零拷贝的局限性:何时不该用零拷贝?
权衡利弊,场景决策
局限性
权衡
27
跨语言零拷贝:Java NIO与C++互操作
JNI与DirectBuffer
Java
C++
28
实战:构建一个低延迟交易网关(上)
架构设计与核心模块
实战
网关
29
实战:构建一个低延迟交易网关(下)
集成内存池与零拷贝
实战
优化
30
总结与展望:未来高性能交易系统的方向
技术趋势与演进路径
总结
展望