Camofox Browser
Medir Camofox sin confundir memoria inactiva, navegador y éxito de tarea
Evalúa arranque frío, instantáneas, capturas, concurrencia y tareas autorizadas con estado final comprobado.
Qué aprenderás
- Mide la carga completa, no solo Node o inactividad.
- Cuenta paginación, capturas y recuperación.
- Los límites configurados no son throughput medido.
Antes de empezar
- HTTP y JSON básicos
- Servicio aislado y página propia o permitida
Explica la frontera real del servicio y verifica la muestra de observación o ciclo propuesta.
Conclusiones clave
- Mide la carga completa, no solo Node o inactividad.
- Cuenta paginación, capturas y recuperación.
- Los límites configurados no son throughput medido.
Coste inactivo no es coste del navegador activo
El README anuncia una huella inactiva pequeña mediante arranque diferido y apagado. Es un estado distinto de páginas activas, renderizadores y contextos autenticados. Mide árbol de procesos o contenedor, no solo heap de Node. Los valores process.memoryUsage de salud describen Node y no bastan para medir todo el navegador.
Separa arranque, primera página disponible, navegación caliente y vuelta a inactividad. Ahorrar memoria en reposo puede trasladar latencia a la siguiente tarea. Registra estado del navegador y carga en cada medición. Esta serie no reproduce el número de memoria anunciado ni convierte una huella inactiva baja en una recomendación universal de servidor.
Las observaciones compactas acumulan coste
Compara HTML, instantáneas semánticas y capturas sobre la misma muestra permitida y necesidad informativa. Cuenta todos los fragmentos paginados necesarios, no solo el primero. Una instantánea pequeña que omite un control requerido falla la tarea aunque resulte económica en un contador de tokens.
Las capturas base64 y descargas opcionales aumentan volumen; las primeras también requieren renderizado y codificación. Cuenta bytes de red y entrada real al modelo por separado y anota si hacía falta observación visual. Un porcentaje anunciado entre representaciones no demuestra menor coste total si el agente necesita observaciones repetidas o recuperación de fallos.
La capacidad depende de políticas y exactitud
Los valores predeterminados revisados incluyen tres operaciones concurrentes por usuario, cincuenta sesiones, diez pestañas por sesión y cincuenta globales. Son techos configurados, no rendimiento demostrado de tu máquina. Reciclaje, timeouts y recuperación pueden alterar resultados antes de que CPU revele el cuello de botella. Aumenta gradualmente desde una carga propia pequeña.
Publica tareas con estado final verificado, percentiles de latencia, memoria máxima del árbol, errores y pestañas recicladas. Incluye ejecuciones frías, calientes y un fallo controlado; deja null lo no medido. El informe debe orientar capacidad para esa carga, no inventar precio universal por página ni éxito en sitios que no autorizaron la prueba.
Pasos de implementación
- 1
Fija muestra propia y regla de estado final.
- 2
Mide arranque frío, trabajo caliente e inactividad.
- 3
Aumenta concurrencia registrando reciclaje y errores.
- 4
Publica tareas correctas, latencia, memoria y volumen conjuntamente.
Ejemplo para copiar
{
"workload": "observación de formulario propio",
"state": "frío",
"tasks": 10,
"verifiedSuccesses": null,
"latencyP95Ms": null,
"processTreePeakBytes": null,
"allResponseBytes": null,
"recycledTabs": null
}Preguntas frecuentes
¿La memoria de /health es toda la del navegador?
No. process.memoryUsage describe Node. Mide árbol de procesos o contenedor para la carga completa.
¿MAX_SESSIONS=50 garantiza buen funcionamiento de cincuenta sesiones?
No. Es un techo de admisión; la capacidad depende de páginas, recursos, concurrencia y exactitud exigida.
Fuentes
- README.mdFuente verificada 2026-09-08
- package.jsonFuente verificada 2026-09-08
- DockerfileFuente verificada 2026-09-08
- lib/auth.jsFuente verificada 2026-09-08
- lib/snapshot.jsFuente verificada 2026-09-08
- lib/extract.jsFuente verificada 2026-09-08
- lib/config.jsFuente verificada 2026-09-08
- lib/reporter.jsFuente verificada 2026-09-08
- lib/page-lease.jsFuente verificada 2026-09-08
- server.jsFuente verificada 2026-09-08
- tests/unit/snapshot.test.jsFuente verificada 2026-09-08
- tests/unit/auth.test.jsFuente verificada 2026-09-08