مراقبة أداء قاعدة البيانات

هناك عدة طرق مختلفة لتتبُّع أداء Firebase Realtime Database ورصد المشاكل المحتملة في تطبيقك. ويمكن أن يمنحك الاطّلاع على معدل نقل البيانات الواردة والصادرة والتحميل في تطبيقك فكرة عمّا يمكن توقّعه في فاتورتك. بالإضافة إلى ذلك، إذا بدا لك أنّ هناك مشكلة، يمكن أن يكون الحصول على صورة واضحة لعمليات قاعدة البيانات أداة مفيدة لتحديد المشاكل وحلّها.

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

استخدام أدوات المراقبة Realtime Database

يمكنك جمع بيانات حول أداء Realtime Database باستخدام بعض الأدوات المختلفة، وذلك حسب مستوى التفصيل الذي تحتاجه.

استخدام أداة Realtime Database

توفّر أداة تحليل الأداء Realtime Database نظرة عامة في الوقت الفعلي على عمليات القراءة والكتابة في قاعدة البيانات. يتضمّن التقرير معلومات حول سرعة كل عملية وحجم الحمولة، بالإضافة إلى طلبات البحث غير المفهرسة. ولا يتضمّن معلومات سابقة أو أي إحصاءات حول الحمل الزائد للاتصال، وبالتالي يجب عدم استخدامه لتقدير تكاليف الفوترة.

لمزيد من المعلومات حول استخدام أداة إنشاء الملفات الشخصية، راجِع إنشاء ملف قاعدة البيانات.

استخدام وحدة تحكّم Firebase

تقدّم علامة التبويب الاستخدام في وحدة تحكّم Firebase معلومات حول الاتصالات المتزامنة بقاعدة البيانات، ومقدار البيانات التي تخزّنها، وعرض النطاق الترددي الصادر (بما في ذلك بروتوكول التشفير)، وحِمل قاعدة البيانات على فترات زمنية مدتها دقيقة واحدة. في حين أنّ علامة التبويب الاستخدام تمنحك نظرة عامة أكثر دقة على الأداء العام لقاعدة البيانات، قد لا تتمكّن من التوغّل في التفاصيل بشكل كافٍ لتحديد المشاكل المحتملة في الأداء وحلّها.

استخدام Cloud Monitoring

باستخدام Cloud Monitoring من Google Cloud، يمكنك استخدام "مستكشف المقاييس" للاطّلاع على مقاييس الأداء الفردية، أو إنشاء لوحات بيانات مختلفة تتضمّن رسومات بيانية تعرض مجموعات مختلفة من مقاييس الأداء بمرور الوقت. يتيح دمج Realtime Database مع Cloud Monitoring مستوى تفصيلاً أكبر.

يتم توضيح خطوات إعداد Cloud Monitoring في مراقبة استخدام قاعدة البيانات.

راجِع الأقسام التالية للحصول على نصائح حول استخدام مقاييس Cloud Monitoring محدّدة لرصد مشاكل الأداء.

مراقبة الأداء في Cloud Monitoring

إذا كنت تواجه مشاكل في الأداء، بما في ذلك وقت التشغيل أو وقت الاستجابة، يمكنك استخدام Cloud Monitoring لمراقبة المقاييس التالية. يُرجى العِلم أنّ جميع أسماء أنواع المقاييس تبدأ بالرمز firebasedatabase.googleapis.com/.

اسم المقياس الوصف
تحميل قاعدة البيانات

io/database_load. استخدِم هذا المقياس لمراقبة مقدار معدل نقل البيانات المتاح لقاعدة البيانات الذي يتم استخدامه لمعالجة الطلبات بمرور الوقت. قد تواجه مشاكل في الأداء عندما يقترب معدّل نقل البيانات في قاعدة البيانات من إجمالي معدّل نقل البيانات المتاح. يمكنك أيضًا معرفة أنواع العمليات التي تستخدم أكبر قدر من التحميل، وتحديد المشاكل وحلّها وفقًا لذلك. قد يتجاوز الحمل المُبلغ عنه% 100 في العمليات التي تستغرق أكثر من دقيقة. يحدث ذلك عندما يتم تكثيف إجمالي معدل نقل البيانات المستخدَم على مدار عدة دقائق في فترة إعداد التقارير التي تبلغ دقيقة واحدة بعد اكتمال العملية.

تم إيقاف الشبكة بسبب تجاوز الحد الأقصى

network/disabled_for_overages: يشير هذا المقياس إلى أي انقطاعات قد تحدث إذا تجاوزت قيمة Realtime Database أي حدود لمعدل نقل البيانات أو الشبكة.

