חיפוש נקודות חמות במסד הנתונים

במאמר הזה מוסבר איך להשתמש בלוח הבקרה של תובנות לגבי נקודות חמות כדי לזהות נקודות חמות במסד הנתונים של Spanner.

סקירה כללית של תובנות לגבי נקודות לשיתוף אינטרנט

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

  1. פותחים את מרכז הבקרה.
  2. בודקים אם יש נקודות חמות שדורשות התערבות.
  3. זיהוי פיצולים בעייתיים של טבלאות.

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

תמחור

התובנות לגבי נקודות לשיתוף אינטרנט לא כרוכות בתשלום נוסף.

שמירת נתונים

מדיניות שמירת הנתונים של התרשימים של תובנות לגבי אזורים חמים ושל הטבלה של פיצולי TopN מבוססת על טבלאות הבסיס SPANNER_SYS.SPLIT_STATS_TOP_*. לגבי מדיניות שמירה ספציפית, אפשר לעיין במאמר שמירת נתונים של נתונים סטטיסטיים של פיצול פעיל.

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

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

משתמש בניהול זהויות והרשאות גישה (IAM)

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

כדי לצפות בדף Hotspot insights, נדרשות ההרשאות הבאות בתפקיד Cloud Spanner Database Reader ‏ (roles/spanner.databaseReader):

  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.select
  • spanner.sessions.create

משתמש עם בקרת גישה פרטנית

אם אתם משתמשים בבקרת גישה פרטנית, חשוב לוודא שאתם:

  • צריך להיות לכם Cloud Spanner Viewer (roles/spanner.viewer)
  • יש להם הרשאות בקרת גישה פרטניות, והם קיבלו את spanner_sys_readerתפקיד המערכת או אחד מתפקידי החברים שלו.
  • בדף סקירה כללית של מסד הנתונים, בוחרים את התפקיד הנוכחי במערכת, spanner_sys_reader או תפקיד של חבר.

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

פתיחת מרכז הבקרה Hotspot insights

בלוח הבקרה Hotspot insights מוצג אחוז השימוש המפוצל במעבד בשיא. המדד הזה הוא אחוז מופשט מ-0 עד 100 שמשקף את כמות השימוש במעבד כשניגשים לשורות בפיצול.

כדי לראות את לוח הבקרה Hotspot insights של מסד נתונים:

  1. במסוף Google Cloud , פותחים את הדף Spanner.

    כניסה ל-Spanner

  2. בוחרים מופע מהרשימה.

  3. בתפריט הניווט, לוחצים על הכרטיסייה Hotspot insights.

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

לוח הבקרה כולל את הרכיבים הבאים:

  • תרשים הציון של שיא השימוש במעבד בחלוקה: ציון גבוה יותר של השימוש במעבד (למשל, קרוב ל-100) מצביע על כך שהחלוקה פעילה מאוד וסביר מאוד שהיא גורמת לנקודה לשיתוף אינטרנט (Hotspot) בשרת, בהשוואה לציונים נמוכים יותר.
  • שדה מסד נתונים: מסנן את המידע על פיצולים פעילים במסד נתונים ספציפי או בכל מסדי הנתונים.
  • מסנן טווח הזמן: מסנן את השימוש במעבד לפי חלוקות של שיא השימוש במרווחים של דקה אחת, עד ל-6 שעות בסך הכול.
  • טבלת הפיצולים המובילים (TopN): מציגה את רשימת הפיצולים המובילים שממוינים לפי ציוני השימוש ב-CPU של הפיצול.

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

הסבר על הנתונים בטבלה 'פיצולים של N העליונים': הנתונים בטבלה פיצולים של N העליונים מאוכלסים מתוך טבלאות SPANNER_SYS.SPLIT_STATS_TOP_* הבסיסיות, בהתאם לטווח התאריכים שתבחרו. מידע נוסף זמין במאמר שמירת נתונים סטטיסטיים של חלוקה פעילה.

הסבר על השורות בטבלאות 10MINUTE או HOUR: השורות שמקורן בטבלאות SPANNER_SYS.SPLIT_STATS_TOP_10MINUTE או SPANNER_SYS.SPLIT_STATS_TOP_HOUR מייצגות נתונים מצטברים על פני המרווחים המתאימים. כפי שמתואר במאמר בנושא צבירת אירועים בטבלה, הערך CPU_USAGE_SCORE בשורות האלה הוא הציון המקסימלי שנצפה במרווח משנה של דקה אחת, והערך UNSPLITTABLE_REASONS הוא איחוד של הסיבות.

