מעקב אחרי משימות

בעזרת הכלי לניהול משימות של BigQuery במסוף Google Cloud , אתם יכולים לעקוב אחרי משימות בארגון, לסנן אותן ולפתור בהן בעיות בלי לכתוב שאילתות INFORMATION_SCHEMA באופן ידני. אתם יכולים לעקוב אחרי מגמות הביצוע, להשוות בין ביצועי המשימות ולבדוק מדדי שאילתות כמו שימוש ב-slots, משך זמן ותרשימי ביצוע כדי לפתור צווארי בקבוק.

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

יכולות

בעזרת כלי הניתוח של המשימות, אתם יכולים:

  • סינון וזיהוי של משימות: חיפוש שאילתות ספציפיות בארגון על ידי החלת מסננים על סמך קריטריונים כמו סטטוס המשימה, משך הזמן, הבעלים או השימוש בחריצים.
  • ניתוח מדדי ציר הזמן: מעקב אחרי מגמות בביצוע משימות ובו-זמניות לאורך זמן באמצעות תרשים המדדים.
  • צבירת משימות לפי משאב: קיבוץ משימות לפי בעלים, פרויקט או הזמנה כדי להציג נתונים סטטיסטיים מסכמים ולעבור לטבלאות מסוננות.
  • פתרון בעיות במשימות: בוחרים משימות ספציפיות כדי להציג את תרשימי הביצוע של השאילתות, טקסט ה-SQL והיסטוריית הביצוע שלהן בדף Job details.
  • השוואת ביצועים: השוואת משימות כדי להדגיש הבדלים משמעותיים במדדים ולטפל בבעיות בביצועים פוטנציאליות.
  • לקבל עזרה מ-AI: להשתמש ב-Gemini Code Assist כדי לפתור בעיות ב-Jobs Explorer (תצוגה מקדימה) כדי לנתח נתונים סטטיסטיים של משימות או להסביר שאילתות שפועלות לאט.

‫BigQuery מספק את פרטי המשימות והתובנות מהתצוגות הבאות של INFORMATION_SCHEMA:

לפני שמתחילים

כדי להשתמש ב-Gemini Code Assist לפתרון בעיות במשימות ב-BigQuery (תצוגה מקדימה), צריך להפעיל את ה-API ולהקצות לו את התפקידים הנדרשים, כמו שמוסבר במאמר הגדרת Gemini Code Assist.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות לשימוש ב-Jobs Explorer למעקב אחרי משימות, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM:

  • צפייה במשימות ברמת הפרויקט: BigQuery Resource Viewer (roles/bigquery.resourceViewer) בפרויקט
  • צפייה במשימות ברמת הארגון: BigQuery Resource Viewer (roles/bigquery.resourceViewer) בארגון
  • צפייה בפרטי המשימה: BigQuery Resource Viewer (roles/bigquery.resourceViewer) בפרויקט שבו הופעלו השאילתות
  • צפייה בפרטים ברמת המערכת: BigQuery Resource Viewer (roles/bigquery.resourceViewer) בפרויקט הניהול

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

התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי להשתמש ב-Jobs Explorer למעקב אחרי משימות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי להשתמש ב-Jobs Explorer למעקב אחרי משימות, נדרשות ההרשאות הבאות:

  • הצגת משימות ברמת הפרויקט: ‫bigquery.jobs.listAll בפרויקט
  • הצגת משימות ברמת הארגון: bigquery.jobs.listAll בארגון

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

כדי להשתמש ב-Gemini Code Assist לפתרון בעיות במשימות, צריך לעמוד בדרישות נוספות של IAM.

סינון משרות

