GH GambleHub

Operaciones y administración de → Métricas de rendimiento

Métricas de rendimiento

1) Por qué se necesitan métricas de rendimiento

Performance es la capacidad del sistema para proporcionar SLOs de destino en tiempo de respuesta y ancho de banda a un costo determinado. Sin métricas es imposible:
  • detectar degradaciones antes de incidentes,
  • prever la capacidad y el presupuesto,
  • comparar soluciones alternativas (caché vs BD, gRPC vs NAT),
  • gestionar las regresiones posteriores a los lanzamientos.

Principios: un solo diccionario de métricas, agregación de percentiles (p50/p90/p95/p99), contabilización separada de rutas «calientes» y «frías», contexto (versión, región, proveedor, dispositivo).

2) Taxonomía métrica

2. 1 Marco SRE básico

Cuatro señales de oro: Latency, Traffic, Errors, Saturation.
RED (para microservicios): Rate, Errors, Duration.
USE (para hierro): Utilización, Saturación, Errores.

2. 2 Niveles

Infraestructura: CPU, RAM, disco, red, contenedores, nodos.
Plataforma/Servicios: API-endpoints, colas, cachés, DB, bus de eventos.
Experiencia del cliente: Web Vitals, SDK móvil, streaming, CDN.
Plataforma de datos: ETL/ELT, streams, escaparates, latencia BI.
Flow crítico de negocios: autorización, KYC, depósitos/pagos, rondas de juegos.

3) Catálogo de métricas y fórmulas clave

3. 1 API y microservicios

RPS (Requests per second).
Latency p50/p95/p99 (ms) - preferiblemente "end-to-end' y" backend-only ".
Error Rate (%) = 5xx + 4xx validable/todas las solicitudes.
Saturation: longitud media de la cola de workers, consultas «in-flight».
Cold Start Rate (para FaaS).
Throttling/Dropped Requests.

SLO ejemplo: p95 latency ≤ 250 ms en RPS a 2k en la región EU-East; Errores ≤ 0. 5%.

3. 2 Bases de datos

QPS/Transactions/s, avg/median query time, p95 query time.
Lock Waits / Deadlocks, Row/Index Hit Ratio, Buffer Cache Miss%.
AproxLag (replicación), Checkpoint/Flush time, Autovacuum nat.
Hot Keys/Skew es el top N de las llaves por carga.

Fórmula «Solicitudes de núcleo»: QPS/ vCPU_core_count → una señal para charding.

3. 3 Caché y CDN

Hit Ratio (%), Evictions/s, Latency p95, Item Size percentiles.
Origin Offload (%) для CDN, TTFB, Stale-while-revalidate hit%.

3. 4 colas/streams

Ingress/egress msg/s, Consumer Log (mensajes/tiempo), Rebalance rate.
Processing Time p95, DLQ Rate.

3. 5 Infraestructura/contenedores

CPU Utilization %, CPU Throttle %, Run Queue length.
Memory RSS/Working Set, OOM kills, Page Faults.
Disk IOPS/Latency/Throughput, Network RTT/ retransmits.
Node Saturation: pods pending, pressure (CPU/Memory/IO).

3. 6 Cliente Web (UX)

Core Web Vitals: LCP, INP, CLS.
TTFB, FCP, TTI, Resource Timing (DNS, TLS, TTFB, download).
Error Rate (JS), Long Tasks, SPA route change time.
CDN Geo-Latency (percentil).

3. 7 Cliente móvil

App Start time (cold/warm), ANR rate, Crash-free sessions %.
Network round-trips/session, Payload size, Battery drain/session.
Tasa de éxito sin conexión (operaciones en caché).

3. 8 Plataforma de datos y presentación de informes

Freshness Lag (T-now → витрина), Throughput rows/s, Job Success %.
Costo por TB procesado, Skew por lotes, eventos Late%.
BI Time-to-Render p95 para dashboards clave.

3. 9 Dominio crítico flow (iGaming como ejemplo)

