Dimensionado para 1.000.000 usuarios generando audio al 85% de capacidad
Diagrama de infraestructura
Activa funciones del sistema, configura cuántos usuarios las ejecutan en simultáneo y observa el consumo real por equipo
Simulación de carga
Activa una o varias funciones y ajusta cuántos usuarios las ejecutan al mismo tiempo
bcrypt 12 rondas en worker threads: 1 núcleo atiende ~50 logins simultáneos; el event loop no se bloquea. La consulta MySQL (~0,89 W) domina el coste por usuario. Saturación CPU a ~459.000 logins simultáneos.
Proxy I/O-bound a newsdata.io. Node.js libera el event loop durante la espera (~500 ms); CPU casi inactivo. Redis absorbe hits repetidos con coste mínimo.
Llamada async a Gemini (3–8 s de I/O puro). Durante la espera, el event loop atiende otras peticiones. CPU activo solo al sanitizar y parsear la respuesta (~100 ms).
~5 peticiones async a AWS Polly. Node.js espera I/O puro (3–6 s); CPU activo solo en chunking y concatenación de buffers MP3 (~200 ms). La red es el principal recurso consumido.
INSERT de ~8 MB (audio base64) en MySQL Principal + escritura en MinIO. Los HDDs Seagate Exos X20 consumen 6.4 W en escritura. El disco es el cuello de botella.
El audio está como data URI base64 en el navegador; no hay petición al servidor. Carga marginal mínima por keep-alive HTTP.
Paginación I/O-bound con token nextPage. Idéntico a Ver noticias. Redis absorbe tokens ya resueltos; Node.js en espera I/O la mayor parte del tiempo.
SELECT en MySQL Réplica (el Principal no se toca). Recupera filas LONGTEXT de audio; HDDs en lectura secuencial (Seagate Exos X20: 8.1 W c/u).
Diagrama de flujo de datos
Recorrido completo de los datos desde el navegador hasta los servicios externos y la base de datos
Valores calculados con datasheets oficiales: Fortinet (FortiGate 600F) · Cisco (C9500-32C, C9300-48P) · F5 (BIG-IP i2800) · Intel (TDP Xeon) · Seagate (Exos X20) · Dell PowerEdge · mayo 2026