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

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

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

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

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

استخدام أداة ملفّ الأداء Realtime Database

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

لمزيد من المعلومات عن استخدام أداة تحليل الأداء، اطّلِع على مقالة تحليل أداء قاعدة بياناتك.

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

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

استخدام 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 لمعرفة ما إذا كان تطبيقك قد شهد أي وقت توقف نتيجة تجاوز حدود مساحة التخزين.
  • التكلفة الإضافية لاستخدام طبقة المقابس الآمنة: استخدِم network/https_requests_count لتتبُّع عدد requests طلبات الاتصال بطبقة المقابس الآمنة التي تلقّتها قاعدة بياناتك، وقسم الطلبات التي مجددًا استخدَمت تذكرة جلسة طبقة المقابس الآمنة الحالية باستخدام الفلتر reused_ssl_session. يمكنك قياس ذلك مقارنةً بـ network/sent_bytes_count و network/sent_payload_and_protocol_bytes_count لرصد ما إذا كان تطبيقك يستخدم تذاكر جلسات بروتوكول طبقة المقابس الآمنة بكفاءة أم لا.

يمكنك أيضًا إعداد التنبيهات من خلال 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 من العملاء أو عمليات PUT في REST
  • transaction: تنفيذ المعاملات من طلبات REST مشروطة أو عملية transaction من عميل
  • update: معالجة عمليات update أو طلبات REST PATCH

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

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

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

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

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