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

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

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

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

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

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

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

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

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

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

  • משתמש עם הרשאת צפייה בסיסית (roles/viewer)
  • צפייה ב-Database Insights (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-enabled \
--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 \
--observability-config-track-active-query-plan \
--observability-config-track-client-address \
--observability-config-assistive-experiences-enabled

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

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

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

  • --observability-config-enabled: מאפשר לאסוף ולנתח נתונים במופע AlloyDB כדי לעקוב אחרי הביצועים והתקינות שלו. כדי להשבית את התובנות המתקדמות לגבי שאילתות, משתמשים באפשרות --no-observability-config-enabled.
  • --observability-config-track-active-queries: מפעיל מעקב אחרי שאילתות פעילות. כדי להשבית את התכונה, משתמשים ב---no-observability-config-track-active-queries.
  • --observability-config-track-active-query-plan: מפעיל מעקב פעיל אחרי תוכנית השאילתה. אם רוצים להשבית את המעקב אחר תוכניות שאילתות פעילות, משתמשים ב---no-observability-config-track-active-query-plan.
  • --observability-config-track-client-address: מאפשר מעקב אחרי כתובות של לקוחות. אם רוצים להשבית את המעקב אחרי כתובות של לקוחות, משתמשים ב---no-observability-config-track-client-address.
  • --observability-config-assistive-experiences-enabled: מאפשר לאסוף טלמטריה משופרת לצורך מעקב ופתרון בעיות. כדי להשבית את התכונה 'חוויות שעוזרות', משתמשים באפשרות --no-observability-config-assistive-experiences-enabled.
  • --observability-config-record-application-tags: מאחסן תגי אפליקציה שעוזרים לכם לקבוע את ה-APIs ואת המסלולים של model-view-controller ‏ (MVC) שיוצרים בקשות ומקבצים נתונים כדי להריץ מדדים על הנתונים. כדי להשתמש באפשרות הזו, צריך להוסיף תגובות לשאילתות עם קבוצה ספציפית של תגים. אם לא רוצים לאחסן תגי אפליקציה, משתמשים בערך --no-observability-config-record-application-tags.
  • --observability-config-preserve-comments: שומר את התגובות במחרוזות של שאילתות שתועדו בכלי לניתוח שאילתות. אם לא רוצים לשמור את התגובות, צריך להשתמש ב---no-observability-config-preserve-comments.
  • --observability-config-track-wait-events: מאפשר מעקב אחר אירועי המתנה במהלך ביצוע השאילתה. אם לא רוצים לעקוב אחרי אירועי המתנה, משתמשים ב---no-observability-config-track-wait-events.
  • --observability-config-query-plans-per-minute=QUERY_PLANS: מספר תוכניות השאילתות שיידגמו בכל דקה. כברירת מחדל, המערכת מתעדת עד 20 דוגמאות של תוכניות שאילתות שהופעלו בכל דקה בכל מסדי הנתונים במופע. צריך לשנות את הערך הזה למספר בין 1 ל-200. כדי להשבית את הדגימה, מזינים 0. הגדלת קצב הדגימה עשויה לספק לכם יותר נקודות נתונים, אבל עלולה להשפיע לרעה על הביצועים.
  • --observability-config-max-query-string-length=QUERY_LENGTH: אורך מחרוזת השאילתה בבייטים לאחסון. ערך ברירת המחדל הוא 10,240 בייט. מותר להזין כל ערך בין 1,024 ל-100,000. כדי לשנות את אורך השאילתה צריך להפעיל מחדש את המופע.

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
    track_client_address = TRACK_CLIENT_ADDRESS_VALUE
    assistive_experiences_enabled = ASSISTIVE_EXPERIENCES_ENABLED_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.
  • TRACK_CLIENT_ADDRESS_VALUE: תיעוד כתובות ה-IP של הלקוחות עבור מופע. ערך ברירת המחדל הוא false.
  • ASSISTIVE_EXPERIENCES_ENABLED_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,observabilityConfig.assistiveExperiencesEnabled

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

{
 "observabilityConfig": {
   "enabled": true,
   "preserveComments": true,
   "trackWaitEvents": true,
   "maxQueryStringLength": 5000,
   "recordApplicationTags": true,
   "queryPlansPerMinute": 20,
   "trackActiveQueries": true,
   "trackClientAddress": true,
   "assistiveExperiencesEnabled": 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. בתרשים הגלולות מוצגת ההתפלגות של המאפיין שנבחר בתפריט הנפתח של תרשים טעינת מסד הנתונים, לפי אירוע ההמתנה הספציפי.
    מסד נתונים בטבלה מוצגת רשימה של מסדי הנתונים המובילים שתרמו לטעינה במהלך טווח הזמן שנבחר בכל השאילתות שהופעלו.
    • הזמן הממוצע שבו המשתמשים נמצאים במסד הנתונים (אלפיות השנייה). הזמן הממוצע שחלף בין שליחת השאילתות לבין קבלת התשובות במסד הנתונים הספציפי.
    • הזמן הכולל שהוקדש למסד הנתונים (באלפיות השנייה). הזמן הכולל של הפעלת השאילתות במסד הנתונים הספציפי.
    • %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.

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

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

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