שיפור הנגישות של משאבים למשימות

במאמר הזה מוסבר על זמינות משאבים ומומלץ איך לשפר את הזמינות כשיוצרים ומריצים משימות Batch.

מהי יכולת השגה?

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

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

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

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

המלצות לשיפור הסיכויים למציאת משרות

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

המלצות לכל אפשרויות הצריכה

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

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

  • מגדילים את מספר המיקומים שמותרים למשאבי Compute Engine של העבודה. זה נכון כברירת מחדל. אלא אם מציינים את השדה allowedLocations[] למשרה, למשאבי Compute Engine של המשרה מותר לפעול בכל תחום במיקום של המשרה.

    מידע נוסף על מיקומים

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

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

המלצות על סמך אפשרות הצריכה

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

אלו האפשרויות לצריכה, מהאפשרות הכי זמינה ועד הכי פחות זמינה:

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

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

      איך יוצרים משימה שמשתמשת בהזמנות

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

      איך יוצרים משימה שמשתמשת בהזמנות ובגמישות של מכונות וירטואליות (גרסת Preview)

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

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

      כאן תלמדו איך ליצור משימה שמשתמשת במודל הקצאת המשאבים הרגיל ובגמישות של מופעים (גרסת Preview).

    • אחרת, או אם הקיבולת לפי דרישה לא זמינה שוב ושוב, כדאי להשתמש במכונות וירטואליות עם הפעלה גמישה. כדי להשתמש באפשרות הצריכה של מכונות וירטואליות עם הפעלה גמישה, מציינים את מודל ההקצאה FLEX_START. מכונות וירטואליות עם Flex-start דורשות שעומס העבודה יוכל לעמוד בזמן המתנה ובמשך הפעלה מוגבל, אבל הן גם מספקות הנחות באמצעות תמחור של Dynamic Workload Scheduler.

      איך יוצרים משימה שמשתמשת במכונות וירטואליות עם הפעלה גמישה

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

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

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

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