قياس أداء Firebase Realtime Database باستخدام محلّل قاعدة البيانات أداة مضمّنة في Firebase CLI. تسجِّل أداة المحلل جميع النشاط في قاعدة البيانات الخاصة بك خلال فترة زمنية معينة، ثم تنشئ تقرير مفصل. استخدم التقرير المفصل لتحديد المشاكل المتعلقة بـ أداء قاعدة البيانات وتحديد مناطق المشكلات وتقليل طلبات البحث غير المفهرسة.
إنشاء ملف شخصي
قبل البدء في إنشاء ملفات تعريفية لـ Firebase Realtime Database، يُرجى التأكد من استخدام إلى أحدث إصدار من Firebase CLI وقمت بتهيئته لقاعدة البيانات والمشروع الذي تريد تعريفه. ملاحظة أنه يجب أن تكون محررًا أو مالكًا لهذا المشروع في الملف التعريفي.
ابدأ في تحليل قاعدة البيانات باستخدام الأمر التالي:
يعرض المحلل رسالة حالة أثناء تسجيله للعمليات من قاعدة البيانات وإنشاء الملف الشخصي.firebase database:profile
اضغط على Enter لإكمال الملف الشخصي وعرض النتائج.
تفسير النتائج
تقوم أداة المحلل بتجميع البيانات التي تم جمعها حول قاعدة البيانات العمليات ويعرض النتائج ضمن ثلاث فئات أساسية: السرعة ومعدل نقل البيانات وطلبات البحث غير المفهرسة.
السرعة
يقيس تقرير السرعة وقت استجابة الخادم (بالمللي ثانية) لكل ونوع العملية. ومع ذلك، قد لا يتم قياس السرعة في "تقرير السرعة" تعكس في الواقع سرعة تجربة المستخدمين النهائيين. العوامل المختلفة، بما في ذلك حالات الشبكة، إلى إضافة وقت استجابة من جانب العميل.
يتضمن "تقرير السرعة" السمات التالية:
- المسار: المسار في قاعدة بياناتك حيث حدثت العمليات. في حال حذف
هناك أكثر من 25 عُقدة فرعية، فأداة الملف الشخصي تصغّرها إلى
مسار العنصر الرئيسي وإضافة علامة
$wildcard
. قد يظهر لك رمز قاعدة البيانات الدليل الجذري في التقرير، ويتم تمثيله بشرطة مائلة للأمام/
. - العدد: عدد العمليات التي حدثت في المسار المحدّد.
- متوسط سرعة التنفيذ: متوسط الوقت الذي يستغرقه الخادم للتنفيذ منطق الأعمال اللازمة للتعامل مع نوع العملية المعين في هذا المسار. يبدأ الفاصل الزمني الذي يتم قياسه هنا بعد ذلك الذي تم قياسه من خلال "متوسط في انتظار المراجعة" الموضحة أدناه.
- متوسط وقت الانتظار: متوسط الوقت الذي تستغرقه الطلبات في قائمة الانتظار قبل إعدامه. وهذا التأخير شائع في جميع الطلبات التي يجريها العميل. تشير رسالة الأشكال البيانية إجمالي وقت استجابة الطلب من جهة الخادم هو تقريبًا مجموع وقت استجابة هذا الطلب وقت الانتظار وسرعة التنفيذ.
- تم رفض الإذن: عدد العمليات في النطاق المحدد مسار تم حظره من خلال قواعد قاعدة بيانات Firebase على قاعدة البيانات لديك.
تقرير السرعة حسب نوع العملية | |
---|---|
سرعة تنفيذ القراءة | وقت استجابة الخادم لطلبات العميل لقراءة البيانات من قاعدة البيانات. يتم تغيير وقت التنفيذ بشكل عام استنادًا إلى كمية البيانات. وقد يتأخر أيضًا بعض القراءات الصغيرة باستخدام ذاكرة التخزين المؤقت للجلب المسبق. |
سرعة تنفيذ الكتابة | وقت استجابة الخادم لطلبات العميل لكتابة البيانات إلى قاعدة البيانات. كتابة مقاييس وقت التنفيذ مع مقدار البيانات الموجودة مكتوبة. |
سرعة تنفيذ الاتصال | وقت استجابة الخادم لطلبات إنشاء عملاء قاعدة البيانات. يتم التحكم في وقت استجابة طلبات الاتصال من جهة الخادم المتوفرة في الذاكرة المحاسبة المتعلقة بإدارة الاتصال. |
سرعة تنفيذ البث | مقدار الوقت الذي يستغرقه الخادم لتوزيع البيانات على العملاء والاستماع إلى المسار المحدد للحصول على تحديثات في الوقت الفعلي. تشير السمة Count (العدد) في يجمّع تقرير "سرعة البث" عدد عمليات البث التي حدثت، وليس عدد العملاء الذين تلقوا المعلومات. على سبيل المثال، إذا كان هناك 10 عملاء كانوا يستمعون إلى مسار معين، وبث الخادم تحديثًا لجميع يعرض عدد عمليات البث عملية بث واحدة فقط، حتى إذا كان عدد 10 عملاء واستلم البيانات. الخاصية تم رفض الإذن غير متضمنة في تقرير سرعة البث |
سعة النطاق
يقدم تقرير معدل نقل البيانات إحصاءات حول مقدار البيانات التي تستهلكها قاعدة البيانات عبر العمليات الواردة والصادرة. يجب عدم استخدام معدل نقل البيانات ومع ذلك، يمكنك إعداد التقارير لتقدير الفوترة، لأنها لا تتضمن معدل نقل البيانات المستخدم لعمليات أخرى، مثل تحليل قاعدة البيانات لديك. يقدّر تقرير معدل نقل البيانات حجم حمولة البيانات البيانات التي تستهلكها عمليات القراءة والكتابة والبث من وإلى قاعدة البيانات الخاصة بك. هي أداة تقيس الأداء، وليست أداة لتوقّع الفوترة.
يتضمن تقرير معدل نقل البيانات السمات التالية:
المسار: المسار في قاعدة بياناتك حيث حدثت العمليات. في حال حذف هناك أكثر من 25 عُقدة فرعية، فأداة الملف الشخصي تصغيرها إلى مسار رئيسي.
الإجمالي: إجمالي وحدات البايت الصادرة أو الواردة المستخدَمة في جميع العمليات في المسار المحدد.
العدد: عدد العمليات التي حدثت في المسار المحدّد.
متوسط: متوسط عدد وحدات البايت التي تم تنزيلها أو تحميلها على مستوى العمليات في المسار المحدد (بايت/كتابة أو بايت/قراءة).
تقرير معدل نقل البيانات | |
---|---|
وحدات البايت التي تم تنزيلها | البيانات المستهلكة من خلال عمليات القراءة والبث المُرسَلة من خلال العميل حِزم تطوير البرامج (SDK) وواجهة برمجة تطبيقات REST. |
وحدات البايت التي تم تحميلها | يشير ذلك المصطلح إلى البيانات المستهلكة من خلال طلبات الكتابة الواردة إلى خادم قاعدة البيانات. تظهر عمليات الحذف على هيئة كتابة بحجم 0 بايت ضمن واردة. |
طلبات البحث غير المفهرسة
قد تكون طلبات البحث غير المفهرسة مكلفة، لأن العملاء يقومون بتنزيل جميع البيانات الموجودة في لموقع ثم إجراء استعلامات عليه. يستهلك هذا معدل نقل بيانات أكبر من اللازمة. حلّ أكبر عدد ممكن من طلبات البحث غير المفهرَسة لتحسين لأداء قاعدة البيانات.
يعرض تقرير طلبات البحث غير المفهرسة السمات التالية:
- المسار: المسار في قاعدة البيانات الذي حدثت فيه طلبات البحث غير المفهرَسة.
- الفهرس: القاعدة التي يجب إضافتها لحلّ طلبات البحث غير المفهرَسة. التعلّم المزيد حول الفهرسة في فهرسة بياناتك.
- العدد: عدد طلبات البحث غير المفهرَسة التي حدثت في المسار المحدّد.
إنشاء ملفات شخصية متقدمة
للاطّلاع على جميع العمليات التي تعالجها قاعدة البيانات، استخدِم --raw
عند تحليل قاعدة البيانات، على النحو التالي:
firebase database:profile --raw
يتضمن الناتج الأولي أيضًا معلومات العميل لكل عملية، مثل
userAgent
سلسلة وعناوين IP مزيد من المعلومات حول العمليات المختلفة
في Firebase Realtime Database ضمن أنواع عمليات Firebase Realtime Database.
أداة المحلّل: ليست أداة للفوترة
لا تستخدم أداة المحلّل لتقدير تكلفة معدل نقل البيانات. تُعد أداة المحلل لإعطائك صورة عامة عن أداء قاعدة البيانات لديك، وذلك لمساعدتك مراقبة العمليات واستكشاف الأخطاء وإصلاحها، وليس تقدير الفوترة. أُنشأها جون هنتر، الذي كان متخصصًا فهو لا يأخذ في الاعتبار حركة بيانات الشبكة، بل يسجل فقط تقديرًا بيانات التطبيق المرسلة في الردود.
في ما يلي بعض الأمثلة الشائعة على زيارات الشبكة التي تتم فوترتها من خلال Firebase. التي لم يتم تناولها في الملف الشخصي لقاعدة البيانات لديك:
- نفقات البروتوكول: بعض الزيارات الإضافية بين الخادم والعملاء أمرًا ضروريًا لإنشاء جلسة والحفاظ عليها. اعتمادًا على العوامل الأساسية فقد تتضمن هذه الزيارات: قاعدة بيانات Firebase في الوقت الفعلي النفقات العامة للبروتوكول، ونفقات WebSocket، ونفقات عنوان HTTP. في كل مرة وإنشاء اتصال، وتكون هذه النفقات، بالإضافة إلى أي تشفير عبر طبقة المقابس الآمنة إلى التكاليف، يساهم في تكاليف الاتصال. رغم أن هذا ليس عادةً قدر كبير من النطاق الترددي، يمكن أن يكون كبيرًا إذا كانت حمولاتك صغيرة أو إجراء اتصالات متكررة وقصيرة.
- نفقات تشفير طبقة المقابس الآمنة: هناك تكلفة مرتبطة بطبقة المقابس الآمنة. النفقات العامة لتشفير البيانات اللازمة لإجراء اتصالات آمنة. وفي المتوسط، حوالي 3.5 كيلوبايت لعملية تأكيد الاتصال الأولية وحوالي 40 مليار يسجّل بروتوكول أمان طبقة النقل الرؤوس في كل رسالة صادرة. بالنسبة إلى معظم التطبيقات، يكون حجم الملف النسبة المئوية من فاتورتك ومع ذلك، قد يصبح هذا نسبة كبيرة إذا حالتك الخاصة تتطلب الكثير من عمليات تأكيد الاتصال بطبقة المقابس الآمنة. على سبيل المثال، الأجهزة التي لا تدعم تذاكر جلسة بروتوكول أمان طبقة النقل (TLS)، قد تتطلب أعدادًا كبيرة من طبقة المقابس الآمنة الاتصال.
يمكنك قراءة المزيد عن فهم فاتورتك وتقديرها.