הגדרת תיעוד הביצועים

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

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

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

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

כדי לקבל את ההרשאות שדרושות ליצירת מכונה ולהפעלת איסוף נתוני הביצועים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

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

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

הפעלה והגדרה של תיעוד הביצועים

אפשר להפעיל את התכונה 'תיעוד ביצועים' כשיוצרים או מעדכנים את המכונה של Cloud SQL.

gcloud

יצירה והגדרה של מופע

כדי להפעיל את איסוף נתוני הביצועים כשיוצרים את מכונת Cloud SQL, מריצים את הפקודה הבאה:

gcloud beta sql instances create INSTANCE_NAME \
  --database-version=DATABASE_VERSION \
  --region=REGION \
  --tier=TIER \
  --edition=EDITION_TYPE \
  --performance-capture-config="enabled=true,PROBE_CONFIGURATION,PERFORMANCE_CAPTURE_THRESHOLDS"

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

  • INSTANCE_NAME: שם המכונה
  • DATABASE_VERSION: גרסת מסד הנתונים. לדוגמה: MYSQL_8_4 או MYSQL_8_0_37. אם לא מציינים גרסת מסד נתונים, גרסת מסד הנתונים שמוגדרת כברירת מחדל היא MYSQL_8_0.
  • REGION: האזור
  • TIER: סוג המכונה
  • EDITION_TYPE: מהדורת Cloud SQL שלכם

בשביל הדגל performance-capture-config, מוסיפים enabled=true. באותה הגדרה של הדגל, אפשר לציין הגדרות אופציונליות ל-PROBE_CONFIGURATION ול-PERFORMANCE_CAPTURE_THRESHOLDS, או לציין אותן מאוחר יותר על ידי עדכון המופע.

לדוגמה:

gcloud beta sql instances create my-instance \
  --database-version=MYSQL_8_0 \
  --edition=ENTERPRISE_PLUS \
  --tier=db-perf-optimized-N-4 \
  --region=us-west1 \
  --performance-capture-config="enabled=true,probing-interval-seconds=30,probe-threshold=5,running-threads-threshold=10,transaction-duration-threshold=300"

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

כדי להפעיל את התכונה 'תיעוד ביצועים' במכונת Cloud SQL קיימת, מריצים את הפקודה הבאה:

gcloud beta sql instances patch INSTANCE_NAME \
  --performance-capture-config="enabled=true,PROBE_CONFIGURATION,PERFORMANCE_CAPTURE_THRESHOLDS"

בשביל הדגל performance-capture-config, מוסיפים enabled=true. באותו דגל, אפשר לציין הגדרות אופציונליות ל-PROBE_CONFIGURATION ול-PERFORMANCE_CAPTURE_THRESHOLDS.

אפשר גם להשתמש בפקודה gcloud beta sql instances patch כדי לעדכן את ערכי ההגדרות של הסף לתיעוד הביצועים במופע קיים.

הגדרת מרווח הזמן בין בדיקות וסדרת בדיקות של מדדי ביצועים

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

  • probing-interval-seconds=SECONDS: מספר שלם בין 20 ל-86400. מרווח הזמן בשניות בין בדיקות המדדים. לדוגמה, 30, ‏ 60, ‏ 100. ערך ברירת המחדל הוא 30.
  • probe-threshold=PROBES: מספר הפעמים הרצופות שצריך לחרוג מסף מסוים כדי להפעיל את תיעוד הביצועים. הטווח התקין הוא 1 עד 20. ערך ברירת המחדל הוא 3.

הגדרת ספי ביצועים

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

  • running-threads-threshold=THREADS: עבור מופעים ראשיים, מספר השרשורים הפעילים המינימלי שנחשב מעל הסף. לדוגמה, 10. הערך חייב להיות גדול מ-10 או שווה לו. אם לא מגדירים את הערך, ברירת המחדל מבוססת על גודל המופע. ערך ברירת המחדל הוא MIN(600, cpuCount * 20).
  • seconds-behind-source-threshold=SECONDS : עבור עותקים לקריאה, השהיית השכפול המינימלית, בשניות, שנחשבת מעל ערך הסף. הערך חייב להיות גדול מ-0. ערך ברירת המחדל הוא 900.
  • transaction-duration-threshold=SECONDS: משך הזמן, בשניות, של טרנזקציה שלא בוצעה לפני שהטרנזקציה מתועדת ונכללת ביומן של תיעוד הביצועים. לדוגמה, 300, ‏ 600. הערך המינימלי הוא 60. ערך ברירת המחדל הוא 3600.

