הגדרות בו-זמניות ב-Cloud Run מאפשרות לכם להגדיר את המספר המקסימלי של בקשות בו-זמניות שמופע יחיד מעבד. התאמה של הערך הזה עוזרת לאזן את קצב העברת הבקשות, לנהל את השימוש בזיכרון ולבצע אופטימיזציה של העלויות.
כדי להבין איך בו-זמניות (concurrency) משפיעה על התאמה אוטומטית לעומס (automatic scaling) ועל התנהגות המכונות, אפשר לעיין במאמר מידע על בו-זמניות (concurrency).
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרה ולפריסה של שירותי Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- Cloud Run Developer (
roles/run.developer) בשירות Cloud Run - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות השירות
אם אתם פורסים שירות או פונקציה מקוד מקור, אתם צריכים גם לקבל תפקידים נוספים בפרויקט ובחשבון השירות של Cloud Build.
רשימה של תפקידים והרשאות ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם שירות Cloud Run שלכם מתקשר עםCloud de Confiance ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על הקצאת תפקידים זמין במאמרים הרשאות פריסה וניהול הגישה.
הגדרת המספר המקסימלי של בקשות מקבילות לכל מכונה
כל שינוי בהגדרות יוצר גרסה חדשה. גם גרסאות עתידיות יקבלו באופן אוטומטי את הגדרת התצורה הזו, אלא אם תבצעו עדכונים מפורשים כדי לשנות אותה.
בשירותי Cloud Run, אתם יכולים להגדיר את המספר המקסימלי של בקשות מקבילות לכל מכונה באמצעות מסוף Cloud de Confiance , שורת הפקודה של gcloud או קובץ .yaml כשאתם יוצרים שירות חדש או פורסים גרסה חדשה:
המסוף
נכנסים ל-Cloud Run במסוף Cloud de Confiance by S3NS :
בתפריט הניווט של Cloud Run, בוחרים באפשרות Services ולוחצים על Deploy container כדי להגדיר שירות חדש. אם אתם מגדירים שירות קיים, לוחצים על השירות.
אם אתם מגדירים שירות חדש, ממלאים את הדף של הגדרות השירות הראשוניות ואז לוחצים על Containers, Networking, Security (מאגרי נתונים, רשתות, אבטחה) כדי להרחיב את דף הגדרת השירות.
אם אתם מגדירים שירות קיים, לוחצים על הכרטיסייה Scaling.
בקטע Requests, מציינים את המספר המקסימלי של מכונות קונטיינר בשדה Maximum concurrent requests per instance.
לוחצים על יצירה כדי ליצור שירות חדש. לוחצים על View diff & redeploy ואז על Deploy changes בשירות קיים.
gcloud
כדי להגדיר את המספר המקסימלי של בקשות מקבילות לכל מכונה, משתמשים בפקודה הבאה:
gcloud run services update SERVICE --concurrency CONCURRENCY
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE: שם השירות.
CONCURRENCY: המספר המקסימלי של בקשות מקבילות לכל מופע. לדוגמה, הקוד הבא מגדיר מקסימום של בקשה אחת בו-זמנית:
gcloud run services update SERVICE --concurrency 1
שינוי המספר המקסימלי של בקשות מקבילות לכל מופע של שירות נתון יתעד את ההגדרה הזו בגרסה חדשה.
כדי לחזור למספר ברירת המחדל של בקשות מקבילות לכל מכונה (80), משתמשים בפקודה הבאה:
gcloud run services update SERVICE --concurrency default
מחליפים את SERVICE בשם של השירות שאתם מגדירים.
YAML
אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, הורידו את הגדרת ה-YAML שלו:
gcloud run services describe SERVICE --format export > service.yaml
מעדכנים את המאפיין
containerConcurrency:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containerConcurrency: CONCURRENCY
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE: השם של שירות Cloud Run
-
IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר, לדוגמהus-docker.pkg.dev/cloudrun/container/hello:latest. אם אתם משתמשים ב-Artifact Registry, המאגר REPO_NAME כבר צריך להיות קיים. הפורמט של כתובת ה-URL הואLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - CONCURRENCY: המספר המקסימלי של בקשות מקבילות לכל מכונה.
-
REVISION: שם גרסה חדש או מחיקה של השם (אם הוא קיים). אם מספקים שם חדש לגרסה, חובה שהוא יעמוד בקריטריונים הבאים:- מתחיל ב-
SERVICE- - מכיל רק אותיות קטנות, מספרים ו-
- - לא מסתיים ב-
- - לא חורג מ-63 תווים
- מתחיל ב-
יוצרים או מעדכנים את השירות באמצעות הפקודה הבאה:
gcloud run services replace service.yaml
אם קיים קובץ
service.yaml, הפקודהgcloud run services replaceמשתמשת בו כברירת מחדל.
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים את הקוד הבא למשאבgoogle_cloud_run_v2_service בתצורה של Terraform:מחליפים את 80 במספר המקסימלי הרצוי של בקשות מקבילות.
הצגת הגדרות של שימוש בו-זמני
כדי לראות את ההגדרות הנוכחיות של מספר הבקשות בו-זמנית בשירות Cloud Run:
המסוף
נכנסים לדף Services של Cloud Run במסוף Cloud de Confiance by S3NS :
לוחצים על השירות הרצוי כדי לפתוח את הדף Service details.
לוחצים על הכרטיסייה שינוי גודל כדי לראות את ההגדרות.
gcloud
משתמשים בפקודה הבאה:
gcloud run services describe SERVICE
מחפשים את הגדרת הבו-זמניות בתצורה שמוחזרת.