Get a free observability report to evaluate the potential savingsContact us →
Uso de slots3 min de lectura

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:

SQL
-- 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.second
Reemplace your-project y region-us con su proyecto GCP y la región de su dataset.

Explicació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

  • lightbulb

    Los datos a nivel de segundo revelan si la demanda de slots aumenta gradualmente o se dispara instantáneamente.

  • lightbulb

    Si el uso de slots oscila rápidamente (alto un segundo, cero al siguiente), tiene muchas consultas de corta duración.

  • lightbulb

    El uso sostenido alto de slots durante >60 segundos indica una sola consulta pesada o un lote concurrente.

  • lightbulb

    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. 1

    Use la granularidad a nivel de segundo solo para depurar incidentes específicos — no para monitoreo continuo.

  2. 2

    Combine con datos de consultas concurrentes para entender si el alto uso de slots proviene de pocas consultas pesadas o muchas ligeras.

  3. 3

    Exporte a una herramienta de visualización para crear mapas de calor de uso de slots.

  4. 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