כדי לסנן משימות של שאילתות שכלולות בתצוגות של INFORMATION_SCHEMA.JOBS*:

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. בתפריט הניווט, לוחצים על Jobs explorer.

  3. בדף Jobs explorer, בשדה Location בוחרים את המיקום שבו רוצים לראות את המשימות.

  4. בחלונית Filters, מוסיפים מסננים אופציונליים לפי הצורך. אם החלונית לא מוצגת, לוחצים על insert_chart Show filters.

    אלה המסננים הזמינים:

    • Job scope: סינון המשימות לפי רמת החשיפה שלהן – לדוגמה, הפרויקט הנוכחי, הארגון והמשימות שלכם. אתם יכולים לבחור אם להציג משימות מהפרויקט הנוכחי, מכל הארגון או רק משימות שאתם הפעלתם.
    • תצוגת תרשים:
      • ‫Finished jobs: הצגת נתוני ציר הזמן של שאילתות שהושלמו, תוך הבחנה בין משימות שהושלמו בהצלחה לבין משימות שנכשלו.
      • Concurrency: הצגת נתונים בציר הזמן של השאילתות שפועלות בו-זמנית, תוך הבחנה בין משימות פעילות למשימות בתור.
    • קיבוץ לפי: קיבוץ המשימות שמוצגות לפי משאב ספציפי, כמו בעלים, פרויקט או הזמנה. מידע נוסף זמין במאמר קיבוץ משימות לפי משאב.
    • ‫Status: סינון משימות לפי מצב ההפעלה הנוכחי שלהן, למשל: הושלמה, שגיאה, פעילה ובתור. סיכומי הספירות מופיעים ישירות לצד כל אפשרות סינון של סטטוס מרובה-היבטים, כדי לציין את מספר המשימות במצב הזה.
    • מזהה פרויקט: סינון משימות שרצו בפרויקט ספציפי.
    • ‫Reservation ID: סינון משימות שהשתמשו במשבצות מהזמנה ספציפית. כך תוכלו לעקוב אחרי האופן שבו עומסי עבודה שונים צורכים את הקיבולת השמורה.
    • ‫Owner: סינון משימות לפי כתובת האימייל של המשתמש או של חשבון השירות שהתחילו את המשימה.
    • מזהה משימה: סינון לפי מזהה אלפאנומרי ייחודי של משימה ספציפית.
    • גיבוב (hash) של שאילתה: סינון לפי משימות עם גיבוב ספציפי של שאילתה. גיבוב (hash) של שאילתה מזהה את הלוגיקה של השאילתה, תוך התעלמות מהבדלים בהערות, בערכי הפרמטרים, בפונקציות UDF ובליטרלים, וכך עוזר לכם למצוא את כל ההפעלות של אותה לוגיקת שאילתה. השדה הזה מופיע בשאילתות GoogleSQL שהושלמו בהצלחה ולא נמצאו במטמון.
    • ‫Labels: סינון משימות לפי תוויות מטא-נתונים בהתאמה אישית שאתם או הארגון שלכם צירפתם אליהן. כך אפשר לסווג ולעקוב אחרי משימות לפי מחלקה או אפליקציה.
    • ‫Query insights: מסנן משימות ש-BigQuery זיהה בהן בעיות ספציפיות בביצועים, כמו תחרות על משבצות, חריגה מהקיבולת של ערבוב הזיכרון ושינוי בקנה המידה של קלט הנתונים.
    • ‫Slot time more than: סינון לפי משימות שצרכו יותר מכמות מסוימת של מילי-שניות של משבצות. זהו מדד חשוב לזיהוי שאילתות שצורכות הרבה משאבים.
    • ‫Duration more than: סינון לפי משימות שהזמן שנדרש להשלמתן ארוך יותר מהזמן שצוין. כך אפשר למצוא שאילתות שפועלות לאט מהצפוי.
    • ‫Bytes processed more than: סינון לפי משימות שסרקו יותר מכמות נתונים מסוימת. כך תוכלו לזהות שאילתות שעלולות לתרום לעלויות גבוהות של עיבוד נתונים.
    • קטגוריית משימה: סינון משימות לפי סוג הפעולה שבוצעה, כמו שאילתות SQL סטנדרטי או שאילתות מתמשכות שמשמשות לעיבוד נתונים בזמן אמת.
    • Job creation reason: סינון משימות לפי הסיבה שבגללה BigQuery יצר אותן, למשל כששאילתה חורגת מזמן הקצוב לתפוגה או מפיקה תוצאות גדולות מדי לתגובה אחת.
    • עדיפות המשימה: סינון משימות לפי עדיפות הביצוע שלהן, כמו משימות אינטראקטיביות או משימות באצווה.