إيقاف مساحة التخزين بسبب تجاوز الحد الأقصى

storage/disabled_for_overages. يعكس هذا المقياس أي انقطاعات قد حدثت إذا تجاوزت Realtime Database أي حدود تخزين.

يمكنك الجمع بين المقاييس في الرسوم البيانية على لوحة البيانات للحصول على إحصاءات ونظرات عامة مفيدة. على سبيل المثال، جرِّب التركيبات التالية:

  • العمليات: استخدِم مقياس io/database_load لمعرفة مقدار إجمالي حمل قاعدة البيانات الذي يستخدمه كل نوع من أنواع العمليات. احرص على تجميع io/database_load حسب النوع لتحديد المشاكل في أنواع العمليات المختلفة وحلّها.
  • مساحة التخزين: استخدِم storage/limit وstorage/total_bytes لمراقبة استخدامك لمساحة التخزين مقارنةً بحدود مساحة التخزين Realtime Database. يمكنك أيضًا إضافة storage/disabled_for_overages لمعرفة ما إذا كان تطبيقك قد توقّف عن العمل نتيجة تجاوز حدود مساحة التخزين.
  • وقت استجابة بروتوكول SSL: استخدِم network/https_requests_count لتتبُّع عدد طلبات اتصال بروتوكول SSL التي تلقّتها قاعدة البيانات، وقسِّم الطلبات التي أعادت استخدام تذكرة جلسة بروتوكول SSL الحالية باستخدام الفلتر reused_ssl_session. يمكنك قياس ذلك مقابل network/sent_bytes_count وnetwork/sent_payload_and_protocol_bytes_count لتتبُّع ما إذا كان تطبيقك يستخدم تذاكر جلسات SSL بكفاءة أم لا.

يمكنك أيضًا إعداد تنبيهات من خلال Cloud Monitoring وتلقّي إشعارات استنادًا إلى مقاييس Realtime Database. على سبيل المثال، يمكنك اختيار تلقّي إشعار إذا كان io/database_load يقترب من حدّ معيّن.

اطّلِع على القائمة الكاملة لمقاييس Realtime Database المتاحة من خلال Cloud Monitoring.

أنواع تحميل قواعد البيانات

يوفّر المقياس io/database_load أيضًا تصنيفًا لنوع العملية التي تسبّبت في التحميل. في ما يلي الأنواع المحتملة للعمليات التي يتم قياسها:

  • admin: عمليات المشرف، مثل ضبط القواعد وقراءة البيانات الوصفية للمشروع
  • auth: التحقّق من المصادقة من حسابات الخدمة أو "مصادقة Firebase" لعميل واحد
  • client_management: التعامل مع إضافة وإزالة الاتصالات المتزامنة، ويشمل ذلك تنفيذ عمليات قطع الاتصال عند الإزالة
  • get_shallow: استرداد البيانات من طلب REST GET باستخدام shallow=true
  • get: للتعامل مع عمليات REST GET.
  • listen: استرداد البيانات الأولية لعمليتَي on وonce من العملاء المرتبطين
  • on_disconnect: تسجيل عمليات قطع الاتصال من العملاء
  • put: معالجة عمليات set من العملاء أو عمليات REST PUT.
  • transaction: تنفيذ معاملات من طلبات REST مشروطة أو عملية transaction من عميل
  • update: للتعامل مع عمليات update أو طلبات REST PATCH.

مراقبة قواعد الأمان في Cloud Monitoring

يمكنك أيضًا تحليل تقييم "قواعد الأمان". يُرجى العِلم أنّ جميع أسماء أنواع المقاييس تبدأ بالبادئة firebasedatabase.googleapis.com/.

اسم المقياس الوصف
تقييمات القواعد rules/evaluation_count: عدد عمليات تقييم "قواعد Realtime Database" التي تم إجراؤها استجابةً لطلبات الكتابة أو القراءة. يمكنك تقسيم هذا المقياس حسب نتيجة الطلب (ALLOW أو DENY أو ERROR).

خصِّص الرسم البياني Cloud Monitoring لتقييمات القواعد حسب الحاجة، مثلاً من خلال الفلترة حسب نتائج تقييم معيّنة أو ALLOW أو DENY أو ERROR. يتم تناول عملية إعداد المخططات وتخصيصها في مقالة مراقبة استخدام قاعدة البيانات.

اطّلِع على القائمة الكاملة لمقاييس Realtime Database المتاحة من خلال Cloud Monitoring.