Cómo medimos
Toda cifra que publicamos o entregamos lleva su contexto: qué se midió, dónde, cuándo, con qué carga y con qué herramienta. Esta página describe el procedimiento que seguimos y las plantillas que usamos.
Tres clases de cifras
- Benchmark. Medición en un entorno controlado con carga sintética. Se declaran el hardware, el sistema operativo, el perfil de energía, las versiones y el generador de carga. Sirve para comparar implementaciones o configuraciones bajo las mismas condiciones; no predice el rendimiento con otro hardware ni con tráfico real.
- Producción. Medición sobre tráfico real, con la herramienta que la registró, el periodo y el sistema. Sirve para fijar la línea base y verificar el efecto de un cambio.
- Estimación. Cálculo a partir de supuestos explícitos, por ejemplo el tamaño de los mensajes y la tasa de aciertos esperada. Se presenta con sus supuestos y nunca como resultado medido.
Qué instrumentamos y con qué
| Magnitud | Cómo la registramos | Herramientas |
|---|---|---|
| Latencia por petición | Histograma con percentiles p50, p90, p99, p99,9 y máximo; nunca solo el promedio | Histogramas log-lineales del harness de benchmarks |
| Rendimiento | Peticiones completadas por segundo durante el periodo medido, excluido el calentamiento | Contadores del harness; en producción, las métricas del propio servicio (Prometheus u otra) |
| Trabajo evitado por una caché | Llamadas reales al backend frente a peticiones recibidas; aciertos y fallos según los contadores de la biblioteca | Contadores del harness y de la biblioteca medida |
| CPU y memoria | Perfil de CPU y memoria residente (RSS) al final de cada corrida | /proc, perf, pprof en Go; sanitizers (TSAN, ASAN) y valgrind durante los diagnósticos de código |
| Errores | Respuestas fallidas o saturaciones durante el periodo medido | Contadores del harness; en producción, los registros del servicio |
| Variabilidad | Tres repeticiones como mínimo; se publica la mediana y el rango mínimo–máximo | scripts/summarize.py del harness |
Antes y después de una intervención
- Línea base. Antes de cambiar nada, medimos el sistema tal como está, con la misma carga o el mismo periodo de tráfico, y registramos fecha, herramienta y entorno.
- Un cambio a la vez. Aplicamos una intervención y la medimos. Si hay varias, cada una se mide por separado.
- Misma medición. Repetimos el procedimiento de la línea base: misma carga, mismo entorno, mismas herramientas.
- Repeticiones y rango. Tres corridas como mínimo; informamos la mediana y el rango. Si el rango de la línea base y el del resultado se solapan, no afirmamos mejora.
- Condiciones declaradas. Hardware, sistema, perfil de energía, versiones y configuración quedan en el informe. No comparamos cifras tomadas en hardware distinto.
- Entrega. El informe sigue la plantilla de abajo e incluye los datos crudos.
El primer principio es no engañarte a ti mismo; y tú eres la persona más fácil de engañar.
Benchmarks publicados
El protocolo, los scripts, los datos crudos y el entorno de cada medición están en el repositorio simylresearch/simyl-benchmarks. La ficha de resultados vigente está en Benchmarks. Cualquiera puede repetir la medición con los comandos del README y comparar con el entorno declarado.
El mismo rigor sobre este sitio
Antes de cada publicación, este sitio pasa por un protocolo de laboratorio: construcción que falla ante cualquier aviso; dos lints propios que comprueban enlaces, anclas, metadatos, datos estructurados, formularios, imágenes sociales, frases retiradas y paridad español–inglés; un recorrido automatizado en navegador que prueba teclado, tema claro y oscuro, anclas, consentimiento de analítica, validación del formulario y funcionamiento sin JavaScript; y una comprobación automática del sitio publicado después de cada fusión y una vez al mes. Cada verificación se registra con fecha.
Plantillas
- Plantilla de informe de medición (Markdown).
- Plantilla de criterios de aceptación (Markdown).
Las usamos en cada diagnóstico y en cada proyecto por hitos; puedes usarlas tal cual en tu equipo.
¿Quieres que midamos tu sistema con este método? Pide la llamada exploratoria