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

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

במאמר שיפור ביצועי השאילתות באמצעות תובנות לגבי שאילתות מוסבר איך להשתמש בתובנות לגבי שאילתות רגילות.

אתם יכולים להשתמש ב-Gemini Cloud Assist כדי לעקוב אחרי משאבי AlloyDB ולפתור בעיות שקשורות אליהם. מידע נוסף זמין במאמר בנושא מעקב ופתרון בעיות בעזרת Gemini.

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

כדי לגשת ללוח הבקרה של תובנות לגבי שאילתות, צריך להפעיל את הגישה ל-AlloyDB ל-PostgreSQL בפרויקט Google Cloud .

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

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

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

כדי לקבל את ההרשאות האלה, צריך לבקש מהאדמין להקצות לכם אחד מהתפקידים הבאים:

  • משתמש עם הרשאת צפייה בסיסית (roles/viewer)
  • צפייה בתובנות לגבי מסד נתונים (roles/databaseinsights.viewer)

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

הפעלת תכונות מתקדמות של תובנות לגבי שאילתות ב-AlloyDB

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

המסוף

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

    כניסה לדף Clusters

  2. ברשימת האשכולות והמכונות, לוחצים על מכונה.

  3. לוחצים על תובנות לגבי שאילתות.

  4. לוחצים על הפעלה או על עריכת ההגדרות.

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

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

    • מסומנות התיבות ניתוח אירועי המתנה וניתוח שאילתות פעילות.
    • הגדלת אורך השאילתה מ-4,500B ל-100,000B.
  6. שומרים את השינויים. המכונה שלכם ב-AlloyDB ל-PostgreSQL תופעל מחדש.

gcloud

gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-enabled

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE: המזהה של המופע שרוצים לעדכן.
  • CLUSTER: המזהה של האשכול של המכונה.
  • PROJECT: מזהה הפרויקט של האשכול.
  • REGION: האזור של האשכול, למשל us-central1.

הדגל --observability-config-enabled מאפשר איסוף וניתוח של נתונים במופע AlloyDB כדי לעקוב אחרי הביצועים והתקינות שלו. כדי להשבית את התובנות המתקדמות לגבי שאילתות, משתמשים באפשרות --no-observability-config-enabled.

Terraform

כדי להשתמש ב-Terraform כדי להפעיל תובנות מתקדמות לגבי שאילתות במופע AlloyDB, צריך להגדיר את השדה enabled לערך true בבלוק observability_config.

הנה דוגמה:

  observability_config {
    enabled = true
  ...
  }
  

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

REST v1

בדוגמה הזו מופעלות תובנות מתקדמות לגבי שאילתות במופע AlloyDB. רשימה מלאה של הפרמטרים של הקריאה הזו מופיעה במאמר Method: projects.locations.clusters.instances.patch. מידע על הגדרות מתקדמות של תובנות לגבי שאילתות זמין במאמר עריכת הגדרות מתקדמות של תובנות לגבי שאילתות.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • CLUSTER_ID: המזהה של האשכול שיוצרים. הוא צריך להתחיל באות קטנה באנגלית ויכול לכלול אותיות קטנות, ספרות ומקפים.
  • PROJECT_ID: מזהה הפרויקט שבו רוצים למקם את האשכול.
  • LOCATION_ID: המזהה של האזור של האשכול.
  • INSTANCE_ID: השם של המופע הראשי שרוצים ליצור.

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

PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled}

פרמטר השאילתה updateMask=observabilityConfig.enabled אומר ל-API לעדכן את השדה enabled בתוך הבלוק observabilityConfig.

תוכן בקשת JSON:

{
 "observabilityConfig": {
   "enabled" : true,
 }
}

אחרי שמפעילים את התכונה 'תובנות מתקדמות לגבי שאילתות', אפשר לערוך את ההגדרות שלה.

עריכה של הגדרות התכונות המתקדמות

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

