הגדרת מגבלות על יחידת עיבוד מרכזית (CPU) למופעים

בדף הזה מוסבר איך מציינים את מספר ליבות ה-CPU הווירטואליות שבהן רוצים להשתמש בכל מופע של Cloud Run. כברירת מחדל, מופעלת הגבלה של 2 ליבות וירטואליות (vCPU) על מופעי קונטיינרים ב-Cloud Run. אפשר להגדיל או להקטין את הערך הזה כמו שמתואר בדף הזה.

הגדרת מגבלות vCPU ועדכון שלהן

כברירת מחדל, כל מופע מוגדר ל-2 vCPU ול-2 GiB לזיכרון. אפשר לשנות את הערך הזה לכל אחד מהערכים שמופיעים בטבלה הבאה.

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

טבלה של vCPU וזיכרון

אלה דרישות הזיכרון ל-vCPU:

מעבדים (CPU) הזיכרון הנדרש
‫1 vCPU ‫512MiB עד 4GiB
‫2 vCPU ‫512MiB עד 8GiB
‫4 vCPU ‫2GiB עד 16GiB
‫6 vCPU ‫4 עד 24GiB
‫8 vCPU ‫4 עד 32 GiB

ערכים שגדולים מ-1 חייבים להיות מספרים שלמים.

כמות מקסימלית של vCPU

הכמות המקסימלית של vCPU שאפשר להגדיר היא 8 vCPU.

מספר ליבות vCPU מינימלי

מספר המעבדים הווירטואליים (vCPU) המינימלי למופע הוא 1. אפשר להגדיר לכל קונטיינר שבריר של CPU, אבל הסכום של כל הקונטיינרים במופע צריך להיות גדול מ-1 vCPU או שווה לו.

שיקולי עלות

העלות של משאב Cloud Run מושפעת, בין היתר, מהגדרת ה-CPU שלו ומהמשך הפעילות של המשאב. הקצאת יתר של משאבים עלולה להגדיל את העלויות. כדי לקבוע איזו הגדרת CPU הכי מתאימה למשאב שלכם:

  1. הגדרת תצורת בסיס ראשונית למגבלת מעבד (CPU) שתאזן בין ניצול המעבד לבין העלויות.
  2. עוקבים אחרי מדדי ניצול ה-CPU ב-Cloud Monitoring בזמן הבדיקה של המערכת בעומס.
  3. משנים את הגדרות המעבד לפי הצורך.

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

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

תוספת שימוש חריג במעבדים וויסות נתונים (throttle)

מכונות Cloud Run משתמשות במודל הקצאת מעבד משותף עם מכסות בסיסיות ויכולת של שימוש חורג, שמנוהל באופן דומה להקצאה של מתזמן Linux‏ cgroup.

כשמגדירים מגבלות של vCPU למופע Cloud Run, התנהגות ה-CPU מורכבת מהמנגנונים הבאים:

  • מכסת בסיס: לכל מופע מוקצה בסיס רציף של 6.25% (1/16) לכל מעבד וירטואלי מוגדר. אתם יכולים להריץ את המופע במסגרת הבסיס הזו ללא הגבלת זמן.
  • קיבולת פרץ: כשהמופע פועל מתחת לקיבולת הבסיסית שלו, הוא צובר באופן רציף זמן CPU שלא נעשה בו שימוש, עד לתקציב של 500 שניות. כשעומס העבודה מפעיל משימות שדורשות הרבה חישובים, המופע מתפרץ אוטומטית עד 100% מהקצאת ה-vCPU שהוגדרה לו, עד שמאזן ההתפרצות המצטבר שלו מתרוקן.
  • הגבלת קצב העברת נתונים: אחרי שיתרת הניצול המקסימלית מתרוקנת במהלך ניצול גבוה של CPU, המכונה המופעלת מוגבלת בחזרה למכסת הבסיס שלה (6.25% לכל CPU וירטואלי מוגדר) עד שיתרת הניצול המקסימלית מתחדשת.
  • חידוש: התקציב של השימוש המוגבר מתחדש בכל פעם שהשימוש במעבד יורד מתחת ל-6.25% (ערך הבסיס).

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

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

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מופע Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח של Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרת מגבלות על יחידת העיבוד המרכזית (CPU)

אפשר להגדיר מגבלות לשימוש במעבד (CPU) עבור מופע של Cloud Run באמצעות Google Cloud CLI או YAML:

gcloud

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

gcloud beta run instances update INSTANCE --cpu CPU

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE: השם של המכונה.
  • CPU: מגבלת ה-CPU. מציינים את הערך 1, 2, 4, 6 או 8 יחידות CPU, בהתאם לדרישות שמופיעות בטבלה CPU וזיכרון.

אפשר גם להגדיר את המעבד במהלך הפריסה באמצעות הפקודה:

gcloud beta run instances deploy --image IMAGE_URL --cpu CPU

מחליפים את מה שכתוב בשדות הבאים:

  • IMAGE_URL: הפניה לתמונת המאגר, כמו us-docker.pkg.dev/cloudrun/container/hello:latest.
  • CPU: הערך 1,‏ 2,‏ 4,‏ 6 או 8 יחידות CPU, בהתאם לדרישות שמופיעות בטבלה CPU וזיכרון.

YAML

  1. אם אתם יוצרים מכונה חדשה, דלגו על השלב הזה. אם אתם מעדכנים מופע קיים, אתם צריכים להוריד את הגדרות ה-YAML שלו:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. בדוגמה הבאה מופיעה הגדרת ה-YAML:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
    image: IMAGE_URL
      resources:
        limits:
          cpu: `CPU`

    מחליפים את מה שכתוב בשדות הבאים:

    • INSTANCE: השם של מופע Cloud Run.
    • IMAGE_URL: הפניה לתמונת המאגר, כמו us-docker.pkg.dev/cloudrun/container/hello:latest.
    • CPU: ערך המגבלה של יחידת העיבוד המרכזית (CPU). מציינים את הערך 1, 2, 4, 6 או 8 מעבדים, או אם רוצים לציין פחות ממעבד אחד, מציינים ערך מ-0.08 עד פחות מ-1.00, במרווחים של 0.01. (ההגדרות הנדרשות מפורטות בטבלה שבקטע הגדרה ועדכון של מגבלות השימוש במעבד).
  3. יוצרים או מעדכנים את המכונה באמצעות הפקודה הבאה:

    gcloud beta run instances replace instance.yaml

תרחיש לדוגמה: instance עם 2 vCPU

אם מופע מוגדר עם מגבלה של 2 vCPU:

  1. פעולה בסיסית: המופע יכול לפעול באופן עקבי ולצרוך עד 0.125 vCPU (6.25% מ-2 vCPU). בזמן הפעולה במסגרת ערך הבסיס הזה, נצברת יתרה של שימוש חורג.
  2. פרץ מלא: כשעומס העבודה דורש כוח עיבוד נוסף, המופע מתפרץ עד ל-2 vCPU מלאים (100% ניצול), וצורך את תקציב הפרץ שנצבר.
  3. הגבלת קצב העברת נתונים: כשמגיעים לתקציב של היתרה לשימוש זמני, המהירות של המופע מוגבלת למהירות הבסיס של 0.125 ליבות CPU וירטואליות עד שנוספת יתרה חדשה לשימוש זמני.

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

אפשר להשתמש בפקודה gcloud beta run instances describe של Google Cloud CLI כדי לראות את פרטי ההגדרה.