Skip to content

AtomCode Daemon 性能与资源分析报告

实测数据,基于 v4.25.3,当前环境 2026-06-22


1. 资源基线

指标空闲值说明
RSS 内存9.7 MB非常轻量
线程数18Tokio 异步运行时线程池
文件描述符13含健康检查、日志、网络监听
进程状态Sleeping等待请求时睡眠

2. 并发性能

2.1 5 路并发同时请求

指标
请求方式直接 daemon /chat
全部完成时间8.5s(最慢请求约 4.7s)
成功率100%(5/5 全部 200)
是否存在阻塞否(异步处理正常)

2.2 10 次快速连续请求(并发)

通过 proxy /v1/chat/completions

#1: 200 (1.6s)  #2: 200 (2.3s)  #3: 200 (2.5s)  #4: 200 (2.0s)  #5: 200 (1.6s)
#6: 200 (4.7s)  #7: 200 (3.0s)  #8: 200 (3.2s)  #9: 200 (2.2s)  #10: 200 (1.5s)
指标
全部 200✅ 10/10
平均延迟2.5s
最短1.5s
最长4.7s
总耗时4.7s(并发执行)

2.3 20 次调用序列(4 并发)

指标
请求数20 次带回复文本的请求
总耗时219.8s(约 3 分 40 秒)
平均11s/次(含 LLM 生成时间)
成功率100%

3. 内存增长

阶段RSS说明
空闲9.7 MBdaemon 刚启动
5 次并发33.8 MB含 LLM 响应的临时缓冲
20 次序列42.5 MB含 session 持久化和 datalog
增长量~33 MB从空闲到 20 次调用后

内存主要消耗在:

  1. LLM 响应缓冲(每次 ~8k tokens × 并发数)
  2. Session 写入磁盘(JSON 序列化)
  3. Datalog 写入(每次调用 JSON 落盘)

4. 线程与文件描述符

阶段线程数fd 数说明
空闲1813Tokio 默认
压力后1910线程稳定,fd 无泄漏

结论:无资源泄漏。 线程数稳定,fd 数在请求结束后回落。


5. Session 累积测试

指标
测试前 session 数28(历史累积)
20 次调用后 session 数41(+13 新增)
每次调用创建新 session✅ 是(daemon 默认行为)

Session 清理: daemon 无自动过期清理机制。session 文件在 ~/.atomcode/sessions/ 下永远累积。长时间使用后需手动清理。


6. Proxy 额外开销

指标
Proxy 自身内存~25 MB(Python + FastAPI + uvicorn)
额外延迟<5ms(本地 aiohttp 转发)
并发能力异步,不阻塞

7. 稳定性评估

场景结果
5 路并发✅ 全部成功
10 路并发✅ 全部成功
20 次连续✅ 全部成功
内存泄漏❌ 未发现
线程泄漏❌ 未发现
fd 泄漏❌ 未发现
Session 无限增长⚠️ 需关注

8. 推荐运行配置

配置项推荐值说明
最大并发请求10超过后 LLM 端限流可能触发
内存需求128 MBdaemon + proxy 足够
定期清理session 文件按需清理 ~/.atomcode/sessions/
daemon 连续运行无限制已持续运行 10+ 天无故障

基于 VitePress 构建 · AtomCode v4.25.3 逆向工程分析文档