第6周:高性能服务模型
目标:掌握 Reactor/Proactor 模型,实现多线程高性能网络服务。
1. I/O 模型对比
1.1 Reactor vs Proactor
1 | Reactor(反应器模式): |
1.2 五种主要并发模型
1 | // === 模型 1:每连接一线程(Thread-per-Connection)=== |
2. Reactor 模式完整实现
2.1 单线程 Reactor
1 | // reactor.h |
1 | // reactor.c |
2.2 多线程 Reactor(One Loop Per Thread)
1 | // multi_reactor.c |
3. HTTP 静态文件服务器
3.1 HTTP 请求解析
1 |
|
3.2 完整 HTTP 静态文件服务器
1 | // http_server.c |
4. sendfile:零拷贝传输
1 |
|
sendfile 优势:
1 | 传统方式: |
5. 性能压测
1 | # === wrk(现代 HTTP 压测工具)=== |
5.1 性能指标解读
1 | QPS (Queries Per Second):每秒请求数 |
6. 常见性能瓶颈
1 | 1. 锁竞争 |
- 本文作者: CoderSong
- 本文链接: https://jack-song-gif.github.io/2026/07/26/第6周:高性能服务模型/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!