מדדים של ניצול יחידת העיבוד המרכזית (CPU)

בדף הזה מתוארים מדדי ניצול ה-CPU ש-Spanner מספק. אפשר לראות את המדדים האלה במסוף Google Cloud ובמסוף Cloud Monitoring.

ניצול יחידת העיבוד המרכזית (CPU) ועדיפות המשימה

ב-Spanner, השימוש ב-CPU נמדד על סמך המקור ורמת העדיפות של המשימה.

  • מקור: משימה יכולה להתחיל על ידי המשתמש או על ידי המערכת.

  • עדיפות: העדיפות עוזרת ל-Spanner לקבוע אילו משימות צריך להריץ קודם. העדיפות של משימות מערכת נקבעת מראש ואי אפשר להגדיר אותה. המשימות של המשתמש מופעלות בעדיפות גבוהה, אלא אם צוין אחרת. בבקשות רבות לנתונים, כמו read ו-executeSql, אפשר לציין עדיפות נמוכה יותר לבקשה. האפשרות הזו שימושית, למשל, כשמריצים שאילתות של אצווה, תחזוקה או ניתוח שלא כוללות הסכמי רמת שירות (SLO) מחמירים לגבי ביצועים.

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

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

בטבלה הבאה מוצגות דוגמאות לכל משימה:

משימות למשתמשים משימות מערכת
עדיפות גבוהה כולל בקשות לנתונים, כמו read או executeSql, שבהן לא צוינה עדיפות או שצוינה העדיפות PRIORITY_HIGH. כולל פיצול נתונים.
עדיפות בינונית היא כוללת:
  • בקשות לנתונים שבהן צוין הערך PRIORITY_MEDIUM.
  • פעולות קריאה וכתיבה שבוצעו מעבודות Dataflow, כולל ייבוא וייצוא.
היא כוללת:
עדיפות נמוכה כולל בקשות לנתונים שבהן מצוין הערך PRIORITY_LOW. היא כוללת:

מדדים זמינים

ב-Spanner מוצגים המדדים הבאים לניצול המעבד:

  • שימוש ממוצע במעבד: ממוצע נע של סה"כ השימוש במעבד, כאחוז מקיבולת המעבד של המופע, לכל מסד נתונים. כל נקודה על הגרף מייצגת את הממוצע של 24 השעות האחרונות. אפשר להשתמש במדד הזה כדי ליצור התראות ולנתח את השימוש במעבד לאורך זמן, למשל 24 שעות. אפשר לראות תרשים של המדד הזה במסוף Google Cloud או במסוף Cloud Monitoring בתור ממוצע נע ל-24 שעות.

  • ניצול ה-CPU לפי עדיפות: ניצול ה-CPU כאחוז מקיבולת ה-CPU של המופע, מקובץ לפי עדיפות, משימות ביוזמת המשתמש ומשימות ביוזמת המערכת. אפשר להשתמש במדד הזה כדי ליצור התראות ולנתח את השימוש במעבד ברמה גבוהה. אפשר לראות תרשים של המדד הזה במסוף Google Cloud או במסוף Cloud Monitoring.

  • ניצול יחידת העיבוד המרכזית (CPU) לפי סוג פעולה: ניצול יחידת העיבוד המרכזית (CPU) באחוזים מקיבולת יחידת העיבוד המרכזית של המכונה, מקובץ לפי פעולות שהמשתמש יזם, כמו קריאות, כתיבות והתחייבויות. אפשר להשתמש במדד הזה כדי לקבל פירוט של השימוש במעבד (CPU) ולפתור בעיות נוספות, כמו שמוסבר במאמר בדיקת ניצול גבוה של המעבד. אפשר ליצור תרשים למדד הזה במסוף Cloud Monitoring.

    אפשר גם להשתמש במסוף Cloud Monitoring כדי ליצור התראות על השימוש במעבד, כמו שמתואר בהמשך.

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

מדד מקסימום למופעים אזוריים מקסימום לכל אזור עבור מכונות בשני אזורים ובמספר אזורים
סך הכול בעדיפות גבוהה ‪65% 45%
ממוצע מצטבר של 24 שעות 90% 90%

כדי לעזור לכם לשמור על רמות שימוש מתחת למקסימום המומלץ, כדאי ליצור התראות ב-Cloud Monitoring שיעקבו אחרי ניצול המעבד בעדיפות גבוהה ואחרי ניצול המעבד הממוצע במשך 24 שעות.

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

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

ניצול המעבד (CPU) מעל 100%

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

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

קיבולת מעבד מעל 100% לא מובטחת, ולא מומלץ להסתמך עליה לפעולות רגילות במסד הנתונים.

הפעלת מופע של Spanner קרוב ל-100% ניצול מעבד או מעל 100% ניצול מעבד למשך זמן ממושך עלולה לפגוע בביצועים של פעולה רגילה ובזמן האחזור.

הלקוחות לא מחויבים על השימוש הנוסף במעבד.

הפחתת ניצול המעבד

בקטע הזה מוסבר איך להקטין את ניצול המעבד (CPU) של מופע.

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

הגדלת קיבולת החישוב

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

כדי לקבוע כמה קיבולת מחשוב אתם צריכים, כדאי לבדוק את השיא של ניצול המעבד בעדיפות גבוהה, וגם את הממוצע המוחלק ל-24 שעות. תמיד צריך להקצות מספיק קיבולת חישוב כדי שרמת השימוש במעבד תהיה מתחת למקסימום המומלץ. כמו שצוין קודם, יכול להיות שתצטרכו להקצות קיבולת חישוב נוספת לאפליקציות שרגישות לביצועים (לדוגמה, כדי להתמודד עם עליות פתאומיות בעומס העבודה).

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

חקירה נוספת באמצעות כלי בדיקה עצמית

אם מדד ניצול המעבד (CPU) לפי סוג פעולה מציין שסוג פעולה מסוים תורם לניצול גבוה של המעבד, אפשר להשתמש בכלי הבדיקה של Spanner כדי לפתור את הבעיה. מידע נוסף מופיע במאמר בנושא בדיקת ניצול גבוה של CPU.

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