בדף הזה מוסבר איך לעקוב אחרי השאילתות שפעילות במסד הנתונים ולפתור בעיות שקשורות אליהן. מעקב אחרי השאילתות האלה יכול לעזור לזהות את הסיבות לחביון המערכת ולשימוש גבוה ב-CPU.
במרכז הבקרה 'תובנות לגבי שאילתות' אפשר לראות סיכום של טרנזקציות פעילות ורשימה של טרנזקציות עם שאילתות ונתונים סטטיסטיים משויכים. העסקאות מוצגות לפי שעת ההתחלה של העסקה. אם יש מספר גדול של שאילתות שפועלות, יכול להיות שהתוצאות יוגבלו לקבוצת משנה של השאילתות הכוללות.
לפני שמתחילים
כדי לעקוב אחרי שאילתות פעילות, אפשר להשתמש במהדורת Cloud SQL Enterprise או במהדורת Cloud SQL Enterprise Plus.
כדי להפסיק סשן או טרנזקציה שפועלת לאורך זמן בשאילתות פעילות, צריך להשתמש במופע Cloud SQL ב-Cloud SQL Enterprise Plus Edition.
מידע נוסף על מהדורות Cloud SQL זמין במאמר מבוא למהדורות Cloud SQL.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שדרושות בשביל לראות את השאילתות הפעילות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שמארח את מופע Cloud SQL:
-
כדי לראות סיכום של פעילות המכונה:
Cloud SQL Viewer (
roles/cloudsql.viewer) -
צפייה בסיכום הפעילות במסד הנתונים ובטרנזקציות ארוכות טווח:
צפייה בתובנות לגבי מסד הנתונים (
roles/databaseinsights.viewer) -
סיום סשן או עסקה ממושכת:
-
Cloud SQL Editor (
roles/cloudsql.editor) -
אדמין של פעולות תפעוליות ב-Database Insights (
roles/databaseinsights.operationsAdmin)
-
Cloud SQL Editor (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות כדי לראות שאילתות פעילות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לראות את השאילתות הפעילות, צריך את ההרשאות הבאות:
-
צפייה בסיכום של פעילות מסד הנתונים ובעסקאות שפועלות במשך זמן רב:
-
databaseinsights.activeQueries.fetch -
databaseinsights.activitySummary.fetch
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הפעלת שאילתות פעילות
כדי להפעיל שאילתות פעילות במכונה של Cloud SQL במהדורת Enterprise:
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בכרטיס Configuration (הגדרות), לוחצים על Edit configuration (עריכת ההגדרות).
- בקטע Customize your instance (התאמה אישית של המופע), מרחיבים את Query insights (תובנות לגבי שאילתות).
- מוודאים שהאפשרות הפעלת תובנות לגבי שאילתות מופעלת.
- בוחרים באפשרות ניתוח שאילתות פעילות.
- לוחצים על Save.
כדי להפעיל שאילתות פעילות במכונה במהדורת Cloud SQL Enterprise Plus, מבצעים את הפעולות הבאות:
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בכרטיס Configuration (הגדרות), לוחצים על Edit configuration (עריכת ההגדרות).
- בקטע Customize your instance (התאמה אישית של המופע), מרחיבים את Query insights (תובנות לגבי שאילתות).
- מוודאים שהאפשרות הפעלת תובנות לגבי שאילתות מופעלת.
- בוחרים באפשרות הפעלת התכונות של Enterprise Plus.
- בוחרים באפשרות ניתוח שאילתות פעילות.
- לוחצים על Save.
כדי להפסיק סשן או טרנזקציה שפועלת לאורך זמן בשאילתות פעילות, צריך להשתמש בתובנות לגבי שאילתות ב-Cloud SQL Enterprise Plus Edition.
השבתת שאילתות פעילות
כדי להשבית שאילתות פעילות במכונה של Cloud SQL Enterprise או Cloud SQL Enterprise Plus, מבצעים את הפעולות הבאות:
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בכרטיס Configuration (הגדרות), לוחצים על Edit configuration (עריכת ההגדרות).
- בקטע Customize your instance (התאמה אישית של המופע), מרחיבים את Query insights (תובנות לגבי שאילתות).
- מבטלים את הסימון של התיבה ניתוח שאילתות פעילות.
- לוחצים על Save.
הצגת שאילתות פעילות
כדי לראות את השאילתות הפעילות:
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
כדי להציג את מרכז הבקרה תובנות לגבי שאילתות, מבצעים אחת מהפעולות הבאות:
- לוחצים על הכרטיסייה תובנות לגבי שאילתות.
- לוחצים על מעבר לתובנות לגבי שאילתות לקבלת מידע מעמיק יותר על שאילתות וביצועים. מרכז הבקרה Query insights ייפתח. בחלק העליון מוצגים פרטים על המופע.
לוחצים על הכרטיסייה שאילתות פעילות.
מכאן אפשר לשנות את פרטי השאילתה שמופיעים בטבלה Longest running transactions:
- מסד נתונים: מסנן את עומס השאילתות במסד נתונים ספציפי או בכל מסדי הנתונים.
- משתמש: מסנן את עומס השאילתות מחשבון משתמש ספציפי.
כרטיס ניקוד של סיכום כל השאילתות הפעילות: מספק סקירה כללית של כל השאילתות הפעילות על ידי הצגת סך כל החיבורים על סמך הפרמטרים הבאים:
- התפלגות של חיבורים פעילים לפי מצב החיבור.
- התפלגות של עסקאות פעילות על סמך מצב העסקה.
- התפלגות משכי השאילתות.
- העסקאות שפועלות הכי הרבה זמן: סקירה כללית של 50 השאילתות המובילות שפועלות (במצב פעיל ובמצב idle in transaction) על סמך זמן הביצוע בסדר יורד. אפשר לסנן ולמיין את השאילתות הפעילות בטבלה.
הצגת שאילתות פעילות שעברו נרמול
במרכז הבקרה תובנות לגבי שאילתות אפשר לראות רשימה של העסקאות המובילות שפועלות במשך זמן רב, עם שאילתות פעילות שעברו נרמול. שאילתה פעילה שעברה נורמליזציה מסירה מידע אישי רגיש ומחזירה תקציר. התקציר זהה לערכים שונים שמשמשים בדוגמה הבאה:
שאילתות רגילות
select * from test_table where id=1;select * from test_table_where id=2;
תמצית או שאילתה מנורמלת
select * from test_table where id=?;
שאילתה שמופעלת בסשנים שונים מוצגת כרשומות שונות בלוח הבקרה.
הצגת העסקאות הארוכות ביותר
הטבלה Longest running transactions בלוח הבקרה Query insights כוללת את העמודות הבאות:
| שם העמודה | תיאור |
|---|---|
| מזהה תהליך | מזהה ייחודי של החיבור או מזהה השרשור. |
| שאילתה | טקסט של שאילתת SQL. |
| סטטוס | הסטטוס של החיבור. |
| משך הסשן | משך הזמן של הסשן האחרון שפעל. |
| משך העסקה | משך הזמן שבו העסקה הפעילה רצה. |
| משך השאילתה | משך הזמן של השאילתה האחרונה שהופעלה בעסקה הזו. |
| סוג אירוע ההמתנה | סוג אירוע ההמתנה של אירוע ההמתנה שמתרחש. |
| אירוע המתנה | אירוע ההמתנה שמתרחש. |
| מסד נתונים | השם של מסד הנתונים שבו הקישור הזה פועל. |
| שם האפליקציה | שם האפליקציה שבה הקישור הזה פועל. |
| שם משתמש | השם של המשתמש שמחובר למסד הנתונים. |
| כתובת הלקוח | כתובת IP ספציפית של הלקוח ששלח שאילתה. |
| פעולה | הודעה שמכילה קישור לביטול עסקה. |
התצוגה מתעדכנת אוטומטית כל 60 שניות.
אפשר להשתמש בתפריט האנכי Content display options... כדי לסנן את העמודות שרוצים להציג.
סיום תהליך
כדי להפסיק תהליך או טרנזקציה ארוכת טווח בשאילתות פעילות, צריך להשתמש במהדורת Cloud SQL Enterprise Plus ולהפעיל את ניתוח שאילתות פעילות ואת תובנות לגבי שאילתות במהדורת Cloud SQL Enterprise Plus.
יכול להיות שייקח יותר זמן לסיים פעולות ממושכות.
כדי להפסיק שאילתה או עסקה:
- בטבלה Longest running transaction (העסקה עם זמן הריצה הארוך ביותר), בוחרים שאילתה.
- בעמודה פעולה, לוחצים על סיום החיבור.
- בחלון סיום הקישור, לוחצים על אישור.
אם המערכת מסיימת את השאילתה או העסקה בהצלחה, מופיעה הודעת הצלחה. המערכת גם מבצעת חזרה לגרסה קודמת אם צריך.
שאילתות פעילות שנחסמו
אם שאילתה פעילה ספציפית נחסמת או פועלת הרבה יותר זמן מהצפוי, היא יכולה לחסום שאילתות אחרות שתלויות בה.
ב-Cloud SQL יש אפשרות להפסיק שאילתות פעילות ספציפיות שפועלות במשך זמן רב או חסומות.
הפעלת ניתוח של שאילתות פעילות שנחסמו
כברירת מחדל, Google Cloud במסוף לא מוצגות שאילתות פעילות שנחסמו.
כדי לנתח שאילתות פעילות שנחסמו, צריך לעמוד בדרישות הבאות:
- חובה להשתמש במופע של מהדורת Cloud SQL Enterprise Plus.
- צריך להפעיל את האפשרות 'שאילתות פעילות' במופע.
כדי להפעיל ניתוח של שאילתות פעילות חסומות:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- לוחצים על Edit.
- מרחיבים את הקטע תובנות לגבי שאילתות.
- בוחרים באפשרות הפעלת התכונות של Enterprise Plus ובאפשרות ניתוח פעיל של שאילתות. שתי ההגדרות נדרשות.
- בוחרים באפשרות ניתוח שאילתות חסומות.
- לוחצים על Save.
זיהוי וסיום של שאילתה פעילה חסומה
בשלבים הבאים מוסבר איך לזהות שאילתה פעילה ספציפית שחוסמת שאילתות אחרות, ולהפסיק אותה.
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של SQL, לוחצים על תובנות לגבי שאילתות.
- לוחצים על הכרטיסייה שאילתות פעילות.
אם אין לכם כבר שאילתות פעילות שפועלות, עוברים אל Cloud SQL Studio ומריצים את השאילתות שרוצים לבדוק.
- עוברים לקטע Longest running transactions (העסקאות שהפעולה שלהן נמשכה הכי הרבה זמן). תוכלו לראות עד 50 מהשאילתות הפעילות שהפעילו את המודעות הכי הרבה זמן בכל קטגוריה.
כל רשומה שמוצגת כוללת את הפרטים הבאים:
- מזהה התהליך: מזהה התהליך של השאילתה. לוחצים על הרחבה
כדי לראות את הרשומה. יוצג אחד משני הסמלים הבאים:
- סמל שעון החול: הסמל הזה מציין שהתהליך ממתין לסיום של שאילתה אחרת. אם מופיע מספר לצד הסמל, הוא מציין כמה שאילתות תלויות ממתינות לסיום התהליך הזה.
- סמל החסימה: הסמל הזה מציין שהתהליך לא יכול להסתיים ויכול להיות שהוא חוסם שאילתות אחרות.
- סוג השאילתה: סוג השאילתה שמופעלת, למשל
SELECTאוUPDATE. - סטטוס: הסטטוס של השאילתה הפעילה, למשל
ACTIVE. - משך הסשן (בשניות): משך הסשן הנוכחי (בשניות).
- משך העסקה (בשניות): משך העסקה הפעילה הנוכחית (בשניות).
- משך השאילתה (בשניות): משך השאילתה הפעילה הנוכחית (בשניות).
- סוג אירוע ההמתנה: סוג אירוע ההמתנה שמתרחש כרגע במהלך ביצוע השאילתה, כמו Timeout או Lock.
- אירוע המתנה: אירוע ההמתנה שמתרחש כרגע במהלך הרצת השאילתה.
- פעולה: פעולות אפשריות, כמו סיום החיבור.
לוחצים כדי להרחיב את מזהה התהליך שרוצים לבדוק. אפשר להרחיב את התהליכים הבסיסיים עד שלוש רמות עומק בעץ החקירה.
- מזהה התהליך: מזהה התהליך של השאילתה. לוחצים על הרחבה
כדי לראות את הרשומה. יוצג אחד משני הסמלים הבאים:
- מזהים את השאילתה הספציפית שחסומה ולוחצים על Terminate connection (סיום החיבור). אחרי שמסיימים את החיבור, אפשר לעבור אל Cloud SQL Studio כדי להריץ שוב את השאילתות הפעילות.