מעקב אחר הביצועים של מסד הנתונים

יש כמה דרכים לעקוב אחרי הביצועים של Firebase Realtime Database ולזהות בעיות פוטנציאליות באפליקציה. בדיקת רוחב הפס הנכנס ורוחב הפס לנתונים יוצאים והעומס באפליקציה יכולה גם לתת לכם מושג למה לצפות בחשבון. בנוסף, אם משהו נראה לא תקין, תמונה ברורה של פעולות מסד הנתונים יכולה להיות כלי שימושי לפתרון בעיות.

בדף הזה מוסבר על מעקב אחרי הביצועים של Realtime Database. למידע על מעקב אחרי השימוש, קראו את המאמר מעקב אחרי השימוש במסד הנתונים.

שימוש בכלי המעקב של Realtime Database

אתם יכולים לאסוף נתונים על הביצועים של Realtime Database באמצעות כמה כלים שונים, בהתאם לרמת הפירוט שאתם צריכים.

שימוש בכלי הפרופיילר של Realtime Database

כלי הפרופיילינג של Realtime Database מספק סקירה כללית בזמן אמת של פעולות קריאה וכתיבה במסד הנתונים. הדוח כולל מידע על המהירות וגודל המטען הייעודי (payload) של כל פעולה, בנוסף לשאילתות ללא אינדקס. עם זאת, הוא לא כולל מידע היסטורי או נתונים סטטיסטיים לגבי תקורה של חיבור, ואין להשתמש בו כדי להעריך את עלויות החיוב.

למידע נוסף על השימוש בכלי הפרופיילינג, ראו יצירת פרופיל למסד הנתונים.

שימוש במסוף Firebase

בכרטיסייה Usage במסוף Firebase מוצג מידע על החיבורים בו-זמנית למסד הנתונים, כמות הנתונים שאתם מאחסנים, רוחב הפס לנתונים יוצאים (כולל תקורה של פרוטוקול והצפנה) והעומס על מסד הנתונים במרווחים של דקה אחת. בכרטיסייה Usage מוצגת סקירה כללית מדויקת יותר של הביצועים הכוללים של מסד הנתונים, אבל יכול להיות שלא תוכלו להעמיק מספיק כדי לפתור בעיות פוטנציאליות בביצועים.

שימוש ב-Cloud Monitoring

באמצעות Cloud Monitoring מ-Google Cloud, אתם יכולים להשתמש ב-Metrics Explorer כדי לראות מדדי ביצועים ספציפיים, או ליצור מרכזי בקרה שונים עם תרשימים שמציגים שילובים שונים של מדדי ביצועים לאורך זמן. השילוב של Realtime Database עם Cloud Monitoring מציע את רמת הפירוט הגבוהה ביותר.

השלבים להגדרת Cloud Monitoring מתוארים במאמר מעקב אחרי השימוש במסד הנתונים.

בקטעים הבאים מפורטים טיפים לשימוש במדדים ספציפיים של 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 מלקוחות או בפעולות PUT של REST.
  • ‫transaction: ביצוע עסקאות מבקשות REST מותנות או פעולת transaction מלקוח.
  • ‫update: טיפול בפעולות update או בבקשות REST PATCH.

מעקב אחרי כללי אבטחה ב-Cloud Monitoring

אפשר גם לנתח את ההערכה של כללי האבטחה. שימו לב שלכל שמות סוגי המדדים יש את הקידומת firebasedatabase.googleapis.com/.

שם המדד תיאור
הערכות של כללים ‫rules/evaluation_count. מספר ההערכות של כללי מסד הנתונים בזמן אמת שבוצעו בתגובה לבקשות כתיבה או קריאה. אפשר לפרט את המדד הזה לפי תוצאת הבקשה (ALLOW,‏ DENY או ERROR).

אפשר להתאים אישית את התרשים של Cloud Monitoring להערכות של כללים לפי הצורך, למשל על ידי סינון לפי תוצאות הערכה מסוימות, ALLOW,‏ DENY או ERROR. במאמר מעקב אחרי השימוש במסד הנתונים מוסבר איך להגדיר ולהתאים אישית תרשימים.

הרשימה המלאה של מדדי Realtime Database שזמינים דרך Cloud Monitoring.