چندین روش مختلف برای نظارت بر عملکرد 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/ شروع میشود.
| نام متریک | توضیحات |
|---|---|
| بارگذاری پایگاه داده | |
| شبکه به دلیل مصرف بیش از حد غیرفعال است | |
| فضای ذخیرهسازی برای افراد بالای 18 سال غیرفعال است | |
برای داشتن بینشها و مرور کلی مفید، معیارها را در نمودارهای داشبورد خود ترکیب کنید. به عنوان مثال، ترکیبهای زیر را امتحان کنید:
- عملیات: از معیار
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 را مشاهده کنید.