Get a free observability report to evaluate the potential savingsContact us →
استخدام الفتحات3 دقيقة قراءة

استخدام فتحات BigQuery بالدقيقة

استخدام الفتحات بالدقيقة هو الدقة المناسبة لتشخيص مشكلات الأداء وفهم أنماط الانفجار. يُظهر هذا الاستعلام بالضبط متى ترتفع أسرار الطلب على الفتحات وكم تدوم الارتفاعات.

لماذا يهم هذا

قد تخفي المتوسطات الساعية انفجارات فتحات قصيرة لكن مكثّفة تُسبّب طوابير انتظار الاستعلامات وتراجع الأداء. تكشف بيانات الدقيقة هذه الانفجارات، مما يساعدك في تحديد ما إذا كان الحدّ الأقصى للفتحات في المقياس التلقائي لـ Editions مرتفعاً بما يكفي وما إذا كان جدول الاستعلامات يحتاج إلى تعديل.

كيف يعمل

يجمّع period_slot_ms من JOBS_TIMELINE بدقة MINUTE ويقسم على 60,000 (المللي ثانية في الدقيقة). يُنشئ ملء التقويم مجموعة بيانات دقيقة بدقيقة متواصلة.

استعلام SQL

Fill in your details to get a ready-to-run query:

SQL
-- 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.minute
استبدل your-project وregion-us بمشروع GCP الخاص بك ومنطقة مجموعة البيانات.

شرح الاستعلام

نفس نمط الساعية/اليومية لكن بدقة الدقيقة. مقسم ms_per_min هو 60,000 مللي ثانية. ملاحظة: لنوافذ الاسترجاع الأطول (>7 أيام)، قد يعيد هذا الاستعلام مجموعة نتائج كبيرة — قلّل lookback_days للتحليل بدقة الدقيقة.

رؤى أساسية

  • lightbulb

    انفجارات الفتحات التي تدوم دقيقة أو دقيقتين فقط هي عادةً استعلامات خاصة من المستخدمين — فكّر في ضبط حدود فتحات لكل مستخدم.

  • lightbulb

    الأعطاب الممتدة من 10-15 دقيقة تشير إلى تشغيلات خطوط أنابيب دُفعية — حسّن الاستعلامات الأثقل في تلك النافذة.

  • lightbulb

    إذا تجاوزت الانفجارات الحدّ الأقصى لفتحات Editions، فإن الاستعلامات تُوضع في قائمة انتظار — زد max_slots أو وزّع أحمال العمل.

  • lightbulb

    قارن توقيت الانفجارات مع جداول cron/Airflow لتحديد خط الأنابيب الذي يتسبّب في كل انفجار.

أفضل الممارسات

  1. 1

    استخدم هذه البيانات لضبط الحدّ الأقصى للفتحات في المقياس التلقائي لـ Editions لتغطية طلب الدقيقة P99.

  2. 2

    احتفظ بـ lookback_days صغيراً (1-3 أيام) عند التحليل بدقة الدقيقة لتجنّب مجموعات نتائج ضخمة.

  3. 3

    قاطع الانفجارات مع بيانات الاستعلامات المتزامنة لمعرفة عدد الاستعلامات التي تعمل في آنٍ واحد.

  4. 4

    اضبط تنبيه CloudClerk لاستخدام فتحات متواصل يتجاوز عتبةً معينة.

هل تريد من CloudClerk إيجاد هذه الوفورات تلقائياً؟

تتصل منصتنا بمشروع BigQuery الخاص بك وتُشغّل هذه التحليلات تلقائياً وتقدّم توصيات التحسين المدعومة بالذكاء الاصطناعي — مع إخفاء هوية بياناتك بالكامل.

أدلة ذات صلة