Menú
Blog (artículos)

Midiendo la latencia del correo electrónico en un flujo de trabajo CI/CD

Una prueba dependiente del correo electrónico incluye varios relojes. Medir solo el intervalo entre dos acciones del navegador oculta dónde se gastó el tiempo y puede hacer que un cambio en el buzón parezca una mejora de la aplicación.

Registra las etapas por separado

EtapaMarca de tiempo útil
Disparador de la aplicaciónCuando la prueba solicita un mensaje de verificación.
Envío del remitenteCuando el sistema de envío lo acepta o lo pone en cola, si es observable.
Observación del receptorCuando el mensaje correspondiente está disponible para la prueba.
Resultado de la verificaciónCuando la aplicación confirma el estado de cuenta previsto.

Utiliza un reloj común cuando sea posible, registra las suposiciones de zona horaria y diferencia las marcas de tiempo ausentes de una duración cero. Compara ejecuciones repetidas bajo las mismas condiciones antes de hacer afirmaciones de rendimiento.

Elige el mecanismo de actualización compatible

Los eventos enviados por el servidor permiten que un servidor envíe actualizaciones a través de una conexión de navegador establecida. Pueden reducir el sondeo repetido del frontend, pero la entrega sigue dependiendo del procesamiento subyacente y la red. Ver la visión general de MDN. Un sitio web que usa SSE no significa que su API pública exponga el mismo flujo.

Para pruebas de API, sigue la interfaz documentada. Si se requiere sondeo, usa retroceso limitado, una fecha límite y correlación de mensajes en lugar de un bucle ajustado.

Mide los fallos así como los promedios

Informa de tiempos de espera, accesos rechazados, errores del remitente y mensajes no coincidentes junto con los tiempos exitosos. Un promedio más bajo entre los éxitos puede ocultar un aumento de fallos. Mantén trazas sanitizadas para diagnóstico sin registrar los tokens de verificación.

Controla la carga de trabajo propia de la prueba

Limita los trabajos simultáneos, cancela el trabajo después de la fecha límite y limpia los artefactos sintéticos. El lenguaje de implementación y la base de datos no establecen una capacidad fija ni hacen que la escalabilidad sea gratuita; mide los recursos consumidos por la carga de trabajo real.