REST v1

יצירה והגדרה של מופע

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

  • PROJECT_ID: מזהה הפרויקט
  • INSTANCE_ID: מזהה המכונה
  • DATABASE_VERSION: גרסת מסד הנתונים. לדוגמה: MYSQL_8_4 או MYSQL_8_0_37. אם לא מציינים גרסת מסד נתונים, גרסת מסד הנתונים שמוגדרת כברירת מחדל היא MYSQL_8_4.
  • REGION: האזור
  • MACHINE_TYPE: סוג המכונה
  • EDITION_TYPE: מהדורת Cloud SQL שלכם
  • PROBING_INTERVAL_SECONDS: מספר שלם בין 20 ל-86400. מרווח הזמן בשניות בין בדיקות המדדים. ערך ברירת המחדל הוא 30.
  • PROBE_THRESHOLD: מספר הפעמים הרצופות שצריך לחרוג מסף מסוים כדי להפעיל את תיעוד הביצועים. הטווח התקין הוא 1 עד 20. ערך ברירת המחדל הוא 3.
  • RUNNING_THREADS_THRESHOLD: במופעים ראשיים, מספר השרשורים הפעילים המינימלי שנחשב מעל הסף. לדוגמה, 10. הערך חייב להיות גדול מ-10 או שווה לו. אם לא מגדירים את הערך, ברירת המחדל מבוססת על גודל המופע. ערך ברירת המחדל הוא MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD: לגבי העתקי קריאה, השהיית השכפול המינימלית בשניות, שנחשבת מעל ערך הסף. הערך חייב להיות גדול מ-0. ערך ברירת המחדל הוא 900.
  • TRANSACTION_DURATION_THRESHOLD: משך הזמן, בשניות, של טרנזקציה לא מחויבת לפני שהמערכת עוקבת אחריה וכוללת אותה ביומן של תיעוד הביצועים. לדוגמה, 300, ‏ 600. הערך המינימלי הוא 60. ערך ברירת המחדל הוא 3600.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

תוכן בקשת JSON:

{
  "name": "INSTANCE_ID",
  "region": "REGION",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE"
  },
  "performanceCaptureConfig": {
     "enabled": true,
     "probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
     "probeThreshold": PROBE_THRESHOLD,
     "runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
     "secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
     "transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
  }
}

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

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-11-10T22:19:33.735Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

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

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

  • PERFORMANCE_CAPTURE_ENABLE: מגדירים את הערך true כדי להפעיל את תכונת תיעוד הביצועים של המופע.
  • PROBING_INTERVAL_SECONDS: מספר שלם בין 20 ל-86400. מרווח הזמן בשניות בין בדיקות המדדים. ערך ברירת המחדל הוא 30.
  • PROBE_THRESHOLD: מספר הפעמים הרצופות שצריך לחרוג מסף מסוים כדי להפעיל את תיעוד הביצועים. הטווח התקין הוא 1 עד 20. ערך ברירת המחדל הוא 3.
  • RUNNING_THREADS_THRESHOLD: במופעים ראשיים, מספר השרשורים הפעילים המינימלי שנחשב מעל הסף. לדוגמה, 10. הערך חייב להיות גדול מ-10 או שווה לו. אם לא מגדירים את הערך, ברירת המחדל מבוססת על גודל המופע. ערך ברירת המחדל הוא MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD: לגבי העתקי קריאה, השהיית השכפול המינימלית בשניות, שנחשבת מעל ערך הסף. הערך חייב להיות גדול מ-0. ערך ברירת המחדל הוא 900.
  • TRANSACTION_DURATION_THRESHOLD: משך הזמן, בשניות, של טרנזקציה לא מחויבת לפני שהמערכת עוקבת אחריה וכוללת אותה ביומן של תיעוד הביצועים. לדוגמה, 300, ‏ 600. הערך המינימלי הוא 60. ערך ברירת המחדל הוא 3600.

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

תוכן בקשת JSON:

{
  "performanceCaptureConfig": {
     "enabled": PERFORMANCE_CAPTURE_ENABLE,
     "probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
     "probeThreshold": PROBE_THRESHOLD,
     "runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
     "secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
     "transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
  },
}

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

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-11-10T22:19:33.735Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