איך קובעים אם יש נקודות חמות שצריך לטפל בהן

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

כדאי לעיין בתרשים כדי לקבל תשובות לשאלות הבאות:

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

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

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

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

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

זיהוי פיצולים חמים בעייתיים

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

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

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

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

בטבלה מוצגים המאפיינים הבאים:

  • סוף פרק הזמן: התאריך והשעה שבהם מסתיים השימוש הגבוה במעבד (CPU).
  • Split start: מפתח ההתחלה של טווח השורות בפיצול. אם תאריך ההתחלה של הפיצול הוא <begin>, זה מציין את ההתחלה של טווח המפתחות של מסד הנתונים.
  • Split limit: מפתח ההגבלה של טווח השורות בפיצול. אם מפתח ההגבלה הוא <end>, זה מציין את סוף טווח המפתחות של מסד הנתונים.
  • ציון פיצול השימוש במעבד: ציון מופשט בין 0 ל-100 שמשקף את כמות השימוש במעבד על ידי גישה לשורות בפיצול בשרת יחיד. אפשר להשתמש בציון השימוש במעבד כדי להעריך אם יש נקודות חמות.
  • הטבלאות המושפעות: הטבלאות שהשורות שלהן עשויות להיות בפיצול.
  • סיבות שלא ניתן לפצל: מערך של סיבות לכך ש-Spanner לא יכול לפצל עוד יותר פיצול פעיל. הנוכחות של ערכים כאן מציינת שפיצול מבוסס עומס לא יכול לצמצם את נקודת העומס מהסיבות שמפורטות. מידע נוסף זמין במאמר בנושא סוגי UNSPLITTABLE_REASONS.

ניתוח סיבות שלא ניתן לפצל

בטבלה TopN splits אפשר לבצע התעמקות בנתונים כדי לראות אילו פיצולים ספציפיים מושפעים מהסיבות האלה בזמנים מסוימים, כמו שמוצג בעמודה Unsplittable reasons.

דוגמה לתהליך אבחון

זהו תהליך עבודה אופייני לניפוי באגים בנקודות חמות באמצעות לוח הבקרה:

  1. התבוננות בבעיית הביצועים: שימו לב לזמן אחזור ארוך יותר או לשגיאות באפליקציה.
  2. כדי לפתוח את התובנות לגבי נקודת האינטרנט: עוברים אל לוח הבקרה Hotspot insights במסוף Google Cloud של מסד הנתונים הרלוונטי ב-Spanner. בוחרים את טווח הזמן שבו הבעיה התרחשה.
  3. בדיקת הגרף:
    • כדאי לבדוק את התרשים Peak split CPU usage score כדי לראות אם יש ערכים גבוהים לאורך זמן, למשל >50%, במיוחד אם הערכים מתקרבים ל-100% למשך 10 דקות לפחות.
  4. זיהוי הפיצולים המושפעים והשוואת הממצאים: אם השימוש ב-CPU גבוה, עוברים לטבלה TopN splits. מסננים או ממיינים כדי למצוא את הפיצולים עם ציון השימוש הגבוה ביותר במעבד לפיצול במהלך זמן ההשפעה. בודקים את העמודה UNSPLITTABLE_REASONS כדי לראות את הפיצולים המובילים האלה:
    • ציון גבוה של שימוש במעבד (CPU) וסיבות שלא ניתן לפצל: זהו אות חזק לכך שבעיית הביצועים קשורה לנקודות חמות ש-Spanner לא יכול לפתור באופן אוטומטי. סוג הסיבה, למשל HOT_ROW או MOVING_HOT_SPOT, מספק רמז חשוב.
    • ציון גבוה של שימוש במעבד מפוצל ואין סיבות לאי אפשרות פיצול: יכול להיות שהאזור הפעיל חדש, ו-Spanner עדיין בתהליך של פיצול. לחלופין, יכול להיות שהבעיה היא תגובה לשינויים בעומס העבודה, ולא נדרשת פעולה מצדכם.
  5. הבנת הסיבות: שימו לב לקודים הספציפיים במערך UNSPLITTABLE_REASONS.
  6. הפחתת הסיכון: על סמך הסיבות שזוהו, כדאי לעיין בסוגי UNSPLITTABLE_REASONS כדי לקבל הסברים מפורטים ואסטרטגיות מומלצות להפחתת הסיכון. בדרך כלל, האסטרטגיות האלה כוללות שינויים בעיצוב הסכימה או התאמות בעומס העבודה.

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