Get a free observability report to evaluate the potential savingsContact us →
التزامن3 دقيقة قراءة

الاستعلامات المتزامنة في BigQuery بالدقيقة

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

لماذا يهم هذا

لدى BigQuery حدود تزامن تختلف حسب نموذج الفوترة — 100 استعلام متزامن للتسعير عند الطلب، أو محدودة بسعة فتحات الحجز لـ Editions. عند تجاوز هذه الحدود، تُوضع الاستعلامات في قائمة انتظار. فهم أنماط التزامن لديك يساعدك في تجنّب هذه الاختناقات وجدولة أحمال العمل بكفاءة.

كيف يعمل

يقرأ الاستعلام من INFORMATION_SCHEMA.JOBS_TIMELINE_BY_PROJECT الذي يُسجّل نشاط المهام بالثانية. يزيل التكرار بـ job_id ويُقطّع الطوابع الزمنية إلى دقائق ويعدّ المهام المتميزة لكل دقيقة.

استعلام SQL

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

SQL
-- Count concurrent queries per minute to detect bottlenecks

DECLARE lookback_days INT64 DEFAULT 7;

WITH timeline AS (
  SELECT
    TIMESTAMP_TRUNC(period_start, MINUTE) AS minute,
    job_id,
    ROW_NUMBER() OVER (PARTITION BY job_id ORDER BY job_creation_time DESC) AS rn
  FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_PROJECT
  WHERE job_creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
    AND job_type = 'QUERY'
    AND parent_job_id IS NULL
)
SELECT
  minute,
  COUNT(job_id) AS concurrent_queries
FROM timeline
WHERE rn = 1
GROUP BY minute
ORDER BY minute
استبدل your-project وregion-us بمشروع GCP الخاص بك ومنطقة مجموعة البيانات.

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

يُسجّل JOBS_TIMELINE_BY_PROJECT صفاً واحداً لكل مهمة في كل ثانية تنفيذ. يضمن إزالة التكرار باستخدام ROW_NUMBER() عدّ كل مهمة مرة واحدة. يُصفّي parent_job_id IS NULL المهام الفرعية للبرامج النصية. يعطي COUNT لكل دقيقة مُقطّعة عدد المهام المتزامنة.

رؤى أساسية

  • lightbulb

    الدقائق ذات >50 استعلاماً متزامناً تخاطر بالوصول إلى حدود التزامن عند الطلب (100 لكل مشروع).

  • lightbulb

    التزامن العالي المستمر في أوقات محددة يشير إلى تداخل المهام المجدولة — وزّع أوقات البداية.

  • lightbulb

    قد تشير الارتفاعات في التزامن تلياً بانخفاضات إلى وضع بعض الاستعلامات في قائمة انتظار ثم تحريرها في انفجارات.

  • lightbulb

    التزامن المنخفض مع الاستخدام العالي للفتحات يعني استعلامات ثقيلة جداً قليلة — استراتيجية تحسين مختلفة عن الاستعلامات الخفيفة الكثيرة.

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

  1. 1

    وزّع أوقات بداية خطوط الأنابيب بمقدار 1-2 دقيقة لتقليل ذروة التزامن.

  2. 2

    استخدم إعدادات أولوية المهام في BigQuery (INTERACTIVE مقابل BATCH) لمنع وضع الاستعلامات الخاصة في قائمة انتظار خلف مهام الدُفعات.

  3. 3

    راقب الاستعلامات في حالة PENDING باستخدام عرض queued_queries.

  4. 4

    فكّر في حجوزات Editions مع max_slots كافٍ للتعامل مع ذروة تزامنك.

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

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

أدلة ذات صلة