הצגת מדדים של ציר הזמן של המשימה

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

כדי להגדיר את תרשים המדדים ב-Jobs Explorer:

  1. נכנסים לדף Jobs explorer.

    כניסה לדף Jobs Explorer

  2. עוברים לחלונית מסננים. אם החלונית לא מוצגת, לוחצים על insert_chart Show filters.

  3. בוחרים את המדד שרוצים לראות בתרשים:

    • ‫Finished jobs: הצגת נתוני ציר הזמן של שאילתות שהושלמו, תוך הבחנה בין משימות שהושלמו בהצלחה לבין משימות שנכשלו.
    • Concurrency: הצגת נתונים בציר הזמן של השאילתות שפועלות בו-זמנית, תוך הבחנה בין משימות פעילות למשימות בתור.

קיבוץ משימות לפי משאב

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

כדי לקבץ משימות:

  1. נכנסים לדף Jobs explorer.

    כניסה לדף Jobs Explorer

  2. עוברים לחלונית מסננים. אם החלונית לא מוצגת, לוחצים על insert_chart Show filters.

  3. לוחצים על קיבוץ לפי ובוחרים באחת מהאפשרויות הבאות:

    • ללא (ברירת מחדל): הצגת הטבלה הלא מצטברת של משימות נפרדות.
    • ‫Owner: קיבוץ משימות לפי כתובת האימייל של המשתמש או של חשבון השירות שהריצו את המשימה.
    • ‫Project: קיבוץ משימות לפי מזהה הפרויקט.
    • ‫Reservation: קיבוץ משימות לפי מזהה ההזמנה.

כשמגדירים את קיבוץ לפי לערכים בעלים,‏ פרויקט או מקום שמור, ב-BigQuery מוצגת תצוגה נצברת עם חלוניות סיכום לכל משאב. בכל חלונית מוצגים הנתונים הסטטיסטיים הבאים:

  • משימות פעילות: מספר המשימות שפועלות.
  • ‫Queued jobs: מספר המשימות שממתינות בתור השאילתות.
  • משימות עם שגיאות: מספר המשימות שלא הושלמו.
  • משימות שהושלמו: מספר המשימות שהושלמו בהצלחה.
  • ‫Slot time: סך כל משבצות הזמן באלפיות השנייה שנצרכו על ידי משימות באותו משאב.
  • ‫Bytes processed: נפח הנתונים הכולל שנסרק על ידי משימות במשאב הזה.

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

פתרון בעיות בביצועי המשימות

כדי לאבחן ולפתור בעיות בשאילתות, אתם יכולים לראות את מדדי הרצת השאילתות, טקסט ה-SQL והיסטוריית הביצועים בדף Job details.

צפייה בפרטי המשרה

כדי לראות את פרטי המשימה ולנתח את הרצת השאילתה:

  1. נכנסים לדף Jobs explorer.

    כניסה לדף Jobs Explorer

  2. אופציונלי: כדי לצמצם את המשימות שמוצגות, מסננים אותן.

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

מידע זמין על שאילתות

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

  • פרטי המשימה: מידע על המשימה, כולל מזהה המשימה, זמן היצירה, מספר הבייטים שעובדו והשימוש ב-slots. למידע נוסף, קראו את המאמר הצגת פרטי משימה.
  • ‫Execution history: רשימה של הרצות קודמות של השאילתה, מקובצות לפי גיבוב (hash) של השאילתה. אתם יכולים לבחור משרה מהרשימה הזו כדי להשוות אותה ישירות למשרה הנוכחית שלכם. מידע נוסף זמין במאמר השוואה בין משימות.
  • תרשים הפעלה: ייצוג חזותי של שלבי ההפעלה של השאילתה. מרחיבים את הקטע Execution graph כדי לבדוק את התחרות על משבצות, את קיבולת הערבוב ואת קנה המידה של קלט הנתונים. מידע נוסף זמין במאמר קבלת תובנות לגבי ביצועי שאילתות.

    בדוגמה הבאה מוצג תרשים ביצוע עם מיפוי טקסט SQL מופעל:

    תרשים ביצוע של משימות.

  • ‫System load during execution: סיכום של משאבי המחשוב והגדרות ההזמנה שהוקצו במהלך ביצוע המשימה.

