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

האפשרות Query Performance Metrics Explore בSystem Activity מספקת פירוט של כל שאילתה שמופעלת ממופע Looker שלכם.

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

מידע נוסף על ניתוחים (Explores) שזמינים בפעילות המערכת מופיע בדף העזרה בנושא מעקב אחר השימוש ב-Looker באמצעות ניתוחים של פעילות המערכת.

צפייה במדדי הביצועים של השאילתות

מדדי הביצועים של השאילתות מוצגים ב-Explore Query Performance Metrics (מדדי הביצועים של השאילתות) בפעילות המערכת. כדי להציג את הניתוח Query Performance Metrics, צריכה להיות לכם הרשאת אדמין ב-Looker או הרשאה see_system_activity.

הסבר על מחזור החיים של שאילתות ב-Looker

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

באופן כללי, אפשר לחלק את התהליך לשלבים הבאים:

  1. שלב העובד האסינכרוני: קודם, צריך להקצות את משימת השאילתה לעובד אסינכרוני זמין. אם אין עובד זמין, יכול להיות שיהיה זמן המתנה בתור.
  2. שלב האתחול: אחרי שמוקצה עובד אסינכרוני, מופעלים כמה שלבי אתחול במופע Looker כדי להכין את השאילתה.
  3. שלב הטיפול בחיבור: אחרי שהאתחול מסתיים, מכונת Looker יוצרת חיבור למסד הנתונים של הלקוח.
  4. שלב השאילתה הראשית: אחרי שמופע Looker יוצר חיבור למסד הנתונים של הלקוח, השאילתה הראשית מופעלת במסד הנתונים של הלקוח. יכול להיות שיופעלו גם שאילתות נוספות כדי לחשב את התוצאות, כמו סכומים כוללים, בהתאם לאפשרויות שנבחרו בשאילתה. אם השאילתה לא מוזרמת, השאילתות נטענות לזיכרון במופע Looker. אחרי זה, החיבור בין מכונת Looker לבין מסד הנתונים של הלקוח נסגר.
  5. שלב אחרי השאילתה: לבסוף, מופעלים כמה שלבים אחרי השאילתה במופע Looker כדי להכין את השאילתה ליעד הבא שלה. בשלב הזה, העובד האסינכרוני משוחרר.

מדדי ביצועים של שאילתות

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

מדדים של שלב העבודה האסינכרוני

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

מדדים של שלב ההפעלה

שלב השאילתה תיאור המדד
Model Init: From Cache הזמן שנדרש בשניות לשליפת הגדרת המודל מהמטמון. אם הפונקציה מחזירה ערך null, המשמעות היא שהמודל נטען ונותח במקום להישלף מהמטמון. (ראו את השלב Model Init: Computed).
Model Init: Computed הזמן בשניות שנדרש לטעינה ולניתוח של המודל שנדרש להרצת שאילתה. אם הפונקציה מחזירה ערך Null, המשמעות היא שהמודל אוחזר מהמטמון במקום להיטען ולעבור ניתוח מאפס. (ראו את השלב Model Init: From Cache).
Explore Init: From Cache הזמן בשניות שנדרש לאחזור של אתחול התכונה 'חיפוש נתונים' מהמטמון. אם הפונקציה מחזירה ערך null, המשמעות היא שהדוח 'ניתוח נתונים' נטען ונותח במקום להישלף מהמטמון. (ראו את השלב Explore Init: Computed).
Explore Init: Computed הזמן שנדרש להפעלת התכונה 'חיפוש' לפני שמתחילים prepare אותה, בשניות. אם הפונקציה מחזירה ערך null, המשמעות היא שהניתוח ב-Explore אוחזר מהמטמון במקום להיטען ולעבור ניתוח מאפס. (ראו את השלב Explore Init: From Cache).
Prepare הזמן שנדרש בשניות כדי להכין את השאילתה מההגדרה של הניתוח.

