Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora de muestra del grupo en UTC. |
| service | Utf8 | Servicio de aplicación propietaria de la piscina. |
| pool_name | Utf8 | Nombre del grupo lógico estable. |
| active_connections | Int64 | Conexiones actualmente desprotegidas. |
| idle_connections | Int64 | Conexiones abiertas actualmente inactivas. |
| max_connections | Int64 | Tamaño máximo de grupo configurado. |
| wait_ms | Float64 | Espera de adquisición de conexión observada para esta muestra. |
| timed_out | Boolean | Si la adquisición superó el tiempo de espera del cliente. |
| environment | Utf8 | Entorno de implementación. |
Copiar la consulta
SELECT
service,
pool_name,
COUNT(*) AS samples,
100.0 * AVG(active_connections)
/ NULLIF(MAX(max_connections), 0) AS average_utilization_pct,
SUM(CASE WHEN wait_ms > 0 THEN 1 ELSE 0 END) AS waited_samples,
100.0 * SUM(CASE WHEN wait_ms > 0 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS wait_rate_pct,
AVG(wait_ms) AS average_wait_ms,
SUM(CASE WHEN timed_out THEN 1 ELSE 0 END) AS timeouts
FROM database_pool_samples
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY service, pool_name
HAVING COUNT(*) >= 10
ORDER BY wait_rate_pct DESC, average_utilization_pct DESC;Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.
Resultado de la consulta
Tasa de espera de adquisición de conexión
Las personas que llaman a las cajas esperan en dos tercios de las muestras y también experimentan tiempos de espera de adquisición.
| service | pool_name | samples | average_utilization_pct | waited_samples | wait_rate_pct | average_wait_ms | timeouts |
|---|---|---|---|---|---|---|---|
| checkout-api | primary | 12 | 89,17 | 8 | 66,67 | 118,75 | 2 |
| analytics-api | reporting | 12 | 45 | 4 | 33,33 | 12,5 | 0 |
Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.
Reproducir el ejemplo
Descargar el accesorio público
El paquete JSON incluye el contrato de evento escrito, reproducible filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.
Cómo funciona el SQL
- 1La utilización promedio proporciona un contexto de capacidad, pero no se utiliza por sí sola como señal de falla.
- 2La tasa de muestra esperada muestra la frecuencia con la que las personas que llaman encuentran competencia incluso cuando la espera es corta.
- 3Los tiempos de espera siguen siendo explícitos porque un promedio puede ocultar un conjunto más pequeño de solicitudes que nunca obtienen una conexión.
Casos extremos para decidir
- La frecuencia de muestreo debe permanecer estable antes de comparar tarifas entre servicios.
- La concurrencia sin servidor puede crear muchos grupos independientes; incluir una instancia o dimensión de tiempo de ejecución cuando la agregación ocultaría esa forma.
- El aumento del tamaño del grupo puede trasladar la contención a la base de datos. Verifique la capacidad de la base de datos antes de cambiar el límite de clientes.
Panel recomendado
- Barras: wait_rate_pct y average_utilization_pct por servicio
- Tendencia: conexiones activas, inactivas y en espera
- Estadística: tiempos de espera de adquisición de conexión
Guía de alerta
Alerte cuando la tasa de espera y los tiempos de espera sigan siendo elevados en muestras consecutivas y luego valide la capacidad de la base de datos antes de aumentar el grupo.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Encuentre consultas lentas en bases de datos por huella digital
Clasifique las operaciones de bases de datos normalizadas por tasa de consultas lentas, duración promedio y peor duración observada sin almacenar SQL ni parámetros sin formato.
Receta abiertaCalcular la tasa de reversión de transacciones de la base de datos
Compare las transacciones confirmadas y revertidas por servicio y al mismo tiempo preserve las categorías de error, la duración y las cuentas afectadas.
Receta abiertaEncuentre esperas y bloqueos de bloqueo de bases de datos
Clasifique las huellas dactilares de operaciones de bases de datos bloqueadas por recuento de incidentes, duración de la espera, bloqueos no resueltos y puntos muertos detectados.
Receta abiertaEjecútelo en eventos reales.
Crea una tabla, adapta los campos y guarda el resultado.
Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.