هناك عدة طرق مختلفة لمراقبة أداء 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لمعرفة مقدار إجمالي حِمل قاعدة البيانات الذي يستخدمه كل نوع من أنواع العمليات. احرص على تجميعio/database_loadحسب النوع لتحديد المشاكل وحلّها في أنواع العمليات المختلفة. - مساحة التخزين: يمكنك استخدام
storage/limitوstorage/total_bytesلمراقبة استخدام مساحة التخزين في ما يتعلق بحدود مساحة التخزين في Realtime Database. يمكنك أيضًا إضافةstorage/disabled_for_overagesلمعرفة ما إذا كان تطبيقك قد توقّف عن العمل بسبب تجاوز حدود مساحة التخزين. - SSL overhead: يمكنك استخدام
network/https_requests_countلمراقبة عدد طلبات الاتصال عبر طبقة المقابس الآمنة التي تلقّتها قاعدة بياناتك، وفصل الطلبات التي أعادت استخدام تذكرة جلسة طبقة المقابس الآمنة الحالية باستخدام الفلتر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: عدد عمليات تقييم قواعد قاعدة بيانات الوقت الفعلي التي تم إجراؤها استجابةً لطلبات الكتابة أو القراءة يمكنك تقسيم هذا المقياس حسب نتيجة الطلب (ALLOW أو DENY أو ERROR). |
يمكنك تخصيص الرسم البياني Cloud Monitoring لتقييمات القواعد حسب الحاجة، على سبيل المثال، من خلال الفلترة حسب نتائج تقييم معيّنة، مثل "السماح" أو "الرفض" أو "الخطأ". يتم تناول إعداد الرسوم البيانية وتخصيصها في مراقبة استخدام قاعدة البيانات.
يمكنك الاطّلاع على القائمة الكاملة لمقاييس "Realtime Database" المتاحة من خلال "Cloud Monitoring".