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

הלכידה של נתוני הביצועים מאפשרת לכם לאבחן בעיות זמניות במסד הנתונים. כדי לעשות זאת, המערכת לוכדת מדדים מפורטים של המופע כשהביצועים ירודים. כדי להשתמש בתיעוד הביצועים, צריך להפעיל אותו במופע ולהגדיר את ערכי הסף שמפעילים את הצילומים המפורטים של המופע ב-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"
}

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