מדדים של שלב הטיפול בחיבור

שלב השאילתה תיאור המדד
Per User Throttler הזמן בשניות שבו השאילתה ממתינה לחיבור שיהיה זמין למשתמש כדי להריץ את השאילתה.
Acquire Connection משך הזמן בשניות שנדרש למכונה של Looker כדי ליצור חיבור למסד הנתונים של הלקוח. השלב הזה כולל את הזמן שנדרש לאחזור פרטי הכניסה של המשתמש וליצירת מאגר החיבורים אם הוא עדיין לא קיים.
Connection Init הזמן בשניות שנדרש לאתחול חיבור לשימוש.
Adapter Throttler הזמן בשניות שהשאילתה מבלה בתור של מנגנון ויסות התעבורה של המתאם.
Connection Held הזמן בשניות שמופע Looker שומר על חיבור למסד הנתונים של הלקוח. השלב הזה כולל את הזמן שנדרש למסד הנתונים של הלקוח להריץ את שאילתת ה-SQL.

מדדים של שלב השאילתות הראשיות

שלב השאילתה תיאור המדד
Cache Load הזמן שלוקח בשניות לשלוף תוצאות גולמיות ממטמון של קבוצת תוצאות.
PDTs משך הזמן בשניות שנדרש לבניית טבלאות נגזרות קבועות שנדרשות לשאילתה.
Query Execution הזמן הכולל בשניות שנדרש להפעלת כל השאילתות בחיבור, כולל הזמן שחלף בהגבלת קצב הבקשות.
Execute Main Query הזמן שלוקח בשניות להריץ את השאילתה primary במסד הנתונים של הלקוחות. הזמן הזה לא כולל את זמן ההפעלה של החיבור או את זמן ההשהיה של המגביל. התזמון מתחיל אחרי הפעלת החיבור וסיום ההשהיה של המגביל.
Execute Totals Query הזמן בשניות שלוקח להריץ את השאילתה כדי ליצור סכומים כוללים במסד הנתונים של הלקוחות. ההגדרה רלוונטית רק לשאילתות שמופעל בהן סיכום.
Execute Row Totals Query הזמן בשניות שלוקח להריץ את השאילתה כדי ליצור סכומים כוללים של שורות במסד הנתונים של הלקוחות. ההגדרה הזו רלוונטית רק לשאילתות שמופעל בהן סיכום שורות.
Execute Grand Totals Query הזמן בשניות שלוקח להריץ את השאילתה כדי ליצור את הסכום הכולל במסד הנתונים של הלקוחות. האפשרות הזו רלוונטית רק לשאילתות שבהן מופעלים גם סיכומים וגם סיכומי שורות.
Load Process and Stream Main Query משך הזמן בשניות שנדרש לטעינת השאילתה הראשית (ממסד הנתונים של הלקוח), לעיבוד שלה (במופע Looker) ולשידור שלה (ללקוח). ההגדרה הזו חלה רק על שאילתות שמוזרמות.
Load Main Query In Memory הזמן שלוקח בשניות לטעון את תוצאות השאילתה הראשית בזיכרון ממסד הנתונים של הלקוח. ההגדרה הזו חלה רק על שאילתות שלא מועברות בסטרימינג.
Load Totals Query In Memory משך הזמן בשניות שנדרש לטעינת השאילתה כדי ליצור סכומים כוללים בזיכרון. ההגדרה הזו חלה רק על שאילתות לא מוזרמות שמופעל בהן סכומים כוללים.
Load Row Totals Query In Memory משך הזמן בשניות שנדרש לטעינת השאילתה כדי ליצור סכומי שורות בזיכרון. ההגדרה רלוונטית רק לשאילתות לא מוזרמות שמופעל בהן סיכום שורות.
Load Grand Totals Query In Memory הזמן בשניות שנדרש לטעינת השאילתה כדי ליצור את הסכום הכולל בזיכרון. ההגדרה הזו רלוונטית רק לשאילתות שלא מועברות בסטרימינג, שמופעלות בהן האפשרויות סכומים כוללים וסכומים כוללים של שורות.

