Utilisation des slots BigQuery par minute
L'utilisation des slots à la minute est la bonne granularité pour déboguer les problèmes de performance et comprendre les modèles de pics. Cette requête montre exactement quand la demande de slots explose et combien de temps les pics durent.
Pourquoi c'est important
Les moyennes horaires peuvent masquer des pics de slots courts mais intenses qui provoquent la mise en file d'attente des requêtes et la dégradation des performances. Les données à la minute révèlent ces pics, vous aidant à déterminer si vos slots max de l'autoscaler Editions sont suffisamment élevés et si la planification des requêtes doit être ajustée.
Comment ça fonctionne
Agrège period_slot_ms depuis JOBS_TIMELINE à la granularité MINUTE, en divisant par 60 000 (millisecondes par minute). Le remplissage du calendrier crée un ensemble de données minute par minute continu.
Requête 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.minuteExplication de la requête
Même modèle que horaire/quotidien mais à la granularité minute. Le diviseur ms_per_min est 60 000 ms. Notez que pour des fenêtres de rétention plus longues (>7 jours), cette requête peut retourner un grand ensemble de résultats — réduisez lookback_days pour l'analyse à la minute.
Points clés
Les pics de slots durant seulement 1-2 minutes sont typiquement des requêtes ad hoc d'utilisateurs — envisagez de définir des limites de slots par utilisateur.
Les plateaux soutenus de 10-15 minutes indiquent des exécutions de pipelines par lots — optimisez les requêtes les plus lourdes dans cette fenêtre.
Si les pics dépassent vos slots max Editions, les requêtes sont mises en file d'attente — augmentez max_slots ou décalez les charges.
Comparez le timing des pics à vos planifications cron/Airflow pour identifier quel pipeline cause chaque pic.
Meilleures pratiques
- 1
Utilisez ces données pour définir vos slots max de l'autoscaler Editions pour couvrir la demande P99 à la minute.
- 2
Gardez lookback_days petit (1-3 jours) lors de l'analyse à la granularité minute pour éviter les grands ensembles de résultats.
- 3
Croisez les pics avec la requête de requêtes concurrentes pour voir combien de requêtes s'exécutent simultanément.
- 4
Configurez une alerte CloudClerk pour une utilisation soutenue de slots au-dessus d'un seuil.
Voulez-vous que CloudClerk trouve ces économies automatiquement ?
Notre plateforme se connecte à votre projet BigQuery, exécute ces analyses automatiquement et fournit des recommandations d'optimisation basées sur l'IA — tout avec vos données entièrement anonymisées.
Guides associés
Utilisation des slots BigQuery par heure
Surveillez la consommation horaire de slots BigQuery pour identifier les fenêtres d'utilisation de pointe et optimiser votre planification de réservations.
Lire le guideUtilisation des slots BigQuery par jour
Suivez la consommation quotidienne de slots BigQuery dans le temps. Identifiez les tendances d'utilisation quotidienne pour dimensionner correctement vos réservations.
Lire le guideUtilisation des slots BigQuery par seconde
Consommation de slots BigQuery au niveau de la seconde pour une analyse détaillée des pics. La granularité la plus fine disponible pour le débogage des performances.
Lire le guideRequêtes BigQuery concurrentes par minute
Comptez le nombre de requêtes BigQuery s'exécutant simultanément chaque minute. Détectez les goulots d'étranglement de concurrence qui causent la mise en file d'attente.
Lire le guide