בדף הזה מוסבר איך מציינים את מספר ליבות ה-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 הכי מתאימה למשאב שלכם:
- הגדרת תצורת בסיס ראשונית למגבלת מעבד (CPU) שתאזן בין ניצול המעבד לבין העלויות.
- עוקבים אחרי מדדי ניצול ה-CPU ב-Cloud Monitoring בזמן הבדיקה של המערכת בעומס.
- משנים את הגדרות המעבד לפי הצורך.
אם ניצול ה-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 הבאים:
- Cloud Run Developer (
roles/run.developer) במופע Cloud Run - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות השירות
רשימת ההרשאות והתפקידים ב-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
אם אתם יוצרים מכונה חדשה, דלגו על השלב הזה. אם אתם מעדכנים מופע קיים, אתם צריכים להוריד את הגדרות ה-YAML שלו:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
בדוגמה הבאה מופיעה הגדרת ה-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. (ההגדרות הנדרשות מפורטות בטבלה שבקטע הגדרה ועדכון של מגבלות השימוש במעבד).
יוצרים או מעדכנים את המכונה באמצעות הפקודה הבאה:
gcloud beta run instances replace instance.yaml
תרחיש לדוגמה: instance עם 2 vCPU
אם מופע מוגדר עם מגבלה של 2 vCPU:
- פעולה בסיסית: המופע יכול לפעול באופן עקבי ולצרוך עד 0.125 vCPU (6.25% מ-2 vCPU). בזמן הפעולה במסגרת ערך הבסיס הזה, נצברת יתרה של שימוש חורג.
- פרץ מלא: כשעומס העבודה דורש כוח עיבוד נוסף, המופע מתפרץ עד ל-2 vCPU מלאים (100% ניצול), וצורך את תקציב הפרץ שנצבר.
- הגבלת קצב העברת נתונים: כשמגיעים לתקציב של היתרה לשימוש זמני, המהירות של המופע מוגבלת למהירות הבסיס של 0.125 ליבות CPU וירטואליות עד שנוספת יתרה חדשה לשימוש זמני.
צפייה בהגדרות המעבד (CPU) של המכונה
אפשר להשתמש בפקודה gcloud beta run instances describe של Google Cloud CLI כדי לראות את פרטי ההגדרה.