אבחון רגרסיות בביצועים באמצעות השוואה בין משימות ומערכות

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

הסבר על ניתוח השוואתי

כלי ההשוואה מעריך את הביצועים לפי מדדים ברמת השאילתה וגורמים ברמת המערכת. אתם יכולים להפעיל את המתג הצגת הבדלים משמעותיים בלבד כדי להגביל את התצוגה למדדים עם שונות של יותר מ-20%.

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

  • ירוק: המדד השתפר (לדוגמה, משך שאילתה קצר יותר בהרצת היעד).
  • צהוב: המדד ירד בפחות מ-20%.
  • אדום: המדד ירד ביותר מ-20%.

השוואה בין שתי משרות

כדי להשוות בין משימת בסיס לבין הרצת משימת יעד:

  1. פותחים את הדף Jobs explorer.

    כניסה לדף Jobs Explorer

  2. אופציונלי: כדי לצמצם את המשימות שמוצגות, מסננים אותן.

  3. לוחצים על מזהה המשימה של משימת הבסיס כדי לפתוח את הדף Job details, ובוחרים בכרטיסייה Performance.

  4. בתפריט Actions, לוחצים על Compare Job.

  5. בשדה Job one (baseline job), לוחצים על Browse כדי לפתוח את החלונית Similar comparable jobs.

  6. בוחרים את המשימה שרוצים להשוות לקו הבסיס ולוחצים על Compare.

  7. אופציונלי: כדי להתמקד ברגרסיות משמעותיות בביצועים, מפעילים את האפשרות Show only significant differences. כך התצוגה תוגבל למדדים עם שונות של יותר מ-20%.

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

ניתוח ברמת השאילתה

אחרי שמשווים בין שתי משימות, אפשר לעיין בקטע Query level analysis שמשווה בין שתי הרצות של משימות בשלוש כרטיסיות:

  • ‫Metrics: השוואה בין מדדי ליבה של שאילתות, כמו משך העבודה, זמן ה-slot, בייטים שעובדו ומאיצים שלא היו בשימוש.
  • ‫SQL text: הצגת הצהרות ה-SQL של שתי המשימות והדגשת ההבדלים בטקסט.
  • תרשים ביצוע: השוואה בין תרשימי הביצוע של שני המשימות, שלב אחר שלב, כדי לזהות איפה נוצרו צווארי בקבוק.

השוואה בין שני מרווחים במערכת

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

כדי לעבור לתצוגת ההשוואה של ביצועי המערכת, אפשר להשתמש בכל אחת מהדרכים הבאות:

  • בדף Job details, אחרי שמשווים בין שתי משימות, לוחצים על View more בקטע System level outputs כדי לראות את פרטי ההשוואה של המערכת.
  • אם אתם משתמשים ב-Gemini Cloud Assist כדי להשוות בין מערכות, Gemini Cloud Assist יוצר קישור שפותח את תוצאות ההשוואה.

כדי לבצע השוואה ברמת המערכת בין תקופות זמן נפרדות:

  1. בתצוגה השוואת ביצועי המערכת, לוחצים על מערכת.
  2. לוחצים על Browse ובוחרים את המערכת שבה רוצים לנתח את הביצועים, לפי היקף ההזמנה או הפרויקט.
  3. מגדירים את מסגרות הזמן להשוואה:
    • ‫Target Interval: בוחרים את חלון הזמן של התקופה שבה נתקלתם בבעיות בביצועים ולוחצים על Apply.
    • מרווח זמן בסיסי: בוחרים את תאריך הייחוס ואת חלון הזמן שישמשו כנקודת ההשוואה לביצועים, ולוחצים על אישור.

