פרופיל מסד הנתונים שלך

למדוד את הביצועים של מסד זמן אמת Firebase שלך עם הכלי Profiler הנתונים, מובנה בתוך Firebase CLI . כלי הפרופילים רושם את כל הפעילות במסד הנתונים שלך במשך פרק זמן נתון ולאחר מכן יוצר דוח מפורט. השתמש בדוח המפורט כדי לפתור בעיות בביצועי מסד הנתונים שלך, לאתר אזורים של בעיות ולהפחית שאילתות לא צמודות.

בנה פרופיל

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

  2. התחל פרופיל הנתונים שלך עם הפקודה הבאה:

    firebase database:profile
    מציג Profiler הודעה מעמד כפי שהוא מתעדת פעולות ממסד הנתונים שלך ובונה פרופיל.

  3. לחץ על Enter כדי להשלים את הפרופיל ולהציג את התוצאות.

פרש את התוצאות שלך

הכלי Profiler צוברת את הנתונים שנאספו על זה פעולות של מסד הנתונים שלך ומציג את התוצאות בשלוש קטגוריות עיקריות: מהירות , רוחב פס , וכן שאילתות לא צמודות .

מְהִירוּת

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

דו"ח המהירות כולל את המאפיינים הבאים:

  • נתיב: המסלול במסד הנתונים שבהם הפעולות שהתרחשו. אם יש יותר מ 25 צומת ילד, כלי Profiler מתמוטט אלה לתוך נתיב הורה והוסיף $wildcard סמנו. אתה עשוי לראות בספריית השורש של מסד הנתונים שלך בדו"ח, מיוצג על ידי קו נטוי / .
  • מילים: מספר פעולות שהתרחשו בנתיב הנתון.
  • מהירות ביצוע ממוצע: הזמן הממוצע שלוקח לשרת לבצע לוגיקה עסקית צריכה לטפל בסוג הניתוח המסוים על השביל. מרווח הזמן הנמדד כאן מתחיל לאחר הזמן שנמדד לפי "זמן ההמתנה הממוצע" המתואר להלן.
  • ממוצע בהמתנה זמן: בקשות הזמן הממוצעות מבלה בתור לפני התחלת להורג. עיכוב זה נפוץ לכל הבקשות שיוזמו על ידי הלקוח. סך כל זמן ההשהיה בצד השרת הוא בערך סכום הזמן הממתין של בקשה זו ומהירות הביצוע.
  • אישור נדחה: מספר פשיטות בנתיב הנתון שנחסמו על ידי חוקי מסד Firebase על הנתונים שלך.
דו"ח מהירות לפי סוג הפעולה
קרא מהירות ביצוע זמן התגובה של השרת לבקשות הלקוח לקרוא נתונים ממסד הנתונים. זמן ביצוע הקריאה בדרך כלל משתנה עם כמות הנתונים הנקראים, אך אפילו כמה קריאות קטנות עלולות להתעכב גם על ידי אחזור מטמון מראש.
כתוב מהירות ביצוע זמן התגובה של השרת לבקשות הלקוח לכתוב נתונים למסד הנתונים. כתוב סולמות זמן ביצוע עם כמות הנתונים הנכתבת.
חבר מהירות ביצוע זמן התגובה של השרת לבקשות להקים ללקוחות מסדי נתונים. איחוי לבקשות חיבור נשלט על ידי הנהלת חשבונות בצד השרת בזיכרון הקשורה בניהול חיבורים.
מהירות ביצוע שידור

משך הזמן שהשרת לוקח להפיץ נתונים ללקוחות המאזינים לנתיב הנתון לעדכונים בזמן אמת.

נכס הרוזן בדוח המהיר השידור מקבץ את מספר השידורים שקרו, לא את מספר הלקוחות שקבלו את המידע. לדוגמה, אם 10 לקוחות הקשיבו בנתיב נתון, והשרת שידר עדכון לכל 10 הלקוחות, ספירת השידורים משקפת שידור אחד בלבד, למרות ש -10 לקוחות קיבלו את הנתונים.

הנכס לא הרשה איננו נכלל בדו"ח המהיר שידור.

רוחב פס

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

דו"ח רוחב הפס כולל את המאפיינים הבאים:

  • נתיב: המסלול במסד הנתונים שבהם הפעולות שהתרחשו. אם ישנם יותר מ -25 צמתים של ילדים, כלי הפרופילים מכווץ אותם לנתיב אב.

  • סה"כ: הבתים היוצאים או נכנסים הכוללים בשימוש בכול פעולות בנתיב נתון.

  • מילים: מספר פעולות שהתרחשו בנתיב הנתון.

  • ממוצע: המספר הממוצע של בתים שהורדו או נטענים פני פעולות בנתיב נתון (בתים / כתיבה או בתים / קריאה).

דו"ח רוחב פס
הורדת בתים הנתונים הנצרכים באמצעות פעולות קריאה ושידור שנשלחו באמצעות SDKs הלקוח וממשק API REST.
הועלו בתים הנתונים הנצרכים באמצעות בקשות כתיבה המגיעות לשרת הנתונים. מחיקות מופיעות ככתיבות עם 0 בתים תחת כניסה.

שאילתות לא צמודות

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

הדוח שאילתות ללא צירוף מציג את המאפיינים הבאים:

  • נתיב: המסלול במסד הנתונים שבו השאילתות לא צמודות התרחש.
  • אינדקס: הכלל אתה צריך להוסיף כדי לפתור את השאילתות לא צמודות. למידע נוסף על אינדקס עבור אינדקס הנתונים שלך .
  • מילים: מספר שאילתות לא צמודות שהתרחשו בנתיב הנתון.

פרופיל מתקדם

כדי לראות את כל פעולות באתר שלך מטפל, להשתמש --raw דגל כשאתה פרופיל הנתונים שלך, כדלקמן:

firebase database:profile --raw

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

כלי הפרופילים: לא כלי לחיוב

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

להלן כמה דוגמאות נפוצות לתעבורת רשת המחויבת על ידי Firebase שאינן מכוסות בפרופיל מסד הנתונים שלך:

  • תקורה פרוטוקול: כמה תנועה נוספת בין השרת והלקוחות יש צורך להקים ולתחזק בפגישה. בהתאם לפרוטוקול הבסיסי, תעבורה זו עשויה לכלול: תקורה של פרוטוקול בזמן אמת של מסד הנתונים של Firebase, תקורה WebSocket ותקורה בכותרת HTTP. בכל פעם שנוצר חיבור, תקורה זו, בשילוב כל תקורה של הצפנת SSL, תורמת לעלויות החיבור. למרות שבדרך כלל לא מדובר ברוחב פס גדול, היא יכולה להיות משמעותית אם המטען שלך זעיר או אם אתה יוצר חיבורים תכופים וקצרים.
  • SSL בהצפנה תקורה: יש כרוך בעלות כלשהי הצפנת SSL הכרחי תקורה עבור חיבורים מאובטחים. בממוצע, עלות זו היא כ -3.5KB עבור לחיצת היד הראשונית, וכ -40B עבור כותרות רשומות TLS על כל הודעה יוצאת. עבור רוב האפליקציות, זהו אחוז קטן מהחשבון שלך. עם זאת, זה יכול להפוך לאחוז גדול אם המקרה הספציפי שלך דורש הרבה לחיצות יד SSL. לדוגמה, מכשירים שאינם תומכים בכרטיסי הפעלה מסוג TLS עשויים לדרוש מספר רב של לחיצות יד לחיבור SSL.

קראו עוד על הבנה והערכת הצעת החוק שלך .