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

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

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

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

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

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

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

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

ניתוח של ירידה בביצועים של שאילתות

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

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

איך בודקים את פרק הזמן מחשיפה להמרה

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

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

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

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

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

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

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

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