ניתוח ברמת המערכת

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

  • Project: השוואה בין מספר המשימות שפועלות בו-זמנית, מספר המשימות בתור שפועלות בו-זמנית והשימוש הכולל ב-slots ברמת הפרויקט.
  • ‫Reservation: השוואה בין ניצול ההזמנות, שיתוף של יחידות קיבולת לא פעילות ובו-זמניות של פרויקטים בהזמנות משותפות.
  • ניתוח הגדרות אישיות: השוואה בין הגדרות ניהול עומסי העבודה בשתי ההרצות, כמו מגבלות הגודל המקסימלי של ההזמנה וכללי ההשאלה של יחידות קיבולת לא פעילות.

שימוש בתובנות מבוססות-סוכנים לפתרון בעיות בביצועים

כדי לשלוח משוב או לבקש תמיכה בתכונה הזו, שלחו אימייל לכתובת bq-performance-troubleshooting+feedback@google.com.

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

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

פתרון בעיות בביצועים בצ'אט

כדי להפעיל את פותר הבעיות שמותאם להקשר ולפעול לפי התובנות לגבי הביצועים:

  1. כדי לפתוח את חלונית הצ'אט של Gemini Cloud Assist ולטעון באופן אוטומטי את ההקשר הרלוונטי של המשימה או המערכת, מבצעים אחת מהפעולות הבאות:
    • בדף Jobs explorer או Job history, מעבירים את העכבר מעל משימה ולוחצים על astrophotography_mode Gemini בשורה הזו בטבלה.
    • בדף Workload management, מעבירים את העכבר מעל הזמנה ולוחצים על astrophotography_mode Gemini בשורה הזו בטבלה.
    • ב-Studio, ב-Monitoring או ב-Jobs explorer, לוחצים על astrophotography_mode Gemini.
  2. שולחים הנחיה בשפה טבעית. לדוגמה, אתם יכולים לבקש מ-Gemini להסביר למה משימה פועלת לאט, לנתח נתונים סטטיסטיים של משימה ספציפית, לנתח ביצועים של הזמנה ספציפית, לפתור בעיות בביצועי המערכת או להשוות בין הבדלים בביצועים של שתי משימות היסטוריות דומות.
  3. אם חורגים מהסף ברמת הארגון או ברמת ההזמנה, למשל תור ארוך של משבצות בגלל עלייה בלתי צפויה במספר הפרויקטים הפעילים בו-זמנית, כדאי לעיין בדוח תובנות לגבי הביצועים שנוצר. בדוח הזה מפורטים צווארי בקבוק קריטיים, כמו:
    • Increased Queued Concurrency: עלייה חדה בביקוש לשאילתות בו-זמניות שחורגות מהמגבלות הגמישות של בו-זמניות או מהקצאות המשבצות של ההזמנה.
    • Increased Project Concurrency: מעקב אחרי הפרויקטים המדויקים עם בו-זמניות גבוהה או חשבונות המשתמשים המובילים שגורמים לעומס על המערכת במכסות משותפות או במכסות על פי דרישה.
  4. בטבלה Key Metrics Comparison אפשר לראות את ההבדלים המספריים המדויקים, כמו שינויים בממוצע של הפרויקטים שפועלים בו-זמנית, במשבצות בתור או במגבלות המקסימליות של משבצות בהזמנה.
  5. להפעיל פתרונות מוטמעים ישירות דרך קישורים לפעולות שנוצרו על ידי Gemini Cloud Assist. קיצורי הדרך האלה מפנים אתכם לכלים ספציפיים במוצר עם הקשר שמולא מראש כדי לענות על השאלות שלכם ולפתור בעיות:

    • ‫Edit reservation: פתיחת החלונית הצדדית של כלי לניהול עומס העבודה כדי לשנות את הגודל המקסימלי של המקום השמור או להפעיל יכולות מתקדמות של התאמה לעומס.
    • ‫View job performance in Job explorer: פתיחת הכרטיסייה של פרטי הביצועים של המשימה הספציפית.
    • השוואת ביצועי משימות ב-Job explorer: השוואה בין הביצועים של שתי משימות, זו לצד זו.

תמחור

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

המאמרים הבאים