Uso de slots de BigQuery por segundo
Los datos de slots a nivel de segundo son la granularidad más fina disponible en BigQuery. Úselos para depurar en detalle ventanas de tiempo específicas cuando las consultas estaban encoladas o lentas.
Por qué importa
Cuando sabe aproximadamente cuándo ocurrió un problema de rendimiento, los datos a nivel de segundo le permiten reconstruir exactamente qué pasó — cuántos slots estaban en uso, con qué rapidez aumentó la demanda y cuánto duró la contención. Esta es la consulta que ejecuta después de identificar una ventana problemática a granularidad más gruesa.
Cómo funciona
Agrega period_slot_ms desde JOBS_TIMELINE a granularidad SEGUNDO (dividiendo por 1,000 ms). Debido al volumen de datos, mantenga lookback_days pequeño (se recomienda 1 día).
Consulta SQL
Fill in your details to get a ready-to-run query:
-- Per-second slot consumption for detailed burst analysis
DECLARE lookback_days INT64 DEFAULT 1; -- keep small for second-level data
WITH second_slots AS (
SELECT
period_start AS second,
ROUND(SUM(period_slot_ms) / 1000, 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 second
),
calendar AS (
SELECT ts AS second FROM UNNEST(GENERATE_TIMESTAMP_ARRAY(
TIMESTAMP_TRUNC(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY), SECOND),
TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), SECOND),
INTERVAL 1 SECOND)) AS ts
)
SELECT
c.second,
IFNULL(s.avg_slots, 0) AS avg_slots
FROM calendar c
LEFT JOIN second_slots s ON c.second = s.second
ORDER BY c.secondExplicación de la consulta
A nivel de segundo, la consulta divide period_slot_ms por 1,000 para obtener slots por segundo. La serie temporal generada rellena cada segundo. Advertencia: 1 día = 86,400 filas, 7 días = 604,800 filas — mantenga la ventana de retención pequeña.
Puntos clave
Los datos a nivel de segundo revelan si la demanda de slots aumenta gradualmente o se dispara instantáneamente.
Si el uso de slots oscila rápidamente (alto un segundo, cero al siguiente), tiene muchas consultas de corta duración.
El uso sostenido alto de slots durante >60 segundos indica una sola consulta pesada o un lote concurrente.
Use estos datos junto con la consulta de consultas concurrentes para correlacionar la demanda de slots con el número de consultas.
Mejores prácticas
- 1
Use la granularidad a nivel de segundo solo para depurar incidentes específicos — no para monitoreo continuo.
- 2
Combine con datos de consultas concurrentes para entender si el alto uso de slots proviene de pocas consultas pesadas o muchas ligeras.
- 3
Exporte a una herramienta de visualización para crear mapas de calor de uso de slots.
- 4
Establezca lookback_days en 1 para evitar procesar datos excesivos.
¿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 minuto
Obtenga datos de consumo de slots de BigQuery a nivel de minuto. Esencial para depurar problemas de rendimiento y entender la demanda de slots en ráfagas.
Leer guíaUso 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í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