מדדים של שלב אחרי השאילתה

שלב השאילתה תיאור המדד
Postprocessing הזמן בשניות שנדרש לעיבוד שאילתה אחרי שהיא מבוצעת. מתרחש אחרי שהחיבור נסגר.
Stream to Cache הזמן שנדרש בשניות לעיבוד התוצאות ולהזרמתן למטמון הרינדור.
Render משך הזמן בשניות שנדרש לעיבוד התוצאות של שאילתה.
Streaming to Client משך הזמן בשניות שלוקח להזרים את תוצאות השאילתה ללקוח.

מדדים של BigQuery BI Engine

אם אתם משתמשים ב-BigQuery BI Engine עם Looker, אתם יכולים להשתמש באפשרות Query Performance Metrics Explore כדי לראות מידע ספציפי למסד הנתונים על השאילתות שלכם. שאילתות שלא משתמשות ב-BI Engine ושאילתות של מסדי נתונים שאינם מסדי נתונים של BigQuery מחזירות ערכי null למדדים האלה.

מדד תיאור המדד
BigQuery Job ID

מזהה המשימה ב-BigQuery של השאילתה (או NULL).

כדי לקצר את זמן התגובה של שאילתות ב-BigQuery, ‏ Looker מריץ שאילתות ב-BigQuery באמצעות jobCreationMode=JOB_CREATION_OPTIONAL. במצב הזה, כש-BigQuery קובע שאפשר לסיים שאילתה במהירות, הוא נותן עדיפות להחזרת תוצאות מיידיות במקום ליצור משימה ב-BigQuery. במקרה כזה, לשאילתה יהיה מזהה שאילתה ב-BigQuery (ומזהה המשימה ב-BigQuery יהיה NULL).

אם BigQuery יקבע שלא ניתן להחזיר תוצאות באופן מיידי, הוא ייצור משימה ולשאילתה יהיה מזהה משימה ב-BigQuery (ומזהה השאילתה ב-BigQuery יהיה NULL).

BigQuery Query ID

מזהה השאילתה ב-BigQuery (או NULL).

כדי לקצר את זמן התגובה של שאילתות ב-BigQuery, ‏ Looker מריץ שאילתות ב-BigQuery באמצעות jobCreationMode=JOB_CREATION_OPTIONAL. במצב הזה, כש-BigQuery קובע שאפשר לסיים שאילתה במהירות, הוא נותן עדיפות להחזרת תוצאות מיידיות במקום ליצור משימה ב-BigQuery. במקרה כזה, לשאילתה יהיה מזהה שאילתה ב-BigQuery במקום מזהה משימה ב-BigQuery.

אם BigQuery יקבע שלא ניתן להחזיר תוצאות באופן מיידי, הוא ייצור משימה ולשאילתה יהיה מזהה משימה ב-BigQuery (ומזהה השאילתה ב-BigQuery יהיה NULL). אם השדה הזה ריק, BigQuery לא הצליח להריץ את השאילתה באופן מיידי, ובמקום זאת יצר משימה להרצת השאילתה. במקום זאת, אפשר להשתמש ב-BigQuery Job ID כדי לקבל מזהה למשימה ב-BigQuery.

BI Engine Mode האם השאילתה הצליחה לפעול באופן חלקי או מלא עם האצה. מידע נוסף על הערכים האפשריים בשדה הזה זמין במאמר סטטיסטיקות של האצת BI Engine.
BI Engine Reason אם השאילתה לא הצליחה לפעול בהאצה מלאה, בשדה הזה מוצגת הסיבה לכך. ההודעה הזו מגיעה ישירות מ-Google BigQuery.

פתרון בעיות באמצעות מדדי ביצועים של שאילתות

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