Uso de slots de BigQuery por minuto
El uso de slots por minuto es la granularidad correcta para depurar problemas de rendimiento y entender patrones de picos. Esta consulta muestra exactamente cuándo se dispara la demanda de slots y cuánto duran los picos.
Por qué importa
Los promedios horarios pueden enmascarar picos de slots cortos pero intensos que causan encolamiento de consultas y degradación del rendimiento. Los datos por minuto revelan estos picos, ayudándole a determinar si sus slots máximos del autoscaler de Editions están lo suficientemente altos y si la programación de consultas necesita ajustarse.
Cómo funciona
Agrega period_slot_ms desde JOBS_TIMELINE a granularidad MINUTO, dividiendo por 60,000 (milisegundos por minuto). El relleno del calendario crea un conjunto de datos continuo minuto a minuto.
Consulta SQL
Fill in your details to get a ready-to-run query:
-- Average slot consumption per minute (zero-filled)
DECLARE lookback_days INT64 DEFAULT 3;
DECLARE ms_per_min INT64 DEFAULT 60000;
WITH minute_slots AS (
SELECT
TIMESTAMP_TRUNC(period_start, MINUTE) AS minute,
ROUND(SUM(period_slot_ms) / ms_per_min, 2) AS avg_slots
FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE
WHERE period_start >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
AND statement_type != 'SCRIPT'
GROUP BY minute
),
calendar AS (
SELECT ts AS minute FROM UNNEST(GENERATE_TIMESTAMP_ARRAY(
TIMESTAMP_TRUNC(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY), MINUTE),
TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), MINUTE),
INTERVAL 1 MINUTE)) AS ts
)
SELECT
c.minute,
IFNULL(m.avg_slots, 0) AS avg_slots
FROM calendar c
LEFT JOIN minute_slots m ON c.minute = m.minute
ORDER BY c.minuteExplicación de la consulta
Mismo patrón que horario/diario pero a granularidad de minuto. El divisor ms_per_min es 60,000 ms. Nota: para ventanas de retención más largas (>7 días), esta consulta puede devolver un conjunto de resultados grande — reduzca lookback_days para análisis a nivel de minuto.
Puntos clave
Los picos de slots que duran solo 1-2 minutos son típicamente consultas ad hoc de usuarios — considere establecer límites de slots por usuario.
Las mesetas sostenidas de 10-15 minutos indican ejecuciones de pipelines por lotes — optimice las consultas más pesadas en esa ventana.
Si los picos superan sus slots máximos de Editions, las consultas están siendo encoladas — aumente max_slots o escalone las cargas.
Compare el timing de los picos con sus horarios de cron/Airflow para identificar qué pipeline causa cada ráfaga.
Mejores prácticas
- 1
Use estos datos para establecer sus slots máximos del autoscaler de Editions para cubrir la demanda P99 a nivel de minuto.
- 2
Mantenga lookback_days pequeño (1-3 días) cuando analice a granularidad de minuto para evitar conjuntos de resultados grandes.
- 3
Cruce los picos con la consulta de consultas concurrentes para ver cuántas consultas se ejecutan simultáneamente.
- 4
Configure una alerta de CloudClerk para uso sostenido de slots por encima de un umbral.
¿Quiere que CloudClerk encuentre estos ahorros automáticamente?
Nuestra plataforma se conecta a su proyecto BigQuery, ejecuta estos análisis automáticamente y entrega recomendaciones de optimización impulsadas por IA — todo con sus datos completamente anonimizados.
Guías relacionadas
Uso de slots de BigQuery por hora
Monitoree el consumo horario de slots de BigQuery para identificar ventanas de uso pico y optimizar la programación de sus reservaciones.
Leer guíaUso de slots de BigQuery por día
Rastree el consumo diario de slots de BigQuery a lo largo del tiempo. Identifique patrones de uso diario y tendencias para dimensionar correctamente sus reservaciones.
Leer guíaUso de slots de BigQuery por segundo
Consumo de slots de BigQuery a nivel de segundo para análisis detallado de ráfagas. La granularidad más fina disponible para depuración de rendimiento.
Leer guíaConsultas concurrentes de BigQuery por minuto
Cuente cuántas consultas de BigQuery se ejecutan simultáneamente cada minuto. Detecte cuellos de botella de concurrencia que causan encolamiento y rendimiento lento.
Leer guía