نظارت بر عملکرد پایگاه داده

چندین روش مختلف برای نظارت بر عملکرد Firebase Realtime Database و شناسایی مشکلات احتمالی در برنامه شما وجود دارد. بررسی پهنای باند و بار ورودی و خروجی برنامه شما همچنین می‌تواند به شما ایده‌ای از آنچه در صورتحساب خود انتظار دارید، بدهد. علاوه بر این، اگر چیزی اشتباه به نظر برسد، گرفتن تصویر واضحی از عملیات پایگاه داده شما می‌تواند یک ابزار عیب‌یابی مفید باشد.

این صفحه به بررسی نظارت بر عملکرد Realtime Database می‌پردازد. برای نظارت بر میزان استفاده، به بخش «نظارت بر میزان استفاده از پایگاه داده» مراجعه کنید.

از ابزارهای نظارت Realtime Database استفاده کنید

شما می‌توانید بسته به سطح جزئیات مورد نیاز، از طریق چند ابزار مختلف، داده‌های مربوط به عملکرد Realtime Database خود را جمع‌آوری کنید.

از ابزار پروفایلر Realtime Database استفاده کنید

ابزار پروفایلر Realtime Database یک نمای کلی از عملیات خواندن/نوشتن در پایگاه داده شما را به صورت بلادرنگ ارائه می‌دهد. این گزارش علاوه بر کوئری‌های ایندکس نشده، شامل اطلاعاتی در مورد سرعت و حجم بار هر عملیات نیز می‌شود. با این حال، این گزارش شامل اطلاعات تاریخی یا هیچ آماری در مورد سربار اتصال نیست و نباید برای تخمین هزینه‌های صدور صورتحساب استفاده شود .

برای کسب اطلاعات بیشتر در مورد استفاده از ابزار پروفایلر، به بخش پروفایل پایگاه داده خود مراجعه کنید.

استفاده از کنسول Firebase

تب Usage در کنسول Firebase اطلاعاتی در مورد اتصالات همزمان به پایگاه داده شما، میزان داده ذخیره شده، پهنای باند خروجی (شامل سربار پروتکل و رمزگذاری) و بارگذاری پایگاه داده شما در فواصل ۱ دقیقه‌ای ارائه می‌دهد. در حالی که تب Usage نمای کلی دقیق‌تری از عملکرد کلی پایگاه داده شما ارائه می‌دهد، ممکن است نتوانید به اندازه کافی عمیق شوید تا مشکلات احتمالی عملکرد را عیب‌یابی کنید.

از Cloud Monitoring استفاده کنید

با Cloud Monitoring از Google Cloud ، می‌توانید از Metrics Explorer برای مشاهده معیارهای عملکرد فردی استفاده کنید یا داشبوردهای مختلفی با نمودارهایی ایجاد کنید که ترکیب‌های مختلفی از معیارهای عملکرد را در طول زمان نمایش می‌دهند. ادغام Realtime Database با Cloud Monitoring عمیق‌ترین سطح جزئیات را ارائه می‌دهد.

مراحل تنظیم Cloud Monitoring در بخش Monitor Database Usage شرح داده شده است.

برای نکاتی در مورد استفاده از معیارهای خاص Cloud Monitoring برای تشخیص مشکلات عملکرد، به بخش‌های زیر مراجعه کنید.

نظارت بر عملکرد در Cloud Monitoring

اگر با مشکلاتی در عملکرد، از جمله زمان روشن بودن یا تأخیر مواجه هستید، می‌توانید از Cloud Monitoring برای نظارت بر معیارهای زیر استفاده کنید. توجه داشته باشید که نام همه نوع معیارها با پیشوند firebasedatabase.googleapis.com/ شروع می‌شود.

نام متریک توضیحات
بارگذاری پایگاه داده

io/database_load . از این معیار برای نظارت بر میزان استفاده از پهنای باند پایگاه داده موجود خود در طول زمان برای پردازش درخواست‌ها استفاده کنید. ممکن است با نزدیک شدن بار پایگاه داده به کل پهنای باند موجود، مشکلات عملکردی را مشاهده کنید. همچنین می‌توانید ببینید کدام نوع عملیات بیشترین بار را استفاده می‌کنند و بر اساس آن عیب‌یابی کنید. بار گزارش شده ممکن است در عملیاتی که بیش از یک دقیقه طول می‌کشند، از ۱۰۰٪ تجاوز کند. این اتفاق زمانی می‌افتد که کل پهنای باند استفاده شده در چندین دقیقه پس از اتمام عملیات، در بازه گزارش‌دهی یک دقیقه‌ای خلاصه شود.

شبکه به دلیل مصرف بیش از حد غیرفعال است

network/disabled_for_overages . این معیار هرگونه قطعی را که ممکن است در صورت تجاوز Realtime Database شما از هرگونه محدودیت پهنای باند یا شبکه رخ داده باشد، منعکس می‌کند.

فضای ذخیره‌سازی برای افراد بالای 18 سال غیرفعال است

storage/disabled_for_overages . این معیار هرگونه قطعی را که ممکن است در صورت تجاوز Realtime Database شما از هرگونه محدودیت ذخیره‌سازی رخ داده باشد، منعکس می‌کند.

برای داشتن بینش‌ها و مرور کلی مفید، معیارها را در نمودارهای داشبورد خود ترکیب کنید. به عنوان مثال، ترکیب‌های زیر را امتحان کنید:

  • عملیات: از معیار 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 . تعداد ارزیابی‌های قوانین پایگاه داده بلادرنگ که در پاسخ به درخواست‌های نوشتن یا خواندن انجام می‌شود. می‌توانید این معیار را بر اساس نتیجه درخواست (اجازه، رد یا خطا) تفکیک کنید.

نمودار Cloud Monitoring خود را برای ارزیابی قوانین در صورت نیاز، مثلاً با فیلتر کردن نتایج ارزیابی خاص، مجاز، ممنوع یا خطا، تنظیم کنید. تنظیم و سفارشی‌سازی نمودارها در بخش نظارت بر استفاده از پایگاه داده پوشش داده شده است.

لیست کامل معیارهای Realtime Database موجود از طریق Cloud Monitoring را مشاهده کنید.