Auth p95, KYC TTV (Time-to-Verify), Deposit/Withdrawal p95.
Game Round Duration p95, RNG call latency, Provider RTT p95.
Payment PSP success rate, Chargeback investigation SLA.

4) Normalización, percentili y atribución

Percentili contra medias: fijamos p50/p90/p95/p99 - medianas suavizan los dolores máximos.
Cortes: versión de la aplicación, región, proveedor, canal de red (4G/Wi-Fi), dispositivo.
Correlación: asociamos métricas «backend-only» y «real-user» para cadenas causales.
Exemplars/Traces: asociamos percentils extremos con trazados.

5) Umbrales y alertas (cuadrícula aproximada)

Latency p95 (core API): warning> 250 ms, critical> 400 ms 5 min seguidos.
Error rate: warning > 0. 5%, critical> 2% (por endpoint, no global).
DB RepLag: warning > 2 s, critical > 10 s.
Kafka consumer lag (time): warning > 30 s, critical > 2 min.
Web LCP (p75): warning > 2. 5 s, critical > 4 s.
Mobile ANR: warning > 0. 5%, critical > 1%.
ETL Freshness: warning > +15 min, critical > +60 min от SLA.

Utilizamos umbrales estáticos + adaptativos (estacionalidad, patrones diurnos), deduplicación y agrupación de alertas por servicios/lanzamientos.

6) Pruebas de rendimiento

Tipos: baseline, estrés, largo (soak), caos (degrade links/PSP).
Perfiles de carga: por tries reales (distribution-based), «burst», picos regionales.
Objetivos: lograr SLO con RPS objetivo y operaciones de mix, validación de backpressure.
Métricas de ejecución: Throughput, Error%, p95 latency, pausa GC, CPU throttle, queue lag, costo/run.

Regla de regresión: la liberación se considera exitosa si p95 no se deteriora> 10% con un perfil igual y el costo de la solicitud (CPU-ms/request) no ha aumentado> 15%.

7) Planificación de capacidad y precio/rendimiento

Demand model: RPS por reloj × trabajo medio/consulta (CPU-ms, IO-ops).
Headroom: 30-50% de stock para rutas críticas, auto-scaling por P95.
Cost KPIs: Cost per 1k requests, Cost per GB served, $ per 1 p. p. Mejoras LCP.
Almacenamiento en caché/desnormalización: contar «cache ROI» = (ahorro de CPU-ms − costo de caché).
Regiones cálidas y frías: offload en CDN/edge, replicación de sólo lectura.

8) Prácticas de observación y elaboración de perfiles

Tracks: trace-ID distribuidos a través de todos los hop's; sampling inteligente (tail-based).
Métricas: Prometheus/OpenTelemetry, notación única de nombres y etiquetas.
Logs: con correlación por trace/span, budget por ruido de registro, edición PII.
Perfiles: Perfiles CPU/Heap/Alloc/Lock, Perfiles Continuos (eBPF).
Instancias de muestra: asociamos p99 ráfagas con span/SQL/PSP-coll específicos.

9) Métricas de lanzamientos y comandos (para completar)

DORA: Deployment Frequency, Lead Time, Change Failure Rate, MTTR.
ESPACIO: satisfacción, rendimiento, actividad, comunicación, eficiencia.
Estas métricas no son sobre hierro, sino que afectan directamente a la sostenibilidad del rendimiento.

10) Anti-patrones

Perseguir los promedios: ignorar p95/p99.
«Global» error rate: oculta endpoints dolorosos.
Sin atribución por versiones: no es posible capturar las regresiones del cliente.
Alert spam: umbrales sin histéresis y corrección de estacionalidad.
Optimización «a ciegas»: falta de perfiles y trazados.
Mezcla de UX y latencia de respaldo: conclusiones incorrectas sobre la experiencia del cliente.

11) Hojas de cheques