המסוף

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

    כניסה לדף Clusters

  2. ברשימת האשכולות והמכונות, לוחצים על מכונה.

  3. לוחצים על תובנות לגבי שאילתות.

  4. לוחצים על עריכת ההגדרות ומשנים את ההגדרות הבאות:

    • ניתוח אירועי המתנה ניתוח אירועי המתנה יכול לעזור לכם לזהות ולפתור בעיות בביצועים של מסד הנתונים. אירוע המתנה הוא רכיב שגורם לעיכוב בעיבוד של פעולה שקשורה לשאילתה.
    • ניתוח שאילתות פעילות מעקב אחרי שאילתות שמופעלות באופן פעיל.
    • אחסון הערות לשאילתות אפשר להבין את ההקשר של השאילתות על ידי הצגת ההערות שמשויכות לכל שאילתה שבודקים, כחלק מאורך השאילתה. לא נדרש זיכרון נוסף. אם התגובות שלכם מכילות מידע רגיש, חשוב לשים לב לגישת המשתמשים.
    • הפעלת הכלי לייעוץ בנושא אינדקסים הצגת המלצות ליצירת אינדקס בדף התובנות לגבי שאילתות של אשכול.
    • בשדה בחירת תדירות ההפעלה, אפשר להגדיר את תדירות העדכון של ההמלצות.
    • שמירת כתובות ה-IP של לקוחות בחנות: מפעילים את האפשרות הזו כדי לעקוב אחרי כתובות ה-IP של הלקוחות ולנתח את הנתונים האלה.
    • שמירת תגי אפליקציה: הפעלה של האפשרות הזו מאפשרת ללמוד אילו ממשקי API ומסלולים של בקר תצוגת מודל שולחים בקשות, ולקבץ את הנתונים האלה כדי להריץ מדדים על בסיסם.
    • דגימה של תוכניות שאילתה תוכניות שאילתה מציגות באופן חזותי את הפעולות שמשמשות להשלמת דגימה של שאילתה. שיעור הדגימה קובע כמה דגימות של שאילתות אפשר לתעד בכל דקה במסדי הנתונים. שיעורים גבוהים יותר דורשים יותר זיכרון.
    • בשדה Query lengths (אורכי שאילתות), אפשר לשנות את מגבלת ברירת המחדל על אורכי שאילתות, מ-256 בייט עד 100KB. שאילתות ארוכות יותר דורשות יותר זיכרון. כדי לשנות את אורך השאילתה, צריך להפעיל מחדש את המופע.
  5. שומרים את השינויים.

gcloud

gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-preserve-comments \
--observability-config-track-wait-events \
--observability-config-max-query-string-length=QUERY_LENGTH \
--observability-config-record-application-tags \
--observability-config-query-plans-per-minute=QUERY_PLANS \
--observability-config-track-active-queries

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE: המזהה של המופע שרוצים לעדכן.
  • CLUSTER: המזהה של האשכול של המכונה.
  • PROJECT: מזהה הפרויקט של האשכול.
  • REGION: האזור של האשכול, למשל us-central1.
  • QUERY_LENGTH: אורך השאילתה, בטווח של 1,024 עד 100,000 בייטים. אורך ברירת המחדל של השאילתה הוא 10,240 בייטים. אורך שאילתה גדול יותר שימושי יותר לשאילתות אנליטיות, אבל הוא גם דורש יותר זיכרון. כדי לשנות את אורך השאילתה, צריך להפעיל מחדש את המופע. עדיין אפשר להוסיף תגים לשאילתות שחורגות ממגבלת האורך.
  • QUERY_PLANS: מספר תוכניות השאילתות שיוגדרו לדקה. כברירת מחדל, המערכת מתעדת עד 20 דוגמאות של תוכניות שאילתות שהופעלו בכל דקה בכל מסדי הנתונים במופע. צריך לשנות את הערך הזה למספר בין 1 ל-200. כדי להשבית את הדגימה, מזינים 0. הגדלת קצב הדגימה עשויה לספק לכם יותר נקודות נתונים, אבל עלולה לפגוע בביצועים.

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

  • --observability-config-track-active-queries: מפעיל מעקב אחרי שאילתות פעילות. כדי להשבית את התכונה, משתמשים ב---no-observability-config-track-active-queries.
  • --observability-config-record-application-tags: מאחסן תגי אפליקציה שעוזרים לכם לקבוע את ממשקי ה-API ואת המסלולים של בקר התצוגה של המודל (MVC) שמבצעים בקשות ומקבצים נתונים כדי להריץ מדדים על הנתונים. כדי להשתמש באפשרות הזו, צריך להוסיף תגובות לשאילתות עם קבוצה ספציפית של תגים. אם לא רוצים לאחסן תגי אפליקציה, משתמשים בערך --no-observability-config-record-application-tags.
  • --observability-config-preserve-comments: שומרת הערות שנוספו לקוד SQL כדי לספק מידע על הקוד בלי להשפיע על ההרצה שלו. אם לא רוצים לשמור את ההערות, משתמשים ב---no-observability-config-preserve-comments.
  • --observability-config-track-wait-events: מאפשר להמתין לאירועים מכל סוג של אירוע המתנה. אם לא רוצים לעקוב אחרי אירועי המתנה, משתמשים בערך --no-observability-config-track-wait-events.

Terraform

כדי להשתמש ב-Terraform להגדרת תובנות מתקדמות לגבי שאילתות במופע AlloyDB, משתמשים במשאב google_alloydb_instance.

לדוגמה:

  observability_config {
    enabled = ENABLED_VALUE
    preserve_comments = PRESERVE_COMMENTS_VALUE
    track_wait_events = TRACK_WAIT_EVENTS_VALUE
    max_query_string_length = MAX_QUERY_STRING_LENGTH_VALUE
    record_application_tags = RECORD_APPLICATION_TAGS_VALUE
    query_plans_per_minute = QUERY_PLANS_PER_MINUTE_VALUE
    track_active_queries = TRACK_ACTIVE_QUERIES_VALUE
  }
  

מחליפים את מה שכתוב בשדות הבאים:

  • ENABLED_VALUE: סטטוס התכונה 'יכולת צפייה' במופע. מגדירים את הערך true כשעורכים את ההגדרות ומציינים סימונים אחרים לפי הצורך.
  • PRESERVE_COMMENTS_VALUE: שמירת הערות במחרוזת השאילתה. ערך ברירת המחדל הוא false.
  • TRACK_WAIT_EVENTS_VALUE: הקלטת אירועי המתנה במהלך הרצת שאילתה עבור מופע. ערך ברירת המחדל הוא true.
  • MAX_QUERY_STRING_LENGTH_VALUE: אורך מחרוזת השאילתה. ערך ברירת המחדל הוא 10240. כל מספר שלם בין 1,024 ל-100,000 הוא ערך תקין.
  • RECORD_APPLICATION_TAGS_VALUE: תיעוד תגי אפליקציה עבור מופע. ערך ברירת המחדל הוא true.
  • QUERY_PLANS_PER_MINUTE_VALUE: מספר תוכניות ההפעלה של השאילתות שתועדו על ידי התובנות בכל דקה, עבור כל השאילתות יחד. ערך ברירת המחדל הוא 20. כל מספר שלם בין 0 ל-200 הוא ערך תקין.
  • TRACK_ACTIVE_QUERIES_VALUE: מעקב אחרי שאילתות שפועלות באופן פעיל. ערך ברירת המחדל הוא false.

    כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

REST v1

