هناك عدة طرق مختلفة لتتبُّع أداء 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: استخدِم
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.