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

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

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

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

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

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

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

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

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

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

‫Async processing עוקב אחרי הזמן הכולל שמוקצה ל-worker אסינכרוני לביצוע שאילתה, משלב 2 עד שלב 4. בשאילתות מניתוחים ומלוחות בקרה, משך הזמן המצטבר של השלבים האלה שווה בערך לערך Async processing. בהורדות, במסירות מתוזמנות ובתוצאות אחרות שמיוצאות, השלב Stream to Cache חופף לשלבים האחרים. במקרים כאלה, משך הזמן המשולב של השלבים הנפרדים עשוי לחרוג ממשך הזמן הכולל של Async processing.

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

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

תזמונים: תור

שלב השאילתה תיאור המדד
Queued הזמן בשניות שבו שאילתה ממתינה עד ש-worker אסינכרוני יהיה זמין להרצת השאילתה.

תזמון: הפעלה וחיבור

שלב השאילתה תיאור המדד
Acquire Connection משך הזמן בשניות שלוקח למכונה של Looker להתחבר למסד הנתונים של הלקוח. השלב הזה כולל את הזמן שנדרש כדי לחפש את פרטי הכניסה של המשתמש וליצור את מאגר החיבורים, אם הוא עדיין לא קיים.
Cache Load הזמן שלוקח בשניות לשלוף תוצאות גולמיות ממטמון קבוצת התוצאות.
Explore Init: Computed הזמן בשניות שנדרש כדי לאתחל את הניתוח לפני שמתחילים prepare אותו. אם השלב הזה מחזיר ערך null, ה-Explore אוחזר מהמטמון במקום להיטען ולעבור ניתוח מאפס. (ראו Explore Init: From Cache).
Explore Init: From Cache הזמן שנדרש בשניות כדי לאחזר את ההפעלה של התכונה 'חיפוש נתונים' מהמטמון. אם השלב הזה מחזיר ערך null, הניתוח נטען ונותח במקום להישלף מהמטמון. (ראו Explore Init: Computed).
Model Init: Computed הזמן בשניות שנדרש כדי לטעון ולנתח את המודל שדרוש להפעלת שאילתה. אם השלב הזה מחזיר ערך null, המודל אוחזר מהמטמון במקום להיטען ולעבור ניתוח מההתחלה. (ראו את השלב Model Init: From Cache).
Model Init: From Cache הזמן שנדרש בשניות לשליפת הגדרת המודל מהמטמון. אם השלב הזה מחזיר ערך null, המודל נטען ונותח במקום להישלף מהמטמון. (ראו את השלב Model Init: Computed).
Per User Throttler הזמן בשניות שבו השאילתה ממתינה לחיבור שיהיה זמין למשתמש כדי להריץ את השאילתה.
Prepare הזמן בשניות שנדרש כדי להכין את השאילתה מההגדרה של Explore.
Project Init הזמן בשניות שנדרש לאתחול פרויקט של LookML או לקריאה שלו מהמטמון.

תזמונים: הרצת שאילתות

שלב השאילתה תיאור המדד
Execute Grand Totals Query הזמן בשניות שלוקח להריץ את השאילתה כדי ליצור את הסכום הכולל במסד הנתונים של הלקוח. ההגדרה הזו חלה רק על שאילתות שבהן מופעלות האפשרויות סכומים כוללים וסכומים כוללים של שורות.
Execute Main Query הזמן בשניות שלוקח להריץ את השאילתה primary במסד הנתונים של הלקוח. הזמן הזה לא כולל את זמן האתחול של החיבור או את זמן ההמתנה של המגביל. התזמון הזה מתחיל אחרי שאתחול החיבור וכל המגבילים הסתיימו.
Execute Misc. Ancillary Queries הזמן בשניות שנדרש כדי להריץ שאילתות תומכות, כמו שאילתות של היקפים ומילוי מאפיינים, במסד הנתונים של הלקוח.
Execute Row Totals Query הזמן בשניות שלוקח להריץ את השאילתה כדי ליצור סכומים כוללים של שורות במסד הנתונים של הלקוחות. ההגדרה הזו חלה רק על שאילתות שמופעל בהן סיכום שורות.
Execute Totals Query הזמן בשניות שלוקח להריץ את השאילתה כדי ליצור סכומים כוללים במסד הנתונים של הלקוחות. ההגדרה חלה רק על שאילתות שמופעל בהן סיכום.
Load Grand Totals Query In Memory הזמן שלוקח בשניות לטעון את השאילתה כדי ליצור את הסכום הכולל בזיכרון. ההגדרה הזו רלוונטית רק לשאילתות ללא סטרימינג שבהן מופעלות האפשרויות totals ו-row totals.
Load Main Query In Memory הזמן בשניות שלוקח לטעון את תוצאות השאילתה הראשית בזיכרון ממסד הנתונים של הלקוח. רלוונטי רק לשאילתות שלא מועברות בסטרימינג.
Load Misc. Ancillary Queries In Memory משך הזמן בשניות עד לטעינת שאילתות תומכות בזיכרון, כמו שאילתות של היקפים ומילוי מאפיינים.
Load Process and Stream Main Query הזמן בשניות שנדרש כדי לטעון את השאילתה הראשית (ממסד הנתונים של הלקוח), לעבד אותה (במכונה של Looker) ולהעביר אותה בסטרימינג (ללקוח). רלוונטי רק לשאילתות בסטרימינג.
Load Row Totals Query In Memory משך הזמן בשניות שלוקח לטעון את השאילתה כדי ליצור את סכומי השורות בזיכרון. ההגבלה הזו חלה רק על שאילתות שלא מועברות בסטרימינג ושהאפשרות סך כל השורות מופעלת בהן.
Load Totals Query In Memory משך הזמן בשניות שלוקח לטעון את השאילתה כדי ליצור סכומים כוללים בזיכרון. ההגדרה הזו חלה רק על שאילתות שלא מועברות בסטרימינג עם סכומים כוללים מופעלים.
PDTs הזמן בשניות שנדרש כדי ליצור את הטבלאות הנגזרות המתמידות (PDT) שנדרשות לשאילתה.
Temporary DT הזמן בשניות שנדרש ליצירת טבלאות נגזרות זמניות. רלוונטי רק לניבים שלא תומכים בביטויי טבלה נפוצים (CTE) או בטבלאות נגזרות מוטבעות, כמו MySQL.

תזמון: תוצאות העיבוד

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

תזמונים: כללי

שלב השאילתה תיאור המדד
Async processing משך הזמן בשניות שבו worker אסינכרוני מבלה בשאילתה. ה-worker ממשיך לעבוד על השאילתה עד לסיום שלב עיבוד התוצאות, ולכן המדד הזה חופף לרוב המדדים האחרים בדף הזה.
Connection Held הזמן בשניות שבו המכונה של Looker שומרת על חיבור למסד הנתונים של הלקוח. השלב הזה כולל את הזמן שלוקח למסד הנתונים של הלקוח להריץ את שאילתת ה-SQL.

לכל מדד יש גם ערך ממוצע. הקבוצה Timings: Summaries מציגה את הזמן הכולל והממוצע של כל שלב.

מדדים של BigQuery BI Engine

אם אתם משתמשים ב-BigQuery BI Engine עם Looker, אתם יכולים להשתמש ב-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. כדי להתחיל, בוחרים את מרכז הבקרה Performance Recommendations מרשימת מרכזי הבקרה של System Activity.