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

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

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

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

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

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

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

הצגת שאילתות פעילות

כדי לראות את השאילתות הפעילות לכל מסד נתונים:

  1. נכנסים לדף Instances במסוף Google Cloud של Spanner.

    כניסה לדף Spanner Instances

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

  3. בתפריט הניווט, לוחצים על תובנות לגבי שאילתות.

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

  5. לוחצים על הכרטיסייה שאילתות פעילות. בכרטיסייה מוצג סיכום של שאילתות פעילות, וגם טבלה של 50 השאילתות הפעילות עם משך ההרצה הארוך ביותר.

הצגת השאילתות עם משך הפעולה הארוך ביותר

בטבלה הבאה מפורטות עמודות ברירת המחדל בטבלה Longest running queries בכרטיסייה Active queries:

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

כשהמתג רענון אוטומטי מופעל, התצוגה מתרעננת כל 60 שניות.

בעזרת הלחצן Column display options (אפשרויות להצגת עמודות) אפשר לבחור אילו מהעמודות האופציונליות הבאות יוצגו בטבלה Longest running queries (שאילתות עם זמן הריצה הארוך ביותר):

שם העמודה תיאור
כתובת ה-IP של הלקוח כתובת ה-IP של הלקוח שביקש את השאילתה. לפעמים, כתובת ה-IP של הלקוח עשויה להיות מצונזרת. כתובת ה-IP שמוצגת כאן עקבית עם יומני הביקורת ועומדת באותן הנחיות לצנזורה. מידע נוסף זמין במאמר בנושא כתובת ה-IP של המתקשר ביומני ביקורת. מומלץ לבקש את כתובת ה-IP של הלקוח רק כשצריך אותה, כי בקשות לכתובות IP של לקוחות עלולות לגרום לזמן אחזור נוסף.
אזור השרת האזור שבו שרת הבסיס של Spanner מעבד את השאילתה. מידע נוסף מופיע במאמר משך החיים של שאילתה.
Transaction type סוג העסקה של השאילתה. הערכים האפשריים הם READ_ONLY, READ_WRITE ו-NONE.
כותרת של לקוח API הכותרת api_client מהלקוח.
עדיפות העדיפות של השאילתה. כדי לראות את העדיפויות הזמינות, אפשר לעיין ב-RequestOptions.
כותרת סוכן המשתמש הכותרת user_agent שמתקבלת ב-Spanner מהלקוח.

הפסקת שאילתה

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

דף המסוף מתרענן אחרי שמתחילים את סיום החשבון. Google Cloud אם סיום הפעולה יצליח, השאילתה תוסר מהטבלה. אם סיום השאילתה נכשל, הפעולה הזו מתבצעת ברקע והשאילתה ממשיכה להופיע בטבלה Longest running queries.

יכול להיות ש-Spanner לא יבטל שאילתה כשהשרתים עמוסים. אפשר לנסות שוב להפסיק את השאילתה כדי לבטל אותה.

כדי לקבל את ההרשאה שנדרשת להפסקת שאילתה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM 'קורא מסד נתונים של Cloud Spanner' (spanner.databaseReader) במופע.

התפקיד המוגדר מראש הזה כולל את ההרשאה spanner.sessions.delete, שנדרשת כדי להפסיק שאילתה.

כדי להפסיק שאילתה:

  1. בוחרים את השאילתה שרוצים להפסיק מהטבלה Longest running queries.
  2. בעמודה פעולות, לוחצים על סיום.
  3. בחלון Terminate query (הפסקת השאילתה), לוחצים על Confirm (אישור).

כדי להפסיק כמה שאילתות:

  1. בוחרים את השאילתות שרוצים להפסיק מהטבלה Longest running queries (השאילתות שפועלות הכי הרבה זמן).
  2. לוחצים על Terminate selected queries (הפסקת השאילתות שנבחרו).
  3. בחלון Terminate the following queries (הפסקת השאילתות הבאות), לוחצים על Confirm (אישור).

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