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

כדי לזהות ולנתח בעיות בביצועי השאילתות כמעט בזמן אמת במכונות הראשיות ובמכונות של מאגר הקריאה, אתם יכולים להשתמש בתכונות המתקדמות של תובנות לגבי שאילתות ב-AlloyDB ל-PostgreSQL. סקירה כללית על התכונות המתקדמות של Query Insights ב-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. לוחצים על Query insights.

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

  5. בכרטיסייה Edit query insights settings, מסמנים את התיבה Enable advanced query insights features for AlloyDB.

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

    • מסמנים את התיבות Wait event analysis ו-Active query analysis.
    • מגדילה את האורך המקסימלי של שאילתה מ-4,500 בייטים ל-100,000 בייטים (100KB).
  6. שומרים את השינויים. באשכולות שתואמים ל-PostgreSQL בגרסה 17 או בגרסאות קודמות, שמירת השינויים מפעילה מחדש את המכונה של AlloyDB ל-PostgreSQL.

gcloud

gcloud 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/v1/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. לוחצים על Query insights.

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

    • ניתוח אירועי המתנה ניתוח אירועי המתנה יכול לעזור לכם לזהות ולפתור בעיות בביצועים במסד הנתונים. אירוע המתנה הוא רכיב שגורם לעיכוב בעיבוד של פעולה שקשורה לשאילתה.
    • ניתוח שאילתות פעילות מעקב אחרי שאילתות שפועלות באופן פעיל.
    • שמירת הערות לשאילתות: אפשר להבין את ההקשר של השאילתה על ידי עיון בהערות שמשויכות לכל שאילתה שבודקים, כחלק מאורך השאילתה. לא צריך זיכרון נוסף. אם ההערות שלכם מכילות מידע רגיש, חשוב לשים לב לגישת המשתמשים.
    • הפעלת Index advisor הצגת המלצות ליצירת אינדקס בדף תובנות שאילתות של האשכול.
    • בשדה Select run frequency, אתם יכולים להגדיר את תדירות העדכון של ההמלצות.
    • אחסון כתובות ה-IP של הלקוח: הפעילו את האפשרות הזו כדי לעקוב אחרי כתובות ה-IP של הלקוח ולנתח את הנתונים האלה.
    • תגי אפליקציות בחנות: הפעילו את האפשרות הזו כדי לדעת אילו ממשקי API ונתיבי MVC שולחים בקשות, ולקבץ את הנתונים האלה כדי להריץ עליהם מדדים.
    • דגימה של תוכניות לביצוע שאילתות: תוכניות לביצוע שאילתות ממחישות את הפעולות שמשמשות להשלמת דגימה של שאילתה. תדירות הדגימה קובעת כמה דגימות של שאילתות אפשר לתעד בדקה בכל מסדי הנתונים. קצבי דגימה גבוהים יותר דורשים יותר זיכרון.
    • בשדה Query lengths, אתם יכולים לשנות את מגבלת האורך של השאילתות לערך שבין 1,024 ל-100,000 בייטים (100KB). שאילתות ארוכות יותר דורשות יותר זיכרון. באשכולות שתואמים ל-PostgreSQL מגרסה 17 או גרסאות קודמות, כדי לשנות את אורך השאילתה צריך להפעיל מחדש את המכונה.

  5. שומרים את השינויים.

gcloud

gcloud 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

כדי להגדיר גם מעקב אחר כתובות ה-IP של הלקוח או חוויות שימוש מסייעות (גרסת טרום-השקה (Preview)), צריך לכלול את הדגלים --observability-config-track-client-address ו---observability-config-assistive-experiences-enabled בפקודה gcloud beta alloydb instances update:

gcloud beta 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-client-address \
--observability-config-assistive-experiences-enabled

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

  • ‫INSTANCE: המזהה של המכונה שרוצים לעדכן.
  • ‫CLUSTER: המזהה של אשכול המכונה.
  • ‫PROJECT: מזהה הפרויקט של האשכול.
  • ‫REGION: האזור של האשכול, לדוגמה us-central1.
  • ‫QUERY_LENGTH: האורך המקסימלי של מחרוזת השאילתה בבייטים, מ-1,024 עד 100,000 בייטים (100KB). אורך ברירת המחדל של שאילתה הוא 10,240 בייטים. שאילתות ארוכות יותר שימושיות יותר לשאילתות ניתוח, אבל הן גם דורשות יותר זיכרון. באשכולות שתואמים ל-PostgreSQL בגרסה 17 או גרסאות קודמות, כדי לשנות את אורך השאילתה צריך להפעיל מחדש את המכונה.

