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

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

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

استخدم أدوات مراقبة قاعدة البيانات في الوقت الفعلي

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

استخدم أداة التعريف لقاعدة بيانات Realtime

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

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

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

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

استخدم المراقبة السحابية

باستخدام المراقبة السحابية من Google Cloud، يمكنك استخدام Metrics Explorer لرؤية مقاييس الأداء الفردية، أو إنشاء لوحات معلومات مختلفة باستخدام مخططات تعرض مجموعات متنوعة من مقاييس الأداء بمرور الوقت. يوفر تكامل قاعدة البيانات في الوقت الفعلي مع المراقبة السحابية أعمق مستوى من التفاصيل.

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

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

مراقبة الأداء في المراقبة السحابية

إذا كنت تواجه مشكلات تتعلق بالأداء، بما في ذلك وقت التشغيل أو زمن الوصول، فقد ترغب في استخدام المراقبة السحابية لمراقبة المقاييس التالية. لاحظ أن جميع أسماء أنواع المقاييس مسبوقة بـ firebasedatabase.googleapis.com/ .

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

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

تم تعطيل الشبكة بسبب التجاوزات

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

تم تعطيل التخزين بسبب التجاوزات

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

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

  • العمليات: استخدم مقياس io/database_load لمعرفة مقدار تحميل قاعدة البيانات الإجمالي المستخدم بواسطة كل نوع عملية. تأكد من تجميع io/database_load حسب النوع لاستكشاف أخطاء أنواع العمليات المختلفة وإصلاحها.
  • التخزين: استخدم storage/limit storage/total_bytes لمراقبة استخدام التخزين الخاص بك فيما يتعلق بحدود تخزين قاعدة بيانات Realtime. يمكنك أيضًا إضافة 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 بكفاءة أم لا.

يمكنك أيضًا إعداد التنبيهات من خلال المراقبة السحابية وتلقي الإشعارات بناءً على مقاييس قاعدة بيانات الوقت الفعلي. على سبيل المثال، يمكنك اختيار تلقي إشعار إذا كان io/database_load الخاص بك يقترب من حد معين.

اطلع على القائمة الكاملة لمقاييس قاعدة البيانات في الوقت الفعلي المتاحة من خلال المراقبة السحابية .

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

يوفر مقياس 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.

مراقبة قواعد الأمان في المراقبة السحابية

يمكنك أيضًا تحليل تقييم قواعد الأمان. لاحظ أن جميع أسماء أنواع المقاييس مسبوقة بـ firebasedatabase.googleapis.com/ .

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

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

اطلع على القائمة الكاملة لمقاييس قاعدة البيانات في الوقت الفعلي المتاحة من خلال المراقبة السحابية .