בדף הזה מוסבר איך להשתמש בלוח הבקרה של Query Insights כדי לזהות ולנתח בעיות בביצועים של השאילתות.
מבוא
בעזרת Query Insights אתם יכולים לזהות, לאבחן ולמנוע בעיות בביצועי השאילתות במסדי נתונים של Cloud SQL. הוא תומך במעקב אינטואיטיבי ומספק מידע לאבחון שעוזר לכם לזהות את שורש הבעיה בביצועים, ולא רק לגלות אותה.
הכלי Query Insights עוזר לשפר את הביצועים של שאילתות ב-Cloud SQL באמצעות השלבים הבאים:
תובנות לגבי שאילתות ב-Cloud SQL Enterprise Plus
אם אתם משתמשים במהדורת Cloud SQL Enterprise Plus, אתם יכולים לגשת ליכולות נוספות ב-Query Insights כדי לבצע אבחון מתקדם של ביצועי השאילתות. בנוסף ליכולות הרגילות של לוח הבקרה של Query Insights, ב-Query Insights למהדורת Cloud SQL Enterprise Plus אפשר:
- לתעד טקסט ארוך יותר של שאילתות, עד 20KB.
- תיעוד של תוכניות לביצוע שאילתות לכל השאילתות שהופעלו.
- דגימה של עד 200 תוכניות לביצוע שאילתות בדקה.
- לשמור את המדדים למשך 30 ימים.
- לקבל המלצות לאינדקסים מהכלי Index advisor.
- לסיים סשן או עסקה ארוכה בשאילתות פעילות.
- גישה לפתרון בעיות בעזרת AI (גרסת טרום-השקה (Preview)).
בטבלה הבאה מוצגת השוואה בין הדרישות הפונקציונליות והיכולות של תובנות לגבי שאילתות ב-Cloud SQL Enterprise Edition לבין תובנות לגבי שאילתות ב-Cloud SQL Enterprise Plus Edition.
| אזור ההשוואה | תובנות לגבי שאילתות ב-Cloud SQL מהדורת Enterprise | תובנות לגבי שאילתות ב-Cloud SQL Enterprise Plus |
|---|---|---|
| גרסאות נתמכות של מסדי נתונים |
כל הגרסאות של המופעים הבאים:
אין תמיכה בתובנות לגבי שאילתות במכונות של מהדורת SQL Server Express |
SQL Server Enterprise בגרסה 2019 או 2022 |
| סוגי מכונות נתמכים | נתמך בכל סוגי המכונות | לא נתמך במכונות עם ליבה משותפת (shared-core) |
| אזורים נתמכים | מיקומים אזוריים של Cloud SQL | מיקומים אזוריים של Cloud SQL Enterprise Plus edition |
| תקופת השמירה של המדדים | 7 ימים | 30 ימים |
| אורך מקסימלי של שאילתה | 4,500 בייטים | 20KB |
| המספר המקסימלי של דגימות בתוכנית לביצוע שאילתה | 20 | 200 |
| המלצות של Index advisor | לא זמין | זמינות |
| סיום סשנים או טרנזקציות ארוכות בשאילתות פעילות | לא זמין | זמינות |
| פתרון בעיות בעזרת AI (גרסת טרום-השקה (Preview)) | לא זמין | זמינות |
| מגבלות עוצמה (cardinality) בשאילתות | דיווח על הנתונים הסטטיסטיים המצטברים של כל השאילתות. | דיווח על הנתונים הסטטיסטיים המצטברים של כל השאילתות. |
הפעלת תובנות לגבי שאילתות במהדורת Cloud SQL Enterprise Plus
כדי להפעיל את תובנות השאילתות במהדורת Cloud SQL Enterprise Plus, בוחרים באפשרות Enable Enterprise Plus features כשמפעילים את תובנות השאילתות במכונה של מהדורת Cloud SQL Enterprise Plus.
תמחור
אין עלות נוספת לשימוש ב-Query Insights במכונות של Cloud SQL מהדורות Enterprise ו-Enterprise Plus.
דרישות לגבי האחסון
הכלי Query Insights שומר את נתוני המדדים במכונה, וצריך להפעיל את ההגדרה של הגדלת נפח האחסון באופן אוטומטי. בכפוף לעמלות האחסון הרלוונטיות.
מגבלות
המגבלות הבאות חלות על תובנות לגבי שאילתות במכונות של Cloud SQL Enterprise Plus מהדורת Plus:
- אם המכונה שלכם נמצאת תחת עומס מערכת כבד, יכול להיות שהשאילתות שלכם ייטענו לאט או יסתיימו עקב זמן קצוב לתפוגה כשתשלחו שאילתות לנתוני מדדים במרכז הבקרה תובנות לגבי שאילתות.
- אם יוצרים מחדש עותק לקריאה בלבד, היסטוריית המדדים הקודמת שלו לא נשמרת.
- כשמשחזרים מגיבוי ישן יותר מכונה של Query Insights ל-Cloud SQL Enterprise Plus מהדורת Plus, יכול להיות שהמדדים שנאספו בין מועד הגיבוי למועד שחזור המכונה יאבדו. לדוגמה, אם משחזרים את המכונה ב-30 באפריל באמצעות גיבוי שנוצר ב-25 באפריל, יכול להיות שכל המדדים בין 25 באפריל ל-30 באפריל יאבדו.
לפני שמתחילים
לפני שמשתמשים בתובנות לגבי שאילתות, צריך לבצע את הפעולות הבאות.
- מוסיפים את התפקידים וההרשאות הנדרשים.
- מפעילים את Cloud Trace API.
- אם אתם משתמשים בתובנות לגבי שאילתות ב-Cloud SQL Enterprise או ב-Cloud SQL Enterprise Plus, ודאו שהאפשרות Enable automatic storage increases מופעלת במכונה.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שנדרשות לגישה לנתונים היסטוריים של הרצת שאילתות בלוח הבקרה של Query Insights, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שמארח את המכונה של Cloud SQL:
- צפייה ב-Database Insights (
roles/databaseinsights.viewer) - צפייה ב-Cloud SQL (
roles/cloudsql.viewer)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הפעלת Cloud Trace API
כדי לראות את התוכניות לביצוע שאילתות ואת התצוגות שלהן מקצה לקצה, צריך להפעיל את Cloud Trace API בפרויקט ב- Google Cloud . ההגדרה הזו מאפשרת לפרויקט ב-Google Cloud לקבל נתוני מעקב ממקורות מאומתים ללא עלות נוספת. הנתונים האלה יכולים לעזור לכם לזהות ולאבחן בעיות בביצועים במכונה.
כדי לוודא ש-Cloud Trace API מופעל:
- במסוף Google Cloud , נכנסים אל APIs and Services:
- לוחצים על Enable APIs and Services.
- בשורת החיפוש, מקלידים
Cloud Trace API. - אם מוצג הכיתוב API enabled, סימן שה-API מופעל ואין צורך לעשות דבר. אחרת, לוחצים על Enable.
הפעלת הגדלה אוטומטית של נפח האחסון
אם אתם משתמשים בתובנות לגבי שאילתות במהדורת Cloud SQL Enterprise Plus, ודאו שההגדרה Enable automatic storage increases נשארת מופעלת במכונה. כברירת מחדל, האפשרות הזו מופעלת במכונות של Cloud SQL.
אם השבתתם בעבר את ההגדרה הזו במכונה ואתם רוצים להפעיל את Query Insights במהדורת Cloud SQL Enterprise Plus, קודם תצטרכו להפעיל מחדש את ההגדרה של הגדלת נפח האחסון באופן אוטומטי. במהדורת Cloud SQL Enterprise Plus אי אפשר להשבית את ההגדלה האוטומטית של נפח האחסון ולהפעיל את Query Insights.
הפעלת תובנות לגבי שאילתות
כשמפעילים את התובנות לגבי שאילתות, כל הפעולות האחרות מושעות באופן זמני. הפעולות האלה כוללות בדיקות תקינות, רישום ביומן, מעקב ופעולות אחרות במכונה.
המסוף
הפעלת תובנות לגבי שאילתות במכונה
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- במשבצת Configuration (הגדרה), לוחצים על Edit configuration (עריכת ההגדרה).
- בקטע Customize your instance, מרחיבים את Query insights.
- מסמנים את התיבה Enable Query insights.
- אופציונלי: בוחרים תכונות נוספות למכונה. חלק מהתכונות זמינות רק במהדורת Cloud SQL Enterprise Plus.
- לוחצים על Save.
| תכונה | תיאור | Cloud SQL מהדורת Enterprise | מהדורת Cloud SQL Enterprise Plus |
|---|---|---|---|
| הפעלת התכונות של Enterprise Plus | כדי להפעיל את Query Insights במהדורת Cloud SQL Enterprise Plus, מסמנים את התיבה הזו. ב-Query Insights למהדורת Cloud SQL Enterprise Plus אפשר לסיים סשנים וטרנזקציות ארוכות בשאילתות פעילות, לקבל המלצות מ-Index Advisor כדי לעזור לכם להאיץ את עיבוד השאילתות, ולהגדיל את שמירת נתוני המדדים ל-30 יום. ההמלצות של Index advisor מופעלות באופן אוטומטי כשמפעילים את Query Insights במהדורת Cloud SQL Enterprise Plus. כדי להשבית את ההמלצות של הכלי, מבטלים את הסימון בתיבה הזו. כדי להפעיל את ההמלצות של Index Advisor ואת פתרון הבעיות בעזרת AI (גרסת טרום-השקה (Preview)), צריך לסמן את התיבה הזו. | לא זמין | זמינות
ברירת מחדל: מושבתת |
| פתרון בעיות בעזרת AI | מסמנים את התיבה הזו כדי להפעיל זיהוי אנומליות בביצועים, ניתוח של שורש הבעיה וניתוח מצב, ולקבל המלצות לפתרון בעיות בשאילתות ובמסד הנתונים. התכונה הזו נמצאת בגרסת טרום-השקה (Preview), ואפשר להפעיל אותה ולגשת אליה רק באמצעות מסוף Google Cloud . מידע נוסף מופיע במאמר תצפית ופתרון בעיות בעזרת AI. | לא זמין | זמינות
ברירת מחדל: מושבתת |
| התאמה אישית של אורך השאילתות |
מסמנים את התיבה הזו כדי להתאים אישית את המגבלה על האורך של מחרוזת שאילתה.
שאילתות ארוכות יותר שימושיות יותר לשאילתות ניתוח, אבל הן גם דורשות יותר זיכרון.
כל מחרוזת שאילתה שחורגת מהמגבלה שצוינה נחתכת בתצוגה. כשמשנים את מגבלת האורך של השאילתה, צריך להפעיל מחדש את המכונה. |
אפשר להגדיר את המגבלה בבייטים, מ-256 בייטים עד 4500 בייטים.
ברירת מחדל: 1024.
|
אפשר לציין מגבלה בבייטים מ-256 עד 20480.
ברירת מחדל: 10240 בייטים (10KB).
|
| הגדרת תדירות הדגימה המקסימלית | מסמנים את התיבה הזו כדי להגדיר את תדירות הדגימה המקסימלית. תדירות הדגימה היא מספר הדגימות של תוכניות לביצוע שאילתות שנתפסות בדקה בכל מסדי הנתונים במכונה. אם תגדילו את תדירות הדגימה, סביר להניח שתקבלו יותר נקודות על הגרף, אבל יכול להיות שהתקורה של הביצועים תגדל. | אתם יכולים לשנות את הערך הזה למספר מ-0 עד 20.
ברירת מחדל: 5.
|
אפשר להגדיל את המקסימום ל-200 כדי לספק יותר נקודות על הגרף.
ברירת מחדל: 5.
|
הפעלת תובנות לגבי שאילתות בכמה מכונות
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- לוחצים על התפריט More Actions בכל שורה.
- בוחרים באפשרות Enable Query insights.
- בתיבת הדו-שיח, מסמנים את התיבה Enable Query insights for multiple instances.
- לוחצים על Enable.
- בתיבת הדו-שיח הבאה, בוחרים את המכונות שרוצים להפעיל בהן את Query Insights.
- לוחצים על Enable Query insights.
gcloud
כדי להפעיל את תובנות לגבי שאילתות במכונה של Cloud SQL באמצעות gcloud, מריצים את gcloud sql instances patch עם הדגל --insights-config-query-insights-enabled, כמו שמופיע בהמשך, אחרי שמחליפים את INSTANCE_ID במזהה של המכונה.
אם מפעילים את Query Insights במכונה של Cloud SQL Enterprise Plus, ההמלצות של Index Advisor מופעלות באופן אוטומטי.
gcloud sql instances patch INSTANCE_ID \ --insights-config-query-insights-enabled
בנוסף, צריך להשתמש באחד או יותר מהדגלים האופציונליים הבאים:
--insights-config-query-string-lengthמגדירה את מגבלת ברירת המחדל לאורך השאילתה. שאילתות ארוכות יותר שימושיות יותר לשאילתות ניתוח, אבל הן גם דורשות יותר זיכרון. כשמשנים את מגבלת האורך של השאילתה, צריך להפעיל מחדש את המכונה. ב-Cloud SQL מהדורת Enterprise, אפשר לציין ערך בבייטים מ-
256עד4500. אורך השאילתה שמוגדר כברירת מחדל הוא1024בייטים. במהדורת Cloud SQL Enterprise Plus, אפשר לציין מגבלה בבייטים מ-256עד20480. ערך ברירת המחדל הוא10240בייטים (10KB).--insights-config-query-plans-per-minuteכברירת מחדל, נלכדות עד 5 דגימות של תוכניות לביצוע שאילתות בכל דקה בכל מסדי הנתונים במכונה. הגדלת תדירות הדגימה תספק לכם יותר נקודות על הגרף, אבל עלולה להוסיף תקורה לביצועים. כדי להשבית את הדגימה, מגדירים את הערך הזה ל-
0. ב-Cloud SQL מהדורת Enterprise, אפשר לשנות את הערך מ-0 ל-20. במהדורת Cloud SQL Enterprise Plus, אפשר להגדיל את המספר המקסימלי עד ל-200 כדי לספק יותר נקודות נתונים.
מחליפים את מה שכתוב בשדות הבאים:
- INSIGHTS_CONFIG_QUERY_STRING_LENGTH: אורך מחרוזת השאילתה שתישמר, בבייטים.
- API_TIER_STRING: הגדרת המכונה בהתאמה אישית שבה רוצים להשתמש.
- REGION: האזור של המכונה.
gcloud sql instances patch INSTANCE_ID \ --insights-config-query-insights-enabled \ --insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH \ --insights-config-query-plans-per-minute=QUERY_PLANS_PER_MINUTE \ --tier=API_TIER_STRING \ --region=REGION
REST v1
כדי להפעיל את Query Insights במכונה של Cloud SQL באמצעות ה-API בארכיטקטורת REST, מפעילים את ה-method instances.patch עם ההגדרות של insightsConfig.
אם מפעילים את Query Insights במכונה של Cloud SQL Enterprise Plus, ההמלצות של Index Advisor מופעלות באופן אוטומטי.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings" : {
"insightsConfig" : {
"queryInsightsEnabled" : true,
"queryStringLength" : 1024,
"queryPlansPerMinute" : 20,
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2025-03-28T22:43:40.009Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Terraform
כדי להפעיל את Query Insights במכונה של Cloud SQL באמצעות Terraform, מגדירים את הדגל query_insights_enabled לערך true.
אם מפעילים את Query Insights במכונה של Cloud SQL Enterprise Plus, ההמלצות של Index Advisor מופעלות באופן אוטומטי.
אפשר גם להשתמש באחד או יותר מהדגלים האופציונליים הבאים:
-
query_string_length: ב-Cloud SQL מהדורת Enterprise, אפשר לציין ערך בבייטים מ-256עד4500. אורך השאילתה שמוגדר כברירת מחדל הוא1024בייטים. במהדורת Cloud SQL Enterprise Plus, אפשר לציין מגבלה בבייטים מ-256עד20480. ערך ברירת המחדל הוא10240בייטים (10KB). -
query_plans_per_minute: במהדורת Cloud SQL Enterprise, אפשר להגדיר את הערך מ-0עד20. ערך ברירת המחדל הוא5. במהדורת Cloud SQL Enterprise Plus, אפשר להגדיל את הערך המקסימלי עד ל-200כדי לספק יותר נקודות נתונים.
הנה דוגמה:
כך מחילים את ההגדרות של Terraform בפרויקט ב- Google Cloud :
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Google Cloud שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את הפרויקט ב- Google Cloud כדי להציג את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
המדדים אמורים להיות זמינים בתובנות לגבי שאילתות תוך כמה דקות מסיום השאילתה.
הצגת לוח הבקרה של Query Insights
בלוח הבקרה של Query Insights מוצג עומס השאילתות על סמך הגורמים שבחרתם. עומס השאילתות הוא מדד של העבודה הכוללת של כל השאילתות במכונה בטווח התאריכים שנבחר. בלוח הבקרה יש כמה מסננים שמאפשרים לראות את עומס השאילתות.
כדי לפתוח את לוח הבקרה Query insights:
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של Cloud SQL, לוחצים על Query Insights או על Go to Query Insights for more in-depth info on queries and performance בדף Instance overview.
מרכז הבקרה Query insights נפתח. בהתאם למהדורה שבה אתם משתמשים, Cloud SQL Enterprise או Cloud SQL Enterprise Plus, בלוח הבקרה של Query Insights מוצג המידע הבא על המכונה:
- Databases: סינון עומס השאילתות במסד נתונים ספציפי או בכל מסדי הנתונים.
- Time range: סינון עומס השאילתות לפי טווחי זמן, כמו שעה, 6 שעות, יום, 7 ימים, 30 ימים או טווח בהתאמה אישית.
- תרשים עומס במסד הנתונים: מציג את תרשים עומס השאילתות, על סמך נתונים מסוננים.
- Queries ו-Databases: סינון עומס השאילתות לפי שאילתה או מסד נתונים שנבחרו. סינון העומס על מסד הנתונים
הצגת העומס על מסד הנתונים בכל השאילתות
עומס השאילתות במסד הנתונים הוא מדד של העבודה (בשניות מעבד) שמבצעות השאילתות שהופעלו במסד הנתונים שנבחר לאורך זמן. כל שאילתה שפועלת משתמשת במשאבי מעבד (CPU), במשאבי קלט/פלט או במשאבי נעילה, או ממתינה להם. עומס השאילתות במסד הנתונים הוא היחס בין משך הזמן שלוקח לכל השאילתות להסתיים בחלון זמן נתון לבין הזמן בפועל.
בלוח הבקרה של תובנות השאילתות ברמה העליונה מוצג התרשים Database load by execution time. התפריטים הנפתחים בלוח הבקרה מאפשרים לסנן את התרשים לפי כל מסדי הנתונים או לפי מסד נתונים ספציפי.
הקווים הצבעוניים בתרשים מציגים את העומס בכל מסד נתונים לפי זמן הביצוע. כדי לענות על השאלות הבאות, אפשר לעיין בתרשים ולהשתמש באפשרויות הסינון:
- האם עומס השאילתות גבוה? האם יש עלייה חדה בגרף או שהוא עולה לאורך זמן? אם לא רואים עומס גבוה, הבעיה היא לא בשאילתה.
- כמה זמן העומס גבוה? האם הוא גבוה רק עכשיו או שהוא גבוה כבר הרבה זמן? משתמשים בבורר הטווח כדי לבחור תקופות זמן שונות ולגלות כמה זמן הבעיה נמשכת. מגדילים את התצוגה כדי לראות חלון זמן שבו נצפו עליות חדות בעומס השאילתות. מקטינים את התצוגה כדי לראות עד שבוע אחד בציר הזמן.
- באיזה מסד נתונים יש עומס? כדי למצוא את מסדי הנתונים עם העומסים הגבוהים ביותר, בוחרים מסדי נתונים שונים מהתפריט הנפתח Databases.
סינון העומס על מסד הנתונים
אפשר לסנן את העומס על מסד הנתונים לפי שאילתות. אתם יכולים להתאים אישית את תרשים העומס של מסד הנתונים כדי לפרט את הנתונים המוצגים לפי כל אחד מהמאפיינים הבאים:כל השאילתות
מסדי נתונים
כדי להתאים אישית את תרשים עומס מסד הנתונים, בוחרים מאפיין מהתפריט הנפתח Database Load by execution time.
הצגת הגורמים העיקריים לעומס על מסד הנתונים
כדי לראות את הגורמים העיקריים לעומס על מסד הנתונים, אפשר להשתמש בטבלה Top dimensions by database load. בטבלה Top dimensions by database load מוצגים הגורמים העיקריים לעומס במסד הנתונים בתקופה ובמאפיין שבחרתם בתפריט הנפתח של התרשים Database Load by execution time. אתם יכולים לשנות את התקופה או את המאפיין כדי לראות את הגורמים העיקריים לשינוי במאפיין או בתקופה אחרים.
בטבלה Top dimensions by data load, אפשר לבחור את הכרטיסיות הבאות.
| Tab | תיאור |
|---|---|
| שאילתות | בטבלה מוצגות השאילתות המנורמלות המובילות לפי זמן הביצוע הכולל.
לכל שאילתה, הנתונים שמוצגים בעמודות מפורטים באופן הבא:
|
| מסדי נתונים | בטבלה מוצגת רשימת מסדי הנתונים המובילים שתרמו לעומס בתקופה שנבחרה בכל השאילתות שבוצעו.
|
סינון לפי שאילתות
בטבלה Top dimensions by database load מוצגת סקירה כללית של השאילתות שגורמות לעומס השאילתות הגבוה ביותר. בטבלה מוצגות כל השאילתות שעברו נרמול בטווח התאריכים ובאפשרויות שנבחרו בלוח הבקרה של 'תובנות לגבי שאילתות'. השאילתות ממוינות לפי זמן הביצוע הכולל בטווח התאריכים שנבחר.
כדי למיין את הטבלה, לוחצים על כותרת של עמודה.
בטבלה מוצגים המאפיינים הבאים:
- שאילתה: מחרוזת השאילתה המנורמלת. כברירת מחדל, בתובנות לגבי שאילתות מוצגים רק 1,024 תווים במחרוזת השאילתה.
- Database: מסד הנתונים שבו הופעלה השאילתה.
- Recommendations: ההמלצות המוצעות, כמו Create indexes, לשיפור ביצועי השאילתות.
- Avg execution time (ms): הזמן הממוצע להרצת השאילתה.
- זמן הביצוע הכולל (באלפיות השנייה): משך הזמן הכולל של ביצוע השאילתה.
- מספר הקריאות: מספר הפעמים שהאפליקציה קראה לשאילתה.
- מספר ממוצע של שורות שהוחזרו: מספר השורות הממוצע שהוחזר לשאילתה.
התובנות לגבי שאילתות שומרות ומציגות רק שאילתות מנורמלות.
בדיקת הפעולות בתוכנית לביצוע שאילתה שנדגמה
תוכנית לביצוע שאילתה לוקחת דגימה מהשאילתה ומפרקת אותה לפעולות נפרדות. הוא מסביר ומנתח כל פעולה בשאילתה.
בתרשים Query plan samples מוצגות כל התוכניות לביצוע שאילתות שפועלות בזמנים מסוימים, ומשך הזמן שלקח לכל תוכנית לפעול. אפשר לשנות את קצב הדגימה של תוכניות לביצוע שאילתות לדקה. הפעלת Query Insights
כברירת מחדל, בחלונית שמשמאל מוצגים הפרטים של תוכנית לביצוע שאילתה לדוגמה שנמשכת הכי הרבה זמן, כפי שמופיע בתרשים Query plan samples. כדי לראות את הפרטים של תוכנית אחרת לדוגמה לביצוע שאילתה, לוחצים על העיגול הרלוונטי בתרשים. בפרטים המורחבים מוצג מודל של כל הפעולות בתוכנית לביצוע השאילתה.
בכל פעולה מוצגות השורות שהוחזרו, ואם היא זמינה, גם עלות הפעולה. כדי לראות את הנתונים הסטטיסטיים המשוערים של ההרצה לכל צומת (פעולה), וגם את הנתונים הסטטיסטיים של ההרצה בזמן ריצה שמשויכים לצומת הבסיס, אפשר להשתמש בתצוגת המסך המלא או בכרטיסייה
כדי לצמצם את הבעיה, נסו לענות על השאלות הבאות:
- מהי צריכת המשאבים?
- איך היא קשורה לשאילתות אחרות?
- האם הצריכה משתנה לאורך זמן?
התכונה "פרטי השאילתה"
בפרטי השאילתה אפשר לקבל פרטים נוספים על שאילתה ספציפית, כולל זמן הביצוע הממוצע, מספר הפעמים שהיא הופעלה ומספר השורות הממוצע שהוחזרו. הוא גם יכול להציע המלצות, כמו אינדקסים, כדי לשפר את ביצועי השאילתות.
בפרטי השאילתה מוצגים גם המדדים הבאים:
- דוגמאות לתוכניות לביצוע שאילתות: הדוגמאות האלה עוזרות להסביר ולנתח את השאילתה, על ידי פירוט הפעולות השונות בדוגמה של השאילתה.
- מספר הפעמים שהשאילתה בוצעה לאורך זמן: מספר הפעמים שהשאילתה בוצעה בתקופה מסוימת. התרשים עוזר להבין טוב יותר מתי שאילתה מופעלת בדרך כלל, ויכול לעזור לכם להעריך את ההשפעה של השאילתה על ביצועי המכונה.
- Average rows returned over time: מספר השורות הממוצע שהשאילתה החזירה לאורך זמן. הנתונים האלה יכולים לעזור לכם למצוא קשר בין שאילתות איטיות מהרגיל לבין כמות גדולה יותר של נתונים שהוחזרו על ידי השאילתות האלה.
- I/O statistics: הצגת הנתונים הסטטיסטיים של הקלט והפלט של השאילתה, כולל המסננים הבאים:
- קריאות לוגיות ממוצעות
- קריאות פיזיות ממוצעות
- כתיבות לוגיות ממוצעות
אתם יכולים להשתמש במדדי קלט/פלט כדי לקשר בין שאילתות איטיות מהרגיל לבין שימוש אינטנסיבי יותר בקלט/פלט או שינויים בדפוסי הקלט/פלט.
לדוגמה, אם מספר הקריאות הלוגיות גדל, יכול להיות שהשאילתה התחילה לקרוא יותר נתונים מהרגיל. אם מספר הקריאות הפיזיות גדל, יכול להיות ש-Cloud SQL התחיל לקרוא יותר נתונים מהדיסק במקום מהמטמון של המאגר. לדוגמה, יכול להיות שלא היה מספיק זיכרון כדי לשמור את כל הנתונים במטמון, או שהמכונה התחילה לקרוא יותר מדי נתונים. אם מספר הכתיבות הלוגיות גדל, יכול להיות שהשאילתה התחילה לכתוב יותר נתונים לדיסק הנתונים.
זו דוגמה אחת לאופן שבו המדד הזה יכול לעזור למדוד את ההשפעה של השאילתה על קלט/פלט של מכונה.
- Memory statistics: הצגת נתוני השימוש בזיכרון בשאילתה, כולל המסננים הבאים:
- זיכרון אידיאלי ממוצע
- זיכרון שמור ממוצע
- זיכרון ממוצע בשימוש
המדד הזה יכול לעזור לכם לזהות שינויים בצריכת הזיכרון שקשורים לשאילתה, כולל הדוגמאות הבאות:
- אפשר להשתמש במדד הזה כדי לזהות מתי Cloud SQL חזה באופן שגוי את כמות הזיכרון שנדרשת להרצת השאילתה, ויכול להיות שהוא שמר יותר זיכרון ממה שהשאילתה השתמשה בו.
- אפשר להשתמש במדד הזה כדי לזהות מתי Cloud SQL לא הצליח להקצות מספיק זיכרון ושמר הקצאת זיכרון קטנה יותר. במצב כזה, Cloud SQL משתמש במסד הנתונים
tempdb, וזה איטי יותר משימוש בזיכרון. - כדי למדוד את ההשפעה של השאילתה על צריכת הזיכרון של המכונה, אפשר להשתמש במדד הזה יחד עם מספר ההפעלות של השאילתה.
- כדאי להשתמש במדד הזה כשרואים שימוש גבוה בזיכרון או עומס על הזיכרון.
- נתונים סטטיסטיים של זמן מעבד וזמן ביצוע: תצוגה משולבת של נתונים סטטיסטיים של זמן מעבד וזמן ביצוע של השאילתה. אתם יכולים להשתמש במדד CPU time כדי לבדוק שימוש גבוה ב-CPU במכונה, כולל בדוגמאות הבאות:
- אתם יכולים להשתמש בשילוב של מדדי זמן ה-CPU ומספר ההרצות כדי למדוד את ההשפעה של השאילתה על צריכת ה-CPU הכוללת במכונה.
- כדי למדוד את אחוז הזמן שבו השאילתה המתינה למשאבים, אפשר להשתמש בשילוב של מדדי זמן מעבד, זמן ביצוע ומקביליות.
- אתם יכולים להשתמש במדד זמן הביצוע כדי לזהות מתי לשאילתה נדרש יותר זמן ביצוע מהרגיל.
- Additional query statistics: הצגת נתונים סטטיסטיים נוספים שקשורים לשאילתה, כולל המסננים הבאים:
- נתונים סטטיסטיים של Common Language Runtime (CLR)
- נתונים סטטיסטיים של Columnstore
- גלישות זיכרון
- נתונים סטטיסטיים על מקביליות
שאילתות פעילות חסומות
אם שאילתה פעילה ספציפית נחסמת או פועלת הרבה יותר זמן מהצפוי, היא יכולה לחסום שאילתות אחרות שתלויות בה.
ב-Cloud SQL אתם יכולים לסיים שאילתות פעילות ספציפיות שנמשכות זמן רב או שנחסמו.
מידע נוסף זמין במאמר שאילתות פעילות חסומות.
השבתת התובנות לגבי שאילתות
המסוף
כדי להשבית את Query Insights במכונה של Cloud SQL באמצעות מסוף Google Cloud , מבצעים את השלבים הבאים:
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- במשבצת Configuration (הגדרה), לוחצים על Edit configuration (עריכת ההגדרה).
- בקטע Configuration options, מרחיבים את Query insights.
- מבטלים את הסימון של התיבה Enable Query insights.
- לוחצים על Save.
gcloud
כדי להשבית את תובנות השאילתות במכונה של Cloud SQL באמצעות gcloud, מריצים את gcloud sql instances patch עם הדגל --no-insights-config-query-insights-enabled, אחרי שמחליפים את INSTANCE_ID במזהה של המכונה.
gcloud sql instances patch INSTANCE_ID \ --no-insights-config-query-insights-enabled
REST
כדי להשבית את Query Insights במכונה של Cloud SQL באמצעות ה-API בארכיטקטורת REST, מפעילים את ה-method instances.patch עם queryInsightsEnabled שמוגדר כ-false, באופן הבא.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט.
- instance-id: מזהה המכונה.
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
תוכן בקשת JSON:
{
"settings" : { "insightsConfig" : { "queryInsightsEnabled" : false } }
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2021-01-28T22:43:40.009Z",
"operationType": "UPDATE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
השבתת Query Insights במהדורת Cloud SQL Enterprise Plus
כדי להשבית את Query Insights במהדורת Cloud SQL Enterprise Plus:
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- לוחצים על Edit.
- בקטע Customize your instance, מרחיבים את Query insights.
- מבטלים את הסימון של התיבה הפעלת התכונות של Enterprise Plus.
- לוחצים על Save.
המאמרים הבאים
- פוסט בבלוג: פתרון מהיר יותר של צווארי בקבוק במסדי נתונים באמצעות התובנות החדשות לגבי שאילתות ב-Cloud SQL Enterprise Plus
- בלוג: שיפור המיומנויות של פתרון בעיות בביצועי שאילתות באמצעות Cloud SQL Insights
- סרטון: היכרות עם Cloud SQL Insights
- פודקאסט: Cloud SQL Insights
- Codelab בנושא תובנות
- אופטימיזציה של שימוש גבוה במעבד (CPU)
- אופטימיזציה של שימוש בזיכרון רב