בדוגמה הזו מוגדרות הגדרות מתקדמות של תובנות לגבי שאילתות במופע AlloyDB. רשימה מלאה של הפרמטרים של הקריאה הזו מופיעה במאמר Method: projects.locations.clusters.instances.patch.

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

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • CLUSTER_ID: המזהה של האשכול שיוצרים. הוא צריך להתחיל באות קטנה באנגלית ויכול לכלול אותיות קטנות, ספרות ומקפים.
  • PROJECT_ID: מזהה הפרויקט שבו רוצים למקם את האשכול.
  • LOCATION_ID: המזהה של האזור של האשכול.
  • INSTANCE_ID: השם של המופע הראשי שרוצים ליצור.

כדי לשנות את הגדרות המכונה, משתמשים בבקשה הבאה PATCH:

PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled,observabilityConfig.preserveComments,observabilityConfig.trackWaitEvents,observabilityConfig.maxQueryStringLength,observabilityConfig.recordApplicationTags,observabilityConfig.queryPlansPerMinute,observabilityConfig.trackActiveQueries,observabilityConfig.trackClientAddress}

תוכן בקשת JSON שקובע את ההגדרות של כל השדות של תובנות מתקדמות לגבי שאילתות נראה כך:

{
 "observabilityConfig": {
   "enabled" : true,
   "preserveComments": true,
   "trackWaitEvents": true,
   "maxQueryStringLength": 5000,
   "recordApplicationTags": true,
   "queryPlansPerMinute": 20,
   "trackActiveQueries": true,
 }
}

זיהוי ואבחון של בעיות בביצועים של שאילתות

אתם יכולים להשתמש בתובנות מתקדמות לגבי שאילתות כדי לזהות ולאבחן בעיות בביצועים. בלוח הבקרה 'תובנות לגבי שאילתות' מוצג עומס מסד הנתונים, שהוא מדד של העבודה (בשניות CPU) שבוצעה על ידי שאילתות שהופעלו במסד הנתונים שנבחר לאורך זמן. כל שאילתה שפועלת משתמשת במשאבים או ממתינה למשאבים. עומס מסד הנתונים הוא היחס בין משך הזמן של כל השאילתות שהושלמו בחלון זמן נתון, בזמן שחלף בפועל.

הצגת מדד העבודה שבוצעה על ידי שאילתות שהופעלו

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

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

  • שאילתה
  • סוג אירוע ההמתנה
  • אירוע המתנה
  • מסד נתונים
  • משתמש

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

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

    כניסה לדף Clusters

  2. ברשימת האשכולות והמכונות, לוחצים על מכונה.

  3. לוחצים על תובנות לגבי שאילתות.

  4. בוחרים את מסד הנתונים והמשתמש.

  5. בוחרים את משך הזמן הכולל של ההפעלה שעבורו רוצים להציג נתונים, למשל שעה אחת, 6 שעות או משך זמן מותאם אישית.

  6. בתפריט הנפתח Database Load by execution time, בוחרים את המאפיין שרוצים לבדוק. בהתאם למאפיין שתבחרו, בתרשים יוצג האופן שבו המאפיין שנבחר תורם לעומס הכולל של מסד הנתונים. לדוגמה, אם בוחרים את המאפיין אירועי המתנה מהתפריט הנפתח של תרשים עומס מסד הנתונים, בתרשים עומס מסד הנתונים מוצג פירוט של כל אירועי ההמתנה שהתרחשו בטווח הזמן שנבחר עבור מסד הנתונים והמשתמש שנבחרו.

    בתרשים של עומס מסד הנתונים מוצגים נתונים לגבי כל תשעת סוגי אירועי ההמתנה ואירועי ההמתנה שנתמכים ב-PostgreSQL. בהתאם למספר האירועים ולסוגים של אירועים בהמתנה, מוצגים עשרת האירועים והסוגים של אירועים בהמתנה שתרמו הכי הרבה. אם יש יותר מעשרה אירועי המתנה, מוצגים תשעת אירועי ההמתנה המובילים, והשאר מקובצים בקטגוריה אחרים. הגישה הזו חלה גם על מאפיינים אחרים כמו Queries (שאילתות), Databases (מסדי נתונים) ו-Users (משתמשים).

