docs(plan): 更新 coco 子模块升级记录,标记多线程模式问题

This commit is contained in:
xfy911 2026-06-05 03:14:22 +08:00
parent d2c6dc3617
commit c5162db508

View File

@ -11,7 +11,7 @@
- [x] 目录浏览
- [x] Range 请求
- [x] MIME 类型识别
- [x] 多线程 M:N 调度
- [x] 多线程 M:N 调度**有已知问题**`-t` 模式下主线程不在协程上下文client_handler 非阻塞 fd busy loop
- [x] 命令行参数
- [x] 优雅关闭
@ -51,6 +51,8 @@
- **59 项集成测试全部通过**(新增 5 项访问日志测试)
- **35 个单元测试全部通过**Unity 框架)
- 压测数据wrk -t4 -c100 -d10s → 16,179 RPS平均延迟 59.86μs
- **coco v2.2.0 压测**wrk -t4 -c100 -d10s → 15,056 RPS平均延迟 64.49μs单线程模式性能在合理范围内
- 多线程模式(-t -w 4当前存在连接问题待排查
- POST 支持JSON 和 form-urlencoded 回显multipart 文件上传Content-Length 解析8MB 上限
- **配置文件支持**JSON 格式9 个字段(含 access_log命令行参数可覆盖
- **访问日志**Nginx combined 格式,支持文件路径或 stdout`-`线程安全pthread_mutex记录 User-Agent / Referer / 状态码
@ -60,12 +62,20 @@
## 待办池
1. **[中] Windows 兼容性** — 平台抽象层platform.h / platform.csendfile 替代方案io_uring 替代方案
2. **[中] Doxygen 中文注释** — http2.c 已完成其余模块tls.c, config.c, multipart.c 等)待补充
3. **[低] 检查远程更新内容** — 上游有 new commits需 review 9041d8d
1. **[高] 多线程模式修复** — `accept_loop` 主线程不在协程上下文中,`client_handler` 在非阻塞 fd 上 busy loop导致请求无法处理。需让 accept_loop 通过 `coco_go` 在调度器中运行,或使用 `coco_accept` / `poll` 等待 I/O。
2. **[中] Windows 兼容性** — 平台抽象层platform.h / platform.csendfile 替代方案io_uring 替代方案
3. **[中] Doxygen 中文注释** — http2.c 已完成其余模块tls.c, config.c, multipart.c 等)待补充
4. **[已完成] ~~检查远程更新内容~~** — 上游 coco v2.2.0 已 review 并升级b45045e
## 最近行动记录
- **2026-06-05: 本轮行动 — 升级 coco 子模块到 v2.2.0**
- 检查 upstream 新提交:发现 release 2.2.0,包含调度器重大改进
- 主要更新:负载重分配、热栈迁移槽位释放、调度器停止时状态清理、原子减量修复
- fast-forward 子模块从 62dbb13 到 b45045e
- 编译通过,零警告(仅 coco linker .note.GNU-stack 提示)
- **59 项集成测试全部通过127 个单元测试全部通过**
- 推送到 maind2c6dc3
- **2026-06-05: 本轮行动 — 访问日志Nginx combined 格式)**
- 新增 `access_log.c` / `access_log.h`Nginx combined 格式访问日志线程安全pthread_mutex
- `cocoon.h`:新增 `access_log_path` 配置字段