בדף הזה מתוארים מדדי ניצול ה-CPU ש-Spanner מספק. אפשר לראות את המדדים האלה במסוף Google Cloud ובמסוף Cloud Monitoring.
ניצול יחידת העיבוד המרכזית (CPU) ועדיפות המשימה
ב-Spanner, השימוש ב-CPU נמדד על סמך המקור ורמת העדיפות של המשימה.
מקור: משימה יכולה להתחיל על ידי המשתמש או על ידי המערכת.
עדיפות: העדיפות עוזרת ל-Spanner לקבוע אילו משימות צריך להריץ קודם. העדיפות של משימות מערכת נקבעת מראש ואי אפשר להגדיר אותה. המשימות של המשתמש מופעלות בעדיפות גבוהה, אלא אם צוין אחרת. בבקשות רבות לנתונים, כמו read ו-executeSql, אפשר לציין עדיפות נמוכה יותר לבקשה. האפשרות הזו שימושית, למשל, כשמריצים שאילתות של אצווה, תחזוקה או ניתוח שלא כוללות הסכמי רמת שירות (SLO) מחמירים לגבי ביצועים.
באופן כללי, משימות עם עדיפות גבוהה יבוצעו לפני משימות עם עדיפות נמוכה. ב-Spanner, משימות בעדיפות גבוהה יכולות להשתמש ב-100% ממשאבי ה-CPU הזמינים, גם אם יש משימות מתחרות בעדיפות נמוכה יותר. משימות מערכת בעדיפות נמוכה יותר יכולות להידחות לטווח הקצר, אבל הן חייבות לפעול בסופו של דבר. לכן, צריך להקצות למכונה קיבולת מחשוב מספקת כדי שהיא תוכל לטפל בכל המשימות.
אם אין משימות בעדיפות גבוהה, Spanner ישתמש בעד 100% ממשאבי ה-CPU הזמינים כדי להשלים משימות בעדיפות נמוכה יותר מהר יותר. עליות חדות בשימוש ברקע לא מעידות על בעיה. משימות בעדיפות נמוכה יכולות לפנות את מקומן למשימות בעדיפות גבוהה יותר, כולל משימות של משתמשים, כמעט באופן מיידי.
בטבלה הבאה מוצגות דוגמאות לכל משימה:
| משימות למשתמשים | משימות מערכת | |
|---|---|---|
| עדיפות גבוהה | כולל בקשות לנתונים, כמו read או executeSql, שבהן לא צוינה עדיפות או שצוינה העדיפות PRIORITY_HIGH. | כולל פיצול נתונים. |
| עדיפות בינונית |
החבילה כוללת:
|
החבילה כוללת:
|
| עדיפות נמוכה | כולל בקשות לנתונים שבהן מצוין הערך PRIORITY_LOW. |
החבילה כוללת:
|
מדדים זמינים
ב-Spanner מוצגים המדדים הבאים לניצול המעבד:
החלקת השימוש במעבד: ממוצע נע של סך השימוש במעבד, כאחוז ממשאבי המעבד של המופע, לכל מסד נתונים. כל נקודה על הגרף מייצגת את הממוצע של 24 השעות האחרונות. אפשר להשתמש במדד הזה כדי ליצור התראות ולנתח את השימוש במעבד לאורך זמן, למשל 24 שעות. אפשר לראות תרשים של המדד הזה במסוף Google Cloud או במסוף Cloud Monitoring בתור ממוצע נע ל-24 שעות.
ניצול המעבד לפי עדיפות: ניצול המעבד, כאחוז ממשאבי המעבד של המופע, מקובץ לפי עדיפות, משימות שהמשתמש יזם ומשימות שהמערכת יזמה. אפשר להשתמש במדד הזה כדי ליצור התראות ולנתח את השימוש במעבד ברמה גבוהה. אפשר לראות תרשים של המדד הזה במסוף Google Cloud או במסוף Cloud Monitoring.
ניצול יחידת העיבוד המרכזית (CPU) לפי סוג הפעולה: ניצול יחידת העיבוד המרכזית (CPU) באחוזים ממשאבי יחידת העיבוד המרכזית (CPU) של המכונה, מקובץ לפי פעולות שהמשתמש יזם, כמו קריאות, כתיבות והתחייבויות. אפשר להשתמש במדד הזה כדי לקבל פירוט של השימוש במעבד (CPU) ולפתור בעיות נוספות, כמו שמוסבר במאמר בדיקת ניצול גבוה של המעבד. אפשר ליצור תרשים למדד הזה במסוף Cloud Monitoring.
אפשר גם להשתמש במסוף Cloud Monitoring כדי ליצור התראות על השימוש במעבד, כמו שמתואר בהמשך.
התראות על ניצול גבוה של המעבד
בטבלה הבאה מפורטות ההמלצות שלנו לשימוש מקסימלי במעבד עבור מכונות אזוריות, מכונות בשני אזורים ומכונות במספר אזורים. המספרים האלה נועדו להבטיח שלמופע יהיה מספיק קיבולת מחשוב כדי להמשיך לשרת את התנועה במקרה של אובדן של אזור שלם (במופעים אזוריים) או של אזור שלם (במופעים של שני אזורים או של כמה אזורים).
| מדד | מקסימום למופעים אזוריים | מקסימום לכל אזור במקרים של מכונות וירטואליות בשני אזורים ובמספר אזורים |
|---|---|---|
| סך הכול בעדיפות גבוהה | 65% | 45% |
| ממוצע מצטבר של 24 שעות | 90% | 90% |
כדי לעזור לכם להישאר מתחת למקסימום המומלץ, כדאי ליצור התראות ב-Cloud Monitoring שיעקבו אחרי ניצול גבוה של מעבד בעדיפות גבוהה ואחרי ניצול המעבד הממוצע במשך 24 שעות.
ניצול ה-CPU יכול להשפיע על זמני האחזור של הבקשות. עומס יתר על שרת קצה עורפי ספציפי יגרום לזמני אחזור ארוכים יותר של בקשות. אפליקציות צריכות להריץ נקודות השוואה ומעקב פעיל כדי לוודא ש-Spanner עומד בדרישות הביצועים שלהן.
לכן, באפליקציות שבהן הביצועים חשובים במיוחד, יכול להיות שתצטרכו להפחית עוד יותר את השימוש במעבד באמצעות הטכניקות שמתוארות בקטע הבא.
ניצול המעבד (CPU) מעל 100%
במקרים מסוימים, ניצול המעבד של מופע Spanner עשוי להגיע ליותר מ-100%. המשמעות היא שהמופע משתמש ביותר משאבי CPU מהכמות שהוגדרה עבור המופע.
יכול להיות שייעשה שימוש במשאבי מעבד מעל 100% כדי לספק ביצועים טובים וצפויים יותר במהלך עליות חדות בשימוש במעבד, למשל, עקב עלייה פתאומית בתנועת הבקשות.
אין ערובה לקיבולת מעבד מעל 100%, ולא מומלץ להסתמך עליה לפעולות רגילות במסד הנתונים.
הפעלת מופע של Spanner קרוב ל-100% ניצול מעבד או מעל 100% ניצול מעבד למשך תקופה ממושכת עלולה לפגוע בביצועים של הפעולה הרגילה ובזמן האחזור. אי אפשר להסתמך על משאבי CPU נוספים כמנגנון בטוח לביצועים עקביים.
הלקוחות לא מחויבים על השימוש הנוסף במעבד.
הפחתת ניצול המעבד
בקטע הזה מוסבר איך להקטין את ניצול המעבד (CPU) של מופע.
באופן כללי, מומלץ להגדיל את קיבולת המחשוב של המופע כנקודת התחלה. אחרי שמגדילים את קיבולת המחשוב, אפשר לבדוק את הסיבות הבסיסיות לניצול גבוה של המעבד ולטפל בהן.
הגדלת קיבולת המחשוב
אם חרגתם מהערכים המקסימליים המומלצים לניצול CPU, מומלץ מאוד להגדיל את קיבולת המחשוב של המופע כדי שהוא יוכל להמשיך לפעול בצורה יעילה. כדי לבצע את התהליך הזה אוטומטית, אפשר ליצור אפליקציה שעוקבת אחרי ניצול המעבד, ואז מגדילה או מקטינה את קיבולת החישוב לפי הצורך, באמצעות השיטה UpdateInstance.
כדי לקבוע כמה קיבולת מחשוב אתם צריכים, כדאי לבדוק את שיא ניצול המעבד בעדיפות גבוהה, וגם את הממוצע המוחלק ל-24 שעות. תמיד צריך להקצות מספיק קיבולת חישוב כדי שרמת השימוש במעבד תהיה מתחת למקסימום המומלץ. כמו שצוין קודם, יכול להיות שתצטרכו להקצות קיבולת חישוב נוספת לאפליקציות שרגישות לביצועים (לדוגמה, כדי להתמודד עם עליות פתאומיות בעומס העבודה).
אם אין לכם מספיק קיבולת חישוב, Spanner דוחה משימות לפי רמת העדיפות. אפשר לדחות משימות מערכת בעדיפות נמוכה, כמו דחיסת מסד נתונים ואימות שינוי סכימה, לטובת משימות משתמש. עם זאת, המשימות האלה חיוניות לתקינות של המופע, ומערכת Spanner לא יכולה לדחות אותן ללא הגבלת זמן. אם Spanner לא יכול להשלים את משימות המערכת בעדיפות נמוכה בתוך חלון זמן מסוים – בסדר גודל של כמה שעות עד יום – בגלל מחסור במשאבי מחשוב, יכול להיות ש-Spanner יעלה את העדיפות של משימות המערכת. השינוי הזה משפיע על הביצועים של משימות המשתמשים.
חקירה נוספת באמצעות כלי בדיקה עצמית
אם מדד השימוש ב-CPU לפי סוג פעולה מציין שסוג פעולה מסוים תורם לשימוש גבוה ב-CPU, אפשר להשתמש בכלי הבדיקה של Spanner כדי לפתור את הבעיה. מידע נוסף מופיע במאמר בנושא בדיקת ניצול גבוה של CPU.
המאמרים הבאים
- אפשר לעקוב אחרי המופע באמצעות מסוףGoogle Cloud או מסוף Cloud Monitoring.
- יצירת התראות לגבי ניצול יחידת העיבוד המרכזית (CPU) ב-Spanner.
- איך משנים את קיבולת החישוב של מופע Spanner.
כדי ללמוד איך לפתור בעיות שקשורות לשימוש גבוה ב-CPU שנגרם על ידי סוג פעולה מסוים, אפשר לעיין במאמר בדיקת ניצול גבוה של CPU.