עדיין אפשר להוסיף תגים לשאילתות שחורגות ממגבלת האורך. ‫* 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-client-address (גרסת טרום-השקה (Preview)): מאפשרת מעקב אחרי כתובות של לקוחות. מגדירים באמצעות הפקודה gcloud beta alloydb instances update. כדי להשבית את המעקב אחרי כתובות של לקוחות, משתמשים ב---no-observability-config-track-client-address.
  • ‫--observability-config-assistive-experiences-enabled (גרסת טרום-השקה (Preview)): מאפשרת לאסוף נתוני טלמטריה משופרים כדי לעקוב אחרי חוויות השימוש ולפתור בעיות. מגדירים באמצעות הפקודה gcloud beta alloydb instances update. כדי להשבית את חוויית השימוש המסייעת, משתמשים ב---no-observability-config-assistive-experiences-enabled.
  • ‫--observability-config-record-application-tags: מאחסן תגי אפליקציות שעוזרים לכם לקבוע את ממשקי ה-API ואת נתיבי ה-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: אורך מחרוזת השאילתה בבייטים לאחסון, מ-1,024 עד 100,000 בייטים (100KB). ערך ברירת המחדל הוא 10,240 בייטים. באשכולות שתואמים ל-PostgreSQL בגרסה 17 או גרסאות קודמות, כדי לשנות את אורך השאילתה צריך להפעיל מחדש את המכונה.

Terraform

כדי להגדיר תובנות מתקדמות לגבי שאילתות במכונה של AlloyDB באמצעות Terraform, משתמשים במשאב 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: אורך מחרוזת השאילתה בבייטים, מ-1,024 עד 100,000 (100KB). ערך ברירת המחדל הוא 10240.
  • ‫RECORD_APPLICATION_TAGS_VALUE: תיעוד תגי האפליקציה של מכונה. ערך ברירת המחדל הוא false.
  • ‫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/v1/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

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

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

כדי להגדיר גם את השדות trackClientAddress או assistiveExperiencesEnabled (גרסת טרום-השקה (Preview)), משתמשים ב-method‏ v1beta projects.locations.clusters.instances.patch וכוללים את השדות האלה בגוף הבקשה של updateMask ו-ObservabilityInstanceConfig.

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

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

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

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

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

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

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

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

    כניסה לדף Clusters

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

  3. לוחצים על Query insights.

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

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

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

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

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

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

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

    כניסה לדף Clusters

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

  3. לוחצים על Query insights.

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

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

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

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

הצגת זמן ההרצה של השאילתה

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

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

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

    כניסה לדף Clusters

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

  3. לוחצים על Query insights.

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

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

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

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

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

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

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

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

    כניסה לדף Clusters

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

  3. לוחצים על Query insights.

  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) שהערך הקבוע עשוי להציג.

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

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

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

    כניסה לדף Clusters

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

  3. לוחצים על Query insights.

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

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

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

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

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

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

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

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

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

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

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

    כניסה לדף Clusters

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

  3. לוחצים על Query insights.

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

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

  6. בטבלה Top dimensions by database load, לוחצים על שאילתה.

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

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

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

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

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

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

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

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

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

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

    כניסה לדף Clusters

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

  3. לוחצים על Query insights.

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

  5. לוחצים על רשומה כלשהי בטבלה Top dimensions by database load.

  6. בדף Query insights details, לוחצים על END to END.

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

מעקב אחרי שאילתות פעילות

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

שאלות נפוצות

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

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

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

למה עומס ה-CPU גבוה מקו הליבה המקסימלי בתרשים Database Load?

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

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

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

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

בפלאגין הרגיל של Query Insights, האורך המקסימלי של מחרוזת השאילתה מוגבל ל-4,500 בייטים. בתובנות מתקדמות לגבי שאילתות, אורך ברירת המחדל של מחרוזת השאילתה הוא 10,240 בייטים (10KB), והאורך המקסימלי מוגבל ל-100,000 בייטים (100KB).

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

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

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