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

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

این صفحه نظارت بر عملکرد Realtime Database را مورد بحث قرار می دهد. برای نظارت بر استفاده، به استفاده از پایگاه داده نظارت مراجعه کنید.

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

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

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

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

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

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

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

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

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

مراحل راه اندازی Cloud Monitoring در Monitor Usage پایگاه داده توضیح داده شده است.

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

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

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

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

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

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

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

ذخیره سازی برای افراد بیش از حد غیرفعال است

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 خود را در صورت نیاز برای ارزیابی قوانین تنظیم کنید، برای مثال با فیلتر کردن نتایج ارزیابی خاص، ALLOW، DENY یا ERROR. تنظیم و سفارشی کردن نمودارها در مانیتور استفاده از پایگاه داده پوشش داده شده است.

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