בדף הזה מוסבר איך לעקוב אחרי השאילתות שפעילות במסד הנתונים ולפתור בעיות שקשורות אליהן. מעקב אחרי השאילתות האלה יכול לעזור לזהות את הסיבות לחביון המערכת ולשימוש גבוה ב-CPU.
במרכז הבקרה של תובנות לגבי שאילתות אפשר לראות סיכום של טרנזקציות פעילות ורשימה של טרנזקציות עם שאילתות ונתונים סטטיסטיים משויכים. העסקאות מוצגות לפי שעת ההתחלה של העסקה. אם פועלות מספר רב של שאילתות, יכול להיות שהתוצאות יוגבלו לקבוצת משנה של השאילתות הכוללות.
לפני שמתחילים
כדי לעקוב אחרי שאילתות פעילות, אפשר להשתמש במהדורת Cloud SQL Enterprise או במהדורת Cloud SQL Enterprise Plus.
כדי להפסיק סשן או טרנזקציה שפועלת לאורך זמן בשאילתות פעילות, צריך להשתמש במופע Cloud SQL במהדורת Enterprise Plus.
מידע נוסף על מהדורות 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
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הפעלת שאילתות פעילות
כשמפעילים את התובנות לגבי שאילתות, השאילתות הפעילות מופעלות באופן אוטומטי. כדי להפסיק סשן או עסקה ארוכה בשאילתות פעילות, צריך להשתמש ב-Query Insights במהדורת Cloud SQL Enterprise Plus.
השבתת שאילתות פעילות
אי אפשר להשבית שאילתות פעילות בלי להשבית את התכונה 'תובנות לגבי שאילתות'. כדי להשבית שאילתות פעילות ותובנות לגבי שאילתות, אפשר לעיין במאמר בנושא השבתת תובנות לגבי שאילתות.
הצגת שאילתות פעילות
כדי לראות את השאילתות הפעילות:
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
כדי להציג את מרכז הבקרה תובנות לגבי שאילתות:
- לוחצים על הכרטיסייה תובנות לגבי שאילתות.
- לוחצים על מעבר לתובנות לגבי שאילתות לקבלת מידע מעמיק יותר על שאילתות וביצועים. מרכז הבקרה Query insights ייפתח. בחלק העליון מוצגים פרטים על המופע.
לוחצים על הכרטיסייה שאילתות פעילות.
מכאן אפשר לשנות את פרטי השאילתה שמופיעים בטבלה Longest running transactions (העסקאות עם זמן הריצה הארוך ביותר):
- מסד נתונים: מסנן את עומס השאילתות במסד נתונים ספציפי או בכל מסדי הנתונים.
- משתמש: מסנן את עומס השאילתות מחשבון משתמש ספציפי.
כרטיס ניקוד של סיכום כל השאילתות הפעילות: מספק סקירה כללית של כל השאילתות הפעילות על ידי הצגת סך החיבורים על סמך הפרמטרים הבאים:
- התפלגות של חיבורים פעילים לפי מצב החיבור.
- התפלגות של עסקאות פעילות על סמך מצב העסקה.
- התפלגות משכי השאילתות.
- העסקאות שפועלות הכי הרבה זמן: סקירה כללית של 50 השאילתות המובילות שפועלות (בסטטוס פעיל) על סמך זמן הביצוע בסדר יורד. אפשר לסנן ולמיין את השאילתות הפעילות בטבלה.
הצגת שאילתות פעילות שעברו נרמול
בלוח הבקרה Query insights אפשר לראות רשימה של העסקאות המובילות שפועלות במשך זמן רב, עם שאילתות פעילות שעברו נורמליזציה. שאילתה פעילה שעברה נורמליזציה מסירה מידע אישי רגיש ומחזירה סיכום. התקציר זהה לערכים שונים שמשמשים בדוגמה הבאה:
שאילתות רגילות
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. |
| מצב העסקה | מצב הביצוע הנוכחי של העסקה. הערכים המותרים כוללים: RUNNING, LOCK WAIT, ROLLING BACK ו-COMMITTING. |
| מצב השרשור | מצב השרשור (או מצב השאילתה) מציין את המצב הנוכחי של השרשור הפעיל. |
| שעת ההתחלה של העסקה | חותמת הזמן שבה התחיל הביצוע של העסקה. |
| משך העסקה | משך העסקה הפעילה הנוכחית בשניות. |
| משך ההמתנה של העסקה | משך ההמתנה בשניות בעסקה הפעילה הנוכחית. |
| משך הזמן של מצב השרשור | הזמן שחלף בשאילתה. |
| שורות של עסקאות נעולות | מספר השורות שנעולות על ידי העסקה הפעילה הנוכחית. |
| שורות של עסקאות ששונו | מספר השורות ששונו על ידי העסקה הפעילה הנוכחית. |
| מסד נתונים | השם של מסד הנתונים שבו הקישור הזה פועל. |
| שם משתמש | השם של המשתמש שמחובר למסד הנתונים. |
| כתובת הלקוח | כתובת ה-IP של הלקוח שממנו המשתמש מתחבר למסד הנתונים. |
| פעולה | כולל קישור לסיום עסקה. |
התצוגה מתעדכנת אוטומטית כל 60 שניות.
בעזרת התפריט האנכי Content display options... אפשר לסנן את העמודות שרוצים להציג.
סיום חיבור
כדי להפסיק חיבור או טרנזקציה ארוכה בשאילתות פעילות, צריך להשתמש במהדורת Cloud SQL Enterprise Plus ולהפעיל את Query Insights למהדורת Cloud SQL Enterprise Plus.
יכול להיות שייקח יותר זמן לסיים פעולות שפועלות במשך זמן רב.
כדי להפסיק שאילתה או עסקה:
- בטבלה Longest running transaction (העסקה עם משך הפעולה הכי ארוך), בוחרים שאילתה.
- בעמודה פעולה, לוחצים על סיום החיבור.
- בחלון סיום הקישור, לוחצים על אישור.
בקשה למסד נתונים מוחזרת באופן מיידי, בזמן שהסיום מתבצע ברקע.
הדף מתרענן אחרי שמתחילים את סגירת החשבון. אם סיום החשבון נכשל, לא מוחזרת הודעת שגיאה או התראה. השאילתה ממשיכה להופיע ברשימת השאילתות הפעילות. אם הביטול יצליח, השאילתה לא תוצג יותר ברשימה. אם הסגירה מחייבת חזרה לגרסה הקודמת, בעמודה Txn state מופיע הסטטוס ROLLING BACK, כלומר הסגירה עדיין בתהליך.