הצגת התורמים העיקריים לעומס על מסד הנתונים

בעזרת הטבלה Top dimensions by database load (המאפיינים המובילים לפי עומס מסד הנתונים) אפשר לראות את הגורמים העיקריים לעומס מסד הנתונים בטווח הזמן שנבחר ובמאפיין שנבחר בתרשים Database Load (עומס מסד הנתונים). בהתאם למאפיין שבוחרים בטבלה Top dimensions by database load, אפשר למצוא את הערכים המובילים עבור חלון הזמן שנבחר.

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

    כניסה לדף Clusters

  2. ברשימת האשכולות והמכונות, לוחצים על מכונה.

  3. לוחצים על תובנות לגבי שאילתות.

  4. בוחרים את מסד הנתונים והמשתמש.

  5. בוחרים את משך הזמן הכולל של ההפעלה שעבורו רוצים להציג נתונים, למשל שעה אחת, 6 שעות או משך זמן מותאם אישית.

  6. בטבלה Top dimensions by database load, אפשר ללחוץ על כל אחת מהאפשרויות הבאות:

    מאפיין תיאור
    שאילתות בטבלה מוצגות השאילתות המנורמלות המובילות לפי זמן הביצוע הכולל. לגבי כל שאילתה, הנתונים שמוצגים בעמודות מפורטים באופן הבא:
    • זמן הביצוע הממוצע (באלפיות השנייה). הזמן הממוצע לביצוע השאילתה.
    • זמן הביצוע הכולל (באלפיות השנייה). זמן ההרצה הכולל של השאילתה הספציפית.
    • שורות שהוחזרו. המספר הממוצע של השורות שאוחזרו עבור השאילתה.
    • מספר הפעמים שהתקשרו. מספר הפעמים שהאפליקציה קראה לשאילתה.
    • %load by chart dimension. בתרשים העמודות מוצגת ההתפלגות של המאפיין בתרשים לפי השאילתה הספציפית.
    סוגי אירועים של המתנה בטבלה מוצגת רשימה של סוגי אירועי ההמתנה המובילים שהתרחשו בטווח הזמן שנבחר.
    • הזמן הממוצע בהמתנה (אלפיות השנייה). הזמן הממוצע שהשאילתות הקדישו לסוג מסוים של אירוע המתנה.
    • הזמן הכולל בהמתנה (באלפיות השנייה). משך הזמן הכולל של הביצוע שהשאילתות בילו בסוג מסוים של אירוע המתנה.
    • מספר סוגי אירועי ההמתנה. מספר הפעמים שסוג מסוים של אירוע המתנה התרחש בטווח הזמן שנבחר.
    • %load by chart dimension. בתרשים העיגול מוצגת ההתפלגות של המאפיין שנבחר בתרשים טעינת מסד הנתונים (בתפריט הנפתח) לפי סוג האירוע הספציפי של ההמתנה.
    אירועי המתנה בטבלה מוצגת רשימה של אירועי ההמתנה המובילים שהתרחשו במהלך טווח הזמן שנבחר.
    • הזמן הממוצע בהמתנה (אלפיות השנייה). הזמן הממוצע שהשאילתות הקדישו לאירוע ההמתנה הספציפי.
    • הזמן הכולל בהמתנה (באלפיות השנייה). משך הזמן הכולל של ההרצה שהשאילתות בילו באירוע ההמתנה הספציפי.
    • מספר אירועי ההמתנה. מספר הפעמים שאירוע המתנה ספציפי התרחש בטווח הזמן שנבחר.
    • %load by chart dimension. בתרשים ה-pill מוצגת ההתפלגות של המאפיין שנבחר בתפריט הנפתח של תרשים טעינת מסד הנתונים, לפי אירוע ההמתנה הספציפי.
    מסד נתונים בטבלה מוצגת רשימה של מסדי הנתונים המובילים שתרמו לטעינה במהלך טווח הזמן שנבחר בכל השאילתות שהופעלו.
    • הזמן הממוצע שחלף מאז שהמשתמש נכנס למסד הנתונים (אלפיות השנייה). משך הזמן הממוצע שבו השאילתות שהו במסד הנתונים הספציפי.
    • הזמן הכולל שהוקדש למסד הנתונים (באלפיות השנייה). הזמן הכולל של הפעלת השאילתות במסד הנתונים הספציפי.
    • %load by chart dimension. בתרשים הכדורים מוצגת ההתפלגות של המאפיין שנבחר בתרשים טעינת מסד הנתונים מתוך התפריט הנפתח, במסד הנתונים הספציפי.
    משתמש בטבלה מוצגת רשימת המשתמשים המובילים בטווח הזמן שנבחר בכל השאילתות שהופעלו.
    • משך הזמן הממוצע של שימוש במשתמש (אלפיות השנייה). הזמן הממוצע שבו השאילתות הוקדשו למשתמש הספציפי.
    • הזמן הכולל שהמשתמש שהה באתר (באלפיות השנייה). זמן הביצוע הכולל של השאילתות אצל המשתמש הספציפי.
    • %load by chart dimension. בתרשים הכדורים מוצגת ההתפלגות של המאפיין שנבחר בתפריט הנפתח של תרשים טעינת מסד הנתונים, לפי המשתמש הספציפי.