Estándar único de métricas

  • Diccionario de métricas con fórmulas, unidades, propietarios
  • Percentiles obligatorios p50/p90/p95/p99
  • Correlación de trade y correlación de logs
  • Etiquetas: región, versión, proveedor, dispositivo, canal de red
  • Umbrales con histéresis y deduplicación

Antes

  • Beizline p95/p99 en stage y venta
  • Tráfico canario + comparación de métricas A/B
  • Bandera de Ficha con retroceso rápido
  • Plan de vigilancia (observabilidad runbook)
  • Revuelo de las consultas Top N/SQL más lentas
  • Auditoría de políticas de caché y TTL
  • Comprobación de Freshness y réplicas de DB
  • Pruebas de degradación de proveedores externos (PSP, KYC)

12) Mini playbucks (ejemplo)

Degradación p95/api/payments

1. Conciliar error% y temporizadores PSP externos.
2. Compruebe la cola de los collbacks del registro de consumo.
3. Ver trace ejemplos p99: ¿cuello de botella SQL/HTTP?
4. Habilitar caché de referencia/límite, reducir N + 1.
5. Presupuesto: elevar temporalmente los recursos del worker en un 20%, habilitar autoscale.
6. Post-fix: índice por (psp_id, status, created_at), retray-jitter.

Crecimiento de AmbLag en la DB

1. Compruebe las solicitudes «pesadas» y las transacciones largas.
2. Aumentar el paralelismo de replicación, afinar checkpoint.
3. Las lecturas en caché/réplicas son de sólo lectura.
4. En ventanas de pico, denorm + batches parciales.

13) Ejemplos de fórmulas/SQL (simplificado)

Error Rate por endpoint

sql
SELECT endpoint,
100. 0 SUM(CASE WHEN status >= 500 THEN 1 ELSE 0 END) / COUNT() AS error_pct
FROM http_logs
WHERE ts >= now() - interval '5 minutes'
GROUP BY 1
HAVING COUNT() > 500;

Latency p95 (TDigest/Approx)

sql
SELECT endpoint, approx_percentile(latency_ms, 0. 95) AS p95_ms
FROM http_metrics
WHERE ts >= date_trunc('hour', now())
GROUP BY 1;

Registro de consumo (tiempo)

sql
SELECT topic, consumer_group,
max(produced_ts) - max(consumed_ts) AS lag_interval
FROM stream_offsets
GROUP BY 1,2;

Web LCP p75

sql
SELECT approx_percentile(lcp_ms, 0. 75) AS lcp_p75
FROM web_vitals
WHERE country = 'UA' AND device IN ('mobile','tablet')
AND ts >= current_date;

14) Incrustación en dashboards y presentación de informes

Tarjetas KPI: p95 latency, error%, RPS, saturation con tendencias WoW/DoD.
Top N «peor» endpoints/SQL/recursos, click drill-down → trace.
Correlación de versiones del cliente: grafo «versión → p95 LCP/INP → conversión».
Mapa del mundo: geo-latencia (CDN), latencia PSP por región.
Panel SLO: cuota de tiempo en SLO, salidas de SLO, «presupuesto de errores».

15) Resultados

Las métricas de rendimiento son una disciplina de sistema: diccionario único, percentili, atribución, buena observabilidad y SLO rigurosos. Al combinar señales técnicas (latencia, lags, caché) y de producto (tiempo KYC, depósito p95, LCP), gestiona la calidad de la experiencia y el costo de su envío - predecible y escalable.

Contact

Póngase en contacto

Escríbanos ante cualquier duda o necesidad de soporte.¡Siempre estamos listos para ayudarle!

Iniciar integración

El Email es obligatorio. Telegram o WhatsApp — opcionales.

Su nombre opcional
Email opcional
Asunto opcional
Mensaje opcional
Telegram opcional
@
Si indica Telegram, también le responderemos allí además del Email.
WhatsApp opcional
Formato: +código de país y número (por ejemplo, +34XXXXXXXXX).

Al hacer clic en el botón, usted acepta el tratamiento de sus datos.