Camofox Browser
测量 Camofox:不要混淆空闲内存、浏览器内存与任务成功
围绕具体负载评估冷启动、快照、截图、并发及经过授权且结果正确的任务完成情况。
你将学会
- 测完整浏览器负载,不只 Node 堆或空闲状态。
- 计入分页、截图和恢复的观察成本。
- 配置上限不是实测吞吐。
开始前需要
- 基础 HTTP 与 JSON 知识
- 隔离服务与自有或获准测试页面
解释本章真实服务边界,并核验建议的观察或生命周期样例。
先看结论
- 测完整浏览器负载,不只 Node 堆或空闲状态。
- 计入分页、截图和恢复的观察成本。
- 配置上限不是实测吞吐。
空闲服务成本不是活动浏览器成本
README 通过延迟启动和关闭宣传较小空闲占用,但这与活动页面、渲染进程和登录上下文是不同状态。应测完整进程树或容器,而不只是 Node 堆。健康响应的 process.memoryUsage 描述 Node 进程,本身不是完整浏览器内存度量。
应分别记录启动时间、首次页面就绪、热导航和返回空闲。节省空闲内存的配置可能把延迟转移到下一次任务,测量时需记录浏览器运行状态和负载。本系列没有复现 README 的空闲内存数字,也不把低空闲占用转换成普遍服务器规格建议。
紧凑观察仍有累计成本
在同一获准样例和同一信息要求下,比较原始 HTML、语义快照和截图。计入为回答问题所需的全部分页分段,而不只取第一条响应。一个遗漏必要控件的小快照,即使在 token 计数器中很省,也仍然没有完成任务。
可选 base64 截图与下载会增加响应体积,截图还消耗渲染与编码工作。网络字节和实际模型输入应分开计数,并注明是否真的需要视觉观察。当智能体需要反复观察或恢复调用时,两种表示之间的宣传缩减比例不能证明端到端成本更低。
容量取决于资源策略与正确性
所查默认值包括每用户三个并发操作、五十会话、每会话十标签和全局五十标签。这些是配置上限,不是你的机器已验证的吞吐目标。标签回收、超时和浏览器恢复可能在 CPU 利用率显露瓶颈前改变任务结果,应从小型自有负载逐步提高并发。
报告应包含经最终状态核验的成功任务、延迟分位数、进程树峰值内存、错误和被回收标签,并加入冷暖运行及受控失败场景。未测值保持 null。结果应支持该负载的容量决策,不应变成通用每页价格,也不能对未授权网站宣称测试成功。
实施步骤
- 1
固定自有样例与最终状态验收规则。
- 2
分别测冷启动、热任务和返回空闲。
- 3
提高并发时记录回收与错误。
- 4
一起报告正确任务、延迟、内存与响应总量。
可复制示例
{
"workload": "自有表单观察",
"state": "冷启动",
"tasks": 10,
"verifiedSuccesses": null,
"latencyP95Ms": null,
"processTreePeakBytes": null,
"allResponseBytes": null,
"recycledTabs": null
}常见问题
/health 内存可以当作浏览器总内存吗?
不能。其 process.memoryUsage 描述 Node,应测浏览器进程树或容器。
MAX_SESSIONS=50 代表五十会话会表现良好吗?
不是,它是准入上限。实际容量取决于页面、资源、并发及任务正确性要求。
资料来源
- README.md来源核查 2026-09-08
- package.json来源核查 2026-09-08
- Dockerfile来源核查 2026-09-08
- lib/auth.js来源核查 2026-09-08
- lib/snapshot.js来源核查 2026-09-08
- lib/extract.js来源核查 2026-09-08
- lib/config.js来源核查 2026-09-08
- lib/reporter.js来源核查 2026-09-08
- lib/page-lease.js来源核查 2026-09-08
- server.js来源核查 2026-09-08
- tests/unit/snapshot.test.js来源核查 2026-09-08
- tests/unit/auth.test.js来源核查 2026-09-08