הצגת זמן הביצוע של השאילתה

תכונות מתקדמות של תובנות לגבי שאילתות ב-AlloyDB מציגות את עשר השאילתות המובילות שמשפיעות על עומס מסד הנתונים בטבלה Top dimensions by database load. השאילתה המובילה היא זו שתרמה הכי הרבה לעומס על מסד הנתונים בטווח הזמן שנבחר. השאילתות הבאות הן אחוז ממשך ההפעלה הארוך ביותר.

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

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

    כניסה לדף Clusters

  2. ברשימת האשכולות והמכונות, לוחצים על מכונה.

  3. לוחצים על תובנות לגבי שאילתות.

  4. בוחרים את מסד הנתונים והמשתמש.

  5. כדי להבין איך פרמטר בטבלה מושפע מפרמטרים בתרשים Database Load, אפשר לעיין בטבלה Top dimensions by database load (המאפיינים המובילים לפי עומס מסד הנתונים) ולראות את % load by chart dimension (אחוז העומס לפי מאפיין התרשים).

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

הצגת פרטים על זמן הביצוע של השאילתה

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

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

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

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

    כניסה לדף Clusters

  2. ברשימת האשכולות והמכונות, לוחצים על מכונה.

  3. לוחצים על תובנות לגבי שאילתות.

  4. בוחרים את מסד הנתונים והמשתמש.

  5. בטבלה Top dimensions by database load, לוחצים על More details בשורה של שאילתה מסוימת.

תכונות מתקדמות של תובנות לגבי שאילתות ב-AlloyDB מציגות שאילתות מנורמלות (‎$1, ‏‎$2 וכן הלאה) כדי להחליף את ערכי הקבועים המילוליים. לדוגמה:

UPDATE
  "demo_customer"
SET
  "customer_id" = $1::uuid,
  "name" = $2,
  "address" = $3,
  "rating" = $4,
  "balance" = $5,
  "current_city" = $6,
  "current_location" = $7
WHERE
  "demo_customer"."id" = $8

המערכת מתעלמת מהערך הקבוע כדי שהתכונה 'תובנות מתקדמות לגבי שאילתות' תוכל לצבור שאילתות דומות ולהסיר פרטים אישיים מזהים (PII) שהקבוע עשוי להציג.

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

