هناك بضع طرق مختلفة لمراقبة أداء Firebase Realtime Database's ورصد المشاكل المحتملة في تطبيقك. ويمكن أن يمنحك الاطّلاع على معدّل نقل البيانات الواردة والصادرة والحِمل في تطبيقك فكرة عمّا يمكن توقّعه في فاتورتك. بالإضافة إلى ذلك، إذا بدا لك أنّ هناك مشكلة، يمكن أن يكون الحصول على صورة واضحة لعمليات قاعدة البيانات أداة مفيدة لتحديد المشاكل وحلّها.
تتناول هذه الصفحة مراقبة أداء Realtime Database. لمراقبة الاستخدام ، يُرجى الاطّلاع على مراقبة استخدام قاعدة البيانات.
استخدام أدوات المراقبة Realtime Database
يمكنك جمع بيانات عن أداء Realtime Database's من خلال بضع أدوات مختلفة، استنادًا إلى مستوى التفاصيل الذي تحتاجه.
استخدام أداة Realtime Database Profiler
توفر أداة Realtime Database profiler نظرة عامة في الوقت الفعلي على عمليات القراءة والكتابة في قاعدة البيانات. يتضمّن التقرير معلومات عن سرعة كل عملية وحجم حمولتها، بالإضافة إلى طلبات البحث غير المفهرسة. ومع ذلك، لا يتضمّن التقرير معلومات سابقة أو أي إحصاءات حول تكاليف الاتصال، ولا يجب استخدامه لتقدير تكاليف الفوترة.
لمزيد من المعلومات حول استخدام أداة Profiler، يُرجى الاطّلاع على تحديد ملف قاعدة البيانات.
استخدام Firebase Console
تقدّم علامة التبويب الاستخدام في Firebase Console معلومات عن الاتصالات المتزامنة بقاعدة البيانات، ومقدار البيانات التي تخزّنها، ومعدّل نقل البيانات الصادرة (بما في ذلك البروتوكول وتكاليف التشفير)، وحِمل قاعدة البيانات على فترات زمنية مدتها دقيقة واحدة. على الرغم من أنّ علامة التبويب الاستخدام تمنحك نظرة عامة أكثر دقة على الأداء العام لقاعدة البيانات، قد لا تتمكّن من الحصول على تفاصيل كافية لتحديد المشاكل المحتملة في الأداء وحلّها.
استخدام Cloud Monitoring
باستخدام Cloud Monitoring من Google Cloud، يمكنك استخدام مستكشف المقاييس للاطّلاع على مقاييس الأداء الفردية، أو إنشاء لوحات بيانات مختلفة تتضمّن رسومًا بيانية تعرض مجموعات مختلفة من مقاييس الأداء بمرور الوقت. يوفّر تكامل Realtime Database مع Cloud Monitoring أعلى مستوى من التفاصيل.
يتم وصف خطوات إعداد Cloud Monitoring في مراقبة استخدام قاعدة البيانات.
يُرجى الاطّلاع على الأقسام التالية للحصول على نصائح حول استخدام مقاييس معيّنة في Cloud Monitoring لرصد مشاكل الأداء.
مراقبة الأداء في Cloud Monitoring
إذا كنت تواجه مشاكل في الأداء، بما في ذلك وقت التشغيل أو وقت الاستجابة، قد يكون من المفيد استخدام Cloud Monitoring لمراقبة المقاييس التالية.
تجدر الإشارة إلى أنّ جميع أسماء أنواع المقاييس تبدأ بالبادئة firebasedatabase.googleapis.com/.
| اسم المقياس | الوصف |
|---|---|
| حِمل قاعدة البيانات |
|
| تم إيقاف الشبكة بسبب التجاوزات |
|
| تم إيقاف مساحة التخزين بسبب التجاوزات |
|
يمكنك دمج المقاييس في الرسوم البيانية على لوحة البيانات للحصول على إحصاءات ونظرات عامة مفيدة. على سبيل المثال، جرِّب المجموعات التالية:
- العمليات: استخدِم المقياس
io/database_loadللاطّلاع على مقدار إجمالي حِمل قاعدة البيانات الذي يستخدمه كل نوع من أنواع العمليات. احرص على تجميعio/database_loadحسب النوع لتحديد المشاكل في أنواع العمليات المختلفة وحلّها. - مساحة التخزين: استخدِم المقياسَين
storage/limitوstorage/total_bytesلمراقبة استخدام مساحة التخزين مقارنةً بحدود مساحة التخزين في Realtime Database. يمكنك أيضًا إضافةstorage/disabled_for_overagesلمعرفة ما إذا كان تطبيقك قد توقّف عن العمل نتيجةً لتجاوز حدود مساحة التخزين. - تكاليف طبقة المقابس الآمنة (SSL): استخدِم
network/https_requests_countلمراقبة عدد طلبات اتصال طبقة المقابس الآمنة التي تلقّتها قاعدة البيانات، وقسِّم الطلبات التي أعادت استخدام تذكرة جلسة حالية لطبقة المقابس الآمنة باستخدام الفلتر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 Authentication لعميل واحدclient_management: معالجة إضافة الاتصالات المتزامنة وإزالتها ويشمل ذلك تنفيذ عمليات قطع الاتصال عند الإزالةget_shallow: استرداد البيانات من طلب REST GET باستخدامshallow=trueget: معالجة عمليات REST GETlisten: استرداد البيانات الأولية لعملياتonوonceمن العملاء المتصلين.on_disconnect: تسجيل عمليات قطع الاتصال من العملاءput: معالجة عملياتsetمن العملاء أو عمليات REST PUTtransaction: إجراء المعاملات من طلبات 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.