יצירה והגדרה של מופע

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

  • PROJECT_ID: מזהה הפרויקט
  • INSTANCE_ID: מזהה המכונה
  • DATABASE_VERSION: גרסת מסד הנתונים. לדוגמה: MYSQL_8_4 או MYSQL_8_0_37. אם לא מציינים גרסת מסד נתונים, גרסת מסד הנתונים שמוגדרת כברירת מחדל היא MYSQL_8_4.
  • REGION: האזור
  • MACHINE_TYPE: סוג המכונה
  • EDITION_TYPE: מהדורת Cloud SQL שלכם
  • PROBING_INTERVAL_SECONDS: מספר שלם בין 20 ל-86400. מרווח הזמן בשניות בין בדיקות המדדים. ערך ברירת המחדל הוא 30.
  • PROBE_THRESHOLD: מספר הפעמים הרצופות שצריך לחרוג מסף מסוים כדי להפעיל את תיעוד הביצועים. הטווח התקין הוא 1 עד 20. ערך ברירת המחדל הוא 3.
  • RUNNING_THREADS_THRESHOLD: במופעים ראשיים, מספר השרשורים הפעילים המינימלי שנחשב מעל הסף. לדוגמה, 10. הערך חייב להיות גדול מ-10 או שווה לו. אם לא מגדירים את הערך, ברירת המחדל מבוססת על גודל המופע. ערך ברירת המחדל הוא MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD: לגבי העתקים לקריאה, השהיית השכפול המינימלית בשניות, שנחשבת מעל ערך הסף. הערך חייב להיות גדול מ-0. ערך ברירת המחדל הוא 900.
  • TRANSACTION_DURATION_THRESHOLD: משך הזמן, בשניות, של טרנזקציה לא מחויבת לפני שהמערכת עוקבת אחריה וכוללת אותה ביומן של תיעוד הביצועים. לדוגמה, 300, ‏ 600. הערך המינימלי הוא 60. ערך ברירת המחדל הוא 3600.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances

תוכן בקשת JSON:

{
  "name": "INSTANCE_ID",
  "region": "REGION",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE",
  },
  "performanceCaptureConfig": {
     "enabled": true,
     "probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
     "probeThreshold": PROBE_THRESHOLD,
     "runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
     "secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
     "transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
  },
}

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

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-11-10T22:19:33.735Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

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

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

  • PERFORMANCE_CAPTURE_ENABLE: מגדירים את הערך true כדי להפעיל את תכונת תיעוד הביצועים של המופע.
  • PROBING_INTERVAL_SECONDS: מספר שלם בין 20 ל-86400. מרווח הזמן בשניות בין בדיקות המדדים. ערך ברירת המחדל הוא 30.
  • PROBE_THRESHOLD: מספר הפעמים הרצופות שצריך לחרוג מסף מסוים כדי להפעיל את תיעוד הביצועים. הטווח התקין הוא 1 עד 20. ערך ברירת המחדל הוא 3.
  • RUNNING_THREADS_THRESHOLD: במופעים ראשיים, מספר השרשורים הפעילים המינימלי שנחשב מעל הסף. לדוגמה: 10. הערך חייב להיות גדול מ-10 או שווה לו. אם לא מגדירים את הערך, ברירת המחדל מבוססת על גודל המופע. ערך ברירת המחדל הוא MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD: לגבי העתקי קריאה, השהיית השכפול המינימלית בשניות, שנחשבת מעל ערך הסף. הערך חייב להיות גדול מ-0. ערך ברירת המחדל הוא 900.
  • TRANSACTION_DURATION_THRESHOLD: משך הזמן, בשניות, של טרנזקציה לא מחויבת לפני שהמערכת עוקבת אחריה וכוללת אותה ביומן של תיעוד הביצועים. לדוגמה, 300, ‏ 600. הערך המינימלי הוא 60. ערך ברירת המחדל הוא 3600.

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

תוכן בקשת JSON:

{
  "performanceCaptureConfig": {
     "enabled": PERFORMANCE_CAPTURE_ENABLE,
     "probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
     "probeThreshold": PROBE_THRESHOLD,
     "runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
     "secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
     "transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
  },
}

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

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-11-10T22:19:33.735Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

השבתת צילום הביצועים

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

gcloud

gcloud beta sql instances patch INSTANCE_NAME \
  --performance-capture-config="enabled=false"

מחליפים את INSTANCE_NAME בשם המכונה שבה רוצים להשבית את תיעוד הביצועים.

REST v1

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

תוכן בקשת JSON:

{
  "performanceCaptureConfig": {
     "enabled": false
  }
}

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

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "INSERT_TIME",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

תוכן בקשת JSON:

{
  "performanceCaptureConfig": {
     "enabled": 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": "2025-11-10T22:19:33.735Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

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