כדי להציג מדד של הזמן ושל השימוש במשאבים לפי ביצוע שאילתה (בשניות CPU) שהשאילתה הנורמלית שבחרתם ביצעה במסד הנתונים שנבחר לאורך זמן, פועלים לפי השלבים הבאים:

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

    כניסה לדף Clusters

  2. ברשימת האשכולות והמכונות, לוחצים על מכונה.

  3. לוחצים על תובנות לגבי שאילתות.

  4. בוחרים את מסד הנתונים והמשתמש.

  5. לוחצים על Queries (שאילתות) בתרשים Database Load (עומס על מסד הנתונים). כדי לחשב את עומס מסד הנתונים, בתרשים עומס מסד הנתונים נעשה שימוש בכמות הזמן שלוקח לשאילתות מנורמלות שהושלמו בתוך גבול הדקה, ביחס לזמן שחלף בזמן אמת.

בחלק העליון של התרשים Database Load מוצגים 10KB הראשונים של שאילתה מנורמלת, שבה הוסרו ליטרלים לצורך צבירה ומסיבות שקשורות לפרטים אישיים מזהים (PII).

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

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

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

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

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

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

כדי להציג תוכנית שאילתות לדוגמה:

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

    כניסה לדף Clusters

  2. ברשימת האשכולות והמכונות, לוחצים על מכונה.

  3. לוחצים על תובנות לגבי שאילתות.

  4. בוחרים את מסד הנתונים והמשתמש.

  5. בוחרים את משך הזמן הכולל של ההפעלה שעבורו רוצים להציג נתונים, למשל שעה אחת, 6 שעות או משך זמן מותאם אישית.

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

  7. בקטע Query plan samples, לוחצים על אחת הנקודות בתרשים כדי לראות את תוכנית השאילתה של השאילתה הזו.

מעקב אחר ביצועי אפליקציות ופתרון בעיות באמצעות תגים

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

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

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

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

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

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

כדי לראות מעקב בהקשר:

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

    כניסה לדף Clusters

  2. ברשימת האשכולות והמכונות, לוחצים על מכונה.

  3. לוחצים על תובנות לגבי שאילתות.

  4. בוחרים את מסד הנתונים והמשתמש.

  5. לוחצים על רשומה כלשהי בטבלה Top dimensions by database load (המאפיינים המובילים לפי עומס מסד הנתונים).

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

אפשר גם להשתמש ב-Cloud Trace כדי לראות את המעקב מקצה לקצה של כל שלב בתוכנית השאילתה. כדי לגשת ל-Cloud Trace, בוחרים באפשרות Operations > Trace.

שאלות נפוצות

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

למה מחרוזת השאילתה נחתכת?

כברירת מחדל, בתובנות לגבי שאילתות מתקדמות מוצגים 10KB במחרוזות של שאילתות. אפשר להגדיל את הגודל של התצוגה ל-100KB.

למה עומס המעבד שלי גבוה מהקו של ליבת המקסימום בתרשים עומס מסד הנתונים?

עומס המעבד (CPU) כולל גם את זמן הריצה וגם את הזמן שבו התהליך ממתין לתזמון של מתזמן Linux כדי להריץ את תהליך השרת. לכן, עומס המעבד יכול לחרוג מהקו המקסימלי של הליבה.

אפשר להשתמש במדדים רגילים של תובנות לגבי שאילתות?

כן. תובנות רגילות לגבי שאילתות יוצרות מוניטורים שאפשר לגשת אליהם דרך Stackdriver. המדדים האלה זמינים באמצעות Cloud Monitoring API וממשק המשתמש של Metrics Explorer. מידע נוסף זמין במאמר בנושא מדדים.Google Cloud

מה האורך המקסימלי של מחרוזת שאילתה?

בתוסף הרגיל של תובנות לגבי שאילתות, האורך המקסימלי של מחרוזת השאילתה מוגבל ל-4.5KB תווים. בניתוח מתקדם של תובנות לגבי שאילתות, אורך המחרוזת שמוגדר כברירת מחדל הוא 10KB, והאורך המקסימלי מוגבל ל-100KB.

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

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

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