ב-Google Cloud יש מכסות שנועדו להגביל את כמות השימוש הספציפית במשאב Google Cloud מסוים. כל מכסה מתייחסת למשאב ספציפי שאפשר לכמת, כמו קריאות ל-API בשירות מסוים, מספר הבייטים שנשלחים לשירות מסוים או מספר החיבורים להזרמת נתונים שאפשר להשתמש בהם בו-זמנית בפרויקט.
בשירותים רבים יש מגבלות נוספות שלא קשורות למערכת המכסות. מדובר במגבלות קבועות, כמו גודל מקסימלי להודעות או מספר משאבי Pub/Sub שאפשר ליצור בפרויקט, ואי אפשר להגדיל או להקטין אותן.
הצגה וניהול של מכסות
בלוח הבקרה של מכסות IAM ואדמין אפשר לראות את מגבלות המכסות והשימוש הנוכחי בפרויקט נתון. אתם יכולים גם להשתמש בלוח הבקרה הזה כדי:
- הקטנת המגבלות במכסות
- איך מתחילים תהליך להגשת בקשה להגדלת המכסות
מידע נוסף על מעקב אחרי השימוש במכסות וקבלת התראות זמין במאמר מעקב.
שיוך של ניצול המכסה
במקרה של תפוקת מנויי דחיפה, השימוש במכסה מחויב בפרויקט שמכיל את מינוי הדחיפה. זה הפרויקט שמופיע בשם המינוי.
בכל שאר המכסות, השימוש מחויב בפרויקט שמשויך לפרטי הכניסה שצוינו בבקשה. השימוש במכסה לא מחויב בפרויקט שמכיל את המשאב המבוקש.
לדוגמה: אם חשבון שירות בפרויקט א' שולח בקשת פרסום כדי לפרסם בנושא בפרויקט ב', המכסה מחויבת לפרויקט א'.
במקרים מסוימים, יכול להיות שתרצו שהשימוש במכסה יחויב בפרויקט אחר. אפשר להשתמש בפרמטר המערכת X-Goog-User-Project כדי לשנות את הפרויקט לשיוך מכסת השימוש. מידע נוסף על X-Goog-User-Project זמין במאמר בנושא פרמטרים של המערכת.
אתם יכולים להשתמש ב-CLI של gcloud כדי להגדיר את הפרויקט לשיוך מכסה לבקשה ספציפית. ה-CLI של gcloud שולח את כותרת הבקשה X-Goog-User-Project.
צריך להיות לכם תפקיד roles/serviceusage.serviceUsageConsumer או תפקיד בהתאמה אישית עם ההרשאה serviceusage.services.use בפרויקט שבו אתם רוצים להשתמש לשיוך מכסות.
בדוגמה הבאה מוצגות הפעולות שצריך לבצע כדי לקבל רשימה של מינויים בפרויקט RESOURCE_PROJECT, תוך חיוב של מכסת הפעולות של האדמין בפרויקט QUOTA_PROJECT. מריצים את הפקודה הבאה בטרמינל של Google Cloud CLI:
gcloud pubsub subscriptions list --project=
RESOURCE_PROJECT --billing-project=
QUOTA_PROJECT
מחליפים את QUOTA_PROJECT במזהה הפרויקט שרוצים לחייב בו את המכסה. Google Cloud
שימו לב: ב-Pub/Sub, הפרויקט שמחויב הוא תמיד הפרויקט שמכיל את המשאב. אפשר לשנות את הפרויקט רק לצורך שיוך מכסות.
מכסות Pub/Sub
אפשר לראות את המכסות שמפורטות בטבלה הבאה ולערוך אותן לפי פרויקט במרכז הבקרה של מכסות ממשקי ה-API והשירותים.
המכסות האזוריות מחולקות ל-3 סוגים:
- אזורים גדולים:
europe-west1, europe-west4, us-central1,us-east1, us-east4, us-west1, us-west2 - אזורים בינוניים:
asia-east1,asia-northeast1,asia-southeast1,europe-west2,europe-west3 - אזורים קטנים: כל האזורים האחרים
מכסות של משלוח בדיוק פעם אחת הן ספציפיות לאזור. פרטים על כל אזור מופיעים בטבלה הבאה.
| מכסה | מגבלת מכסה שמוגדרת כברירת מחדל | תיאור |
|---|---|---|
| התפוקה של בעל התוכן הדיגיטלי לפי אזור |
|
השימוש במכסה מבוסס על הגודל של
אפשר לכלול כמה הודעות בבקשת פרסום אחת, ואין חיוב נוסף על מכסה לכל הודעה. הגודל של ההודעה, כפי שמחושב למטרות שימוש במכסה, כולל גם את השדה |
| קצב העברת נתונים של מנויי שליפה בכל אזור |
|
השימוש במכסה מבוסס על הגודל של
הגודל של ההודעה, כפי שמחושב למטרות שימוש במכסה, כולל גם את השדה |
| קצב העברת הנתונים של מאשרים בכל אזור |
|
השימוש במכסה מבוסס על הגודל של בקשות
|
| קצב העברת הנתונים של הרשמות ל-Push לכל אזור |
|
בבקשות למשלוח בדחיפה שנשלחות לנקודת הקצה של הדחיפה, השימוש במכסה מבוסס על הגודל של |
| מינויים ל-BigQuery throughput per region |
|
בבקשות שנשלחות ל-BigQuery, השימוש במכסה מבוסס על הגודל של |
| מינויים ל-Cloud Storage throughput per region |
|
בבקשות שנשלחות ל-Cloud Storage, השימוש במכסה מבוסס על הגודל של |
| מינויים ל-Bigtable (גרסת Preview) throughput per region |
|
בבקשות שנשלחות ל-Bigtable, השימוש במכסה מבוסס על הגודל של |
| התפוקה של מנויים ב-StreamingPull לכל אזור |
|
השימוש במכסה מבוסס על הגודל של הזרם
ספריות לקוח משתמשות בפעולות StreamingPull כשאפשר. |
| מספר החיבורים הפתוחים של StreamingPull לכל אזור |
|
מספר החיבורים הפתוחים של StreamingPull בכל זמן נתון. ראו StreamingPull. |
| פעולות של אדמין | 6,000 לדקה (100 פעולות בשנייה) |
כל פעולת אדמין מחויבת ביחידה אחת מתוך המכסה הזו. פעולות של אדמינים כוללות את השיטות הבאות של RPC:
|
| מספר ההודעות שנצרכו מהמינויים עם העברה חד-פעמית בדיוק שמופעלת לכל אזור |
|
השימוש במכסה מבוסס על מספר
|
| מספר ההודעות שאושרה קבלתן או שהמועד האחרון שלהן הוארך, כשמשתמשים במינויים עם העברה של כל הודעה בדיוק פעם אחת שמופעלת לכל אזור |
|
השימוש במכסת המשאבים מבוסס על מספר מזהי האישור בבקשות
|
יחידות מכסת נתונים
השימוש במכסת התפוקה נמדד ביחידות של 1KB. 1 kB הוא 1,000 בייטים. לדוגמה, ב-PublishRequest עם 105 הודעות של 50 בייט כל אחת, גודל נתוני המשתמש הוא 105 * 50 bytes = 5250 bytes, ולכן השימוש במכסת הנפח הוא max(1kB, ceil(5250 bytes/1000)) = 6kB.
מגבלות על משאבים
| משאב | מגבלות |
|---|---|
| פרויקט |
10,000 נושאים 10,000 מינויים מצורפים או מנותקים 5,000 תמונות מצב 10,000 סכימות |
| נושא |
10,000 מינויים מצורפים 5,000 תמונות מצורפות אם שמירת הודעות בנושא מוגדרת, אפשר לשמור הודעות שפורסמו בנושא באחסון קבוע למשך עד 31 ימים ממועד הפרסום. |
| מינוי |
כברירת מחדל, הודעות שלא אושרו נשמרות באחסון קבוע למשך 7 ימים ממועד הפרסום. אין הגבלה על מספר ההודעות שנשמרות. אם המנויים לא משתמשים במינוי, הוא יפוג. תקופת התפוגה שמוגדרת כברירת מחדל היא 31 ימים. |
| סכימה | גודל הסכימה (השדה definition): 300KBגרסאות לכל סכימה: 20 |
| פרסום בקשה |
10MB (גודל כולל) 1,000 הודעות |
| הודעה |
גודל ההודעה (השדה data): 10MBמאפיינים לכל הודעה: 100 גודל מפתח המאפיין: 256 בייטים גודל ערך המאפיין: 1,024 בייטים |
| סטרימינג של נתונים | 10MBps לכל סטרימינג פתוח |
| תגובה של בקשת משיכה אונרית |
מספר ההודעות המקסימלי בתשובת Pull: 1,000 הגודל המקסימלי של תשובת Pull: 10MB |
| שליפה/הזרמה של הודעות | יכול להיות שהשירות יגביל את המספר הכולל של הודעות StreamingPull ממתינות לכל חיבור. אם נתקלים במגבלות כאלה, צריך להגדיל את קצב האישור של ההודעות ואת מספר החיבורים שבהם משתמשים. |
| אישור בקשות ושינוי של זמן האחזור לאישור |
512KB (גודל כולל) |
| סידור המקשים | אם להודעות יש מפתחות סדר, התפוקה המקסימלית של המוציא לאור היא 1 MBps לכל מפתח סדר. |
| אובייקטים בקטגוריה של Cloud Storage | כשמשתמשים בנושאים של ייבוא מ-Cloud Storage, המגבלה על מספר האובייקטים בקטגוריה היא 50 מיליון. |
שימוש בחשבון שירות למכסות גבוהות יותר
אם אתם משתמשים בכלי Google Cloud CLI עם חשבון משתמש רגיל (כלומר, לא חשבון שירות), הפעולות ב-Pub/Sub מוגבלות לקצב שמתאים לפעולות ידניות. אם חורגים מהמגבלה הזו, מופיעה השגיאה RESOURCE_EXHAUSTED. הפתרון הוא לוודא שאתם משתמשים בפרטי כניסה של חשבון שירות. אם רוצים להשתמש בפרטי כניסה מ-CLI של gcloud לאוטומציה, צריך להפעיל חשבון שירות לפעולות ב-Pub/Sub.
שימוש בנקודות קצה מבוססות-מיקום לניתוב בקשות
אם יש לכם מכסה נוספת באזורים מסוימים, אתם יכולים להפנות בקשות לאזורים האלה באמצעות נקודות קצה של Pub/Sub לפי מיקום. כשמפרסמים הודעות בנקודת קצה גלובלית, יכול להיות ששירות Pub/Sub ינתב תנועה לאזור שאין בו מכסה מספקת.
באזורים שבהם אושרו בקשות להגדלת המכסה, יכול להיות שמעבר של תנועה בין סוגים שונים של נקודות קצה לא יאפשר גישה מיידית לכל הקיבולת שאושרה.
חוסר התאמה במכסות
יכול להיות שיהיו אי התאמות במכסה אם ההודעות שמתפרסמות או מתקבלות קטנות מ-1,000 בייט. לדוגמה:
אם מפרסמים 10 הודעות בגודל 500 בייט בבקשות נפרדות, השימוש במכסת המפרסם יהיה 10,000 בייט. הסיבה לכך היא שהודעות שקטנות מ-1,000 בייט מעוגלות אוטומטית כלפי מעלה לתוספת הבאה של 1,000 בייט.
אם תקבלו את 10 ההודעות האלה בתשובה אחת לבקשת משיכה, יכול להיות שהשימוש במכסת המנויים יהיה רק 5KB, כי הגודל בפועל של כל הודעה משולב כדי לקבוע את המכסה הכוללת.
ולהיפך. יכול להיות שהשימוש במכסת המנויים יהיה גדול יותר מהשימוש במכסת בעלי התוכן הדיגיטלי אם מפרסמים כמה הודעות בבקשת פרסום אחת או מקבלים את ההודעות בבקשות Pull נפרדות.