סקירה כללית של תיעוד הביצועים ב-Cloud SQL

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

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

תרחישים לדוגמה

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

אבחון של מסד נתונים שנתקע

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

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

ניתוח של ירידה באיכות השאילתות

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

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

בדיקת פרק הזמן מחשיפה להמרה

בעיה: רפליקת קריאה מפגרת משמעותית אחרי המקור שלה.

דוגמה לשימוש: אתם מגדירים ערך גבוה של סף טריגר ל-secondsBehindSourceThreshold. אפשר לבדוק את יומן תיעוד הביצועים כדי לזהות את ה-GTID הספציפי שגורם לעיכוב.

ניהול של עסקאות ממושכות

בעיה: משימה באצווה או שאילתת משתמש פועלות למשך זמן ממושך מדי, ונועלות את המערכת.

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

איך נתוני הביצועים מתועדים

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

  1. הסוכן בודק את הגדרת מסד הנתונים כדי לקרוא את הטריגרים שהגדרתם. הסוכן בודק את המדדים של מסד הנתונים במרווח זמן שניתן להגדרה, שמוגדר כברירת מחדל ל-30 שניות.

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

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

  4. המידע שנאסף מעוצב כרשומות ביומן ונשלח ישירות אל Cloud Logging של הפרויקט עבור מכונת Cloud SQL, במסגרת זרם יומן ספציפי בשם mysql-performance-capture.log.

טריגרים שניתנים להגדרה

אתם יכולים להגדיר את הטריגרים הבאים לתיעוד הביצועים:

  • runningThreadsThreshold: מופעל כשמספר השרשורים הפעילים שפועלים במופע ראשי חורג מהערך שצוין. לדוגמה, אפשר להגדיר את הסף להפעלת תיעוד הביצועים אם מספר השרשורים הפעילים שפועלים גבוה מ-100.

  • secondsBehindSourceThreshold: טריגרים לשכפולים כשההשהיה בשכפול חורגת ממספר השניות שצוין. לדוגמה, אפשר להגדיר את סף ההפעלה של לכידת הביצועים אם השהיית העותק לקריאה היא יותר מ-300 שניות.

  • transactionDurationThreshold: מפעיל רישום ביומן של טרנזקציות בודדות שפועלות יותר מהמשך שצוין. לדוגמה, אפשר להגדיר את הטריגר כך שיתעד כל עסקה בודדת שפועלת יותר מ-10 דקות.

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

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

תמחור

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

מידע נוסף על התמחור של אחסון יומנים ב-Logging זמין במאמר בנושא תמחור.

מגבלות

  • כדי להשתמש בתיעוד הביצועים, צריך להפעיל את התכונה 'תובנות לגבי שאילתות'. אם משביתים את התובנות לגבי שאילתות, משביתים גם את תיעוד הביצועים.
  • התכונה 'תיעוד ביצועים' זמינה רק ב-Cloud SQL ל-MySQL 5.7 ואילך.

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