במסמך הזה מוסבר על מכסות של פעולות בו-זמניות ב-Compute Engine.
מכסות לפעולות בו-זמניות
מכסות של פעולות בו-זמניות מגדירות את מספר הפעולות הפעילות או בו-זמניות שיכולות להתרחש בכל נקודת זמן. כל בקשת API שיוצרת, משנה או מוחקת משאב של Compute Engine כפופה לבדיקה של מגבלת פעולות בו-זמניות, כדי לוודא שהמספר הכולל של פעולות בתהליך בכל נקודת זמן לא חורג מהמגבלה שצוינה לאותה פעולה.
שגיאה: חריגה ממגבלת הפעולות בו-זמנית
אם בפרויקט חורגים מהמגבלה של פעולות בו-זמניות עבור פעולה כלשהי שנמצאת בתהליך, מוצגת השגיאה 403 עם הסיבה rateLimitExceeded.
תגובת ה-API של השגיאה אמורה להיראות כך:
"error": {
"code": 403,
"message": "Rate Limit Exceeded",
"errors": [
{
"message": "Rate Limit Exceeded",
"domain": "usageLimits",
"reason": "rateLimitExceeded",
...
...
}
],
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "CONCURRENT_OPERATIONS_QUOTA_EXCEEDED",
"domain": "compute.googleapis.com",
"metadata": {
"containerType": "PROJECT",
"containerId": "PROJECT_ID",
"quotaMetric": "QUOTA_METRIC",
"quotaLimit": "QUOTA_LIMIT",
"operationType": "OPERATION_TYPE",
"location": "global | REGION"
}
},
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Concurrent operations quota documentation.",
"url": "https://cloud.google.com/compute/operations-quota#concurrent_operation_limits"
}
]
},
...
... פרטי השגיאה מכילים את הערכים הבאים:
PROJECT_ID: מזהה הפרויקט שבו המכסה חורגת מהמגבלה.
QUOTA_METRIC: המדד של המכסה המקבילה שחורגת מהמגבלה. הערך יכול להיות אחד מהבאים:compute.googleapis.com/global_concurrent_operationscompute.googleapis.com/regional_concurrent_operations
QUOTA_LIMIT: שם המגבלה של המכסה המקבילה. הערך יכול להיות אחד מהבאים:GlobalConcurrentOperationsPerProjectGlobalConcurrentOperationsPerProjectOperationTypeRegionalConcurrentOperationsPerProjectRegionalConcurrentOperationsPerProjectOperationType
OPERATION_TYPE: הפעולה הגלובלית או האזורית שחורגת מהמכסה. רשימת הפעולות מופיעה במאמר בנושא קבוצות מכסות של פעולות מקבילות.הערך
locationיכול להיות אחד מהערכים הבאים:-
global: מציין שהמגבלה חרגה ממכסת הפעולות הגלובלית -
REGION: מציין את האזור שבו חרגתם מהמכסה של הפעולה
-
יומני השגיאות המפורטים מוחזרים רק דרך תגובת ה-API. שגיאה ב-Logs Explorer שדומה לזו:
"protoPayload":{
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"message": "Rate Limit Exceeded"
}
"serviceName": "compute.googleapis.com",
"methodName": "METHOD_NAME",
...
...
"response": {
"error": {
"message": "Rate Limit Exceeded",
"code": 403,
"errors": [
{
"message": "Rate Limit Exceeded",
"reason": "rateLimitExceeded",
"domain": "usageLimits"
}
]
},
"@type": "type.googleapis.com/error"
},
...
... התו METHOD_NAME בשגיאה מייצג את שיטת ה-API שהייתה חריגה ממגבלת הקצב. לדוגמה, v1.compute.instances.stop.
קבוצות של מכסות פעולות בו-זמניות
בקטע הזה מתוארות ההגבלות על פעולות שונות ב-Compute Engine שמתבצעות בזמן אמת או בו-זמנית.
מכסות גלובליות של פעולות
פעולות גלובליות בו-זמניות צורכות מגבלה גלובלית שמוגדרת לסוגי פעולות לכל פרויקט. בטבלה הבאה מפורטות המכסות הגלובליות לפעולות שמתבצעות והמדדים התואמים.
אפשר לראות את המכסה של פעולות גלובליות באמצעות Google Cloud המסוף, Google Cloud CLI ו-Service Usage API. איך רואים את המכסות והמגבלות של פעולות מקבילות
| שם המכסה תיאור |
שם המדד | שיטות שצורכות את המכסה הזו |
|---|---|---|
Concurrent global operations per projectמגביל את המספר הכולל של פעולות גלובליות בו-זמניות בפרויקט. |
|
כל השיטות הגלובליות. כתובת ה-URL של בקשת ה-HTTP מכילה |
Concurrent global operations per project operation typeמגביל את מספר הפעולות בו-זמנית לכל פרויקט לכל סוג פעולה. |
|
כל השיטות הגלובליות. מכסת ברירת המחדל של פעולות מקבילות היא
|
מכסות אזוריות
פעולות אזוריות בו-זמניות צורכות מכסה אזורית שמוגדרת לסוגי פעולות לכל פרויקט באזור נתון.
בטבלה הבאה מפורטות המכסות האזוריות לפעולות בתהליך והמדדים המתאימים.
אפשר לראות את המכסה של פעולות אזוריות באמצעות Google Cloud המסוף, Google Cloud CLI ו-Service Usage API. איך רואים את המכסות והמגבלות של פעולות מקבילות
| שם המכסה תיאור |
שם המדד | שיטות שצורכות את המכסה הזו |
|---|---|---|
Concurrent regional operations per project
מגבילה את המספר הכולל של פעולות אזוריות מקבילות בפרויקט. |
|
כל השיטות האזוריות. כתובת ה-URL של בקשת ה-HTTP מכילה |
Concurrent regional operations per project operation type
מגביל את מספר הפעולות האזוריות בו-זמנית לכל פרויקט לכל סוג פעולה. |
|
כל השיטות האזוריות. מכסת ברירת המחדל של פעולות מקבילות היא
|
צפייה במכסות ובמגבלות של פעולות בו-זמניות
כדי לראות את מכסת השימוש והמגבלות בפרויקט:
המסוף
נכנסים לדף Quotas במסוף Google Cloud .
בדף Quotas מפורטות כל המגבלות ומכסות השימוש בפרויקט שלכם. כברירת מחדל, הרשימה ממוינת לפי תדירות השימוש במכסות. המכסות שאתם הכי משתמשים בהן מוצגות קודם, כדי שתוכלו לראות מה המגבלות ולא לחרוג מהן.
כדי לסנן את הרשימה ולראות את השימוש ואת המגבלה של מכסה ספציפית, בוחרים באפשרות Quota או Metric בשדה Filter.
לדוגמה, בוחרים במכסה
Concurrent global operations per project operation typeכדי לראות את השימוש במכסה לשיטות גלובליות לפי סוג פעולה.כדי לסנן את המכסה של פעולה ספציפית, מוסיפים Dimensions לשאילתת הסינון ובוחרים באפשרות operation_type. לדוגמה, בוחרים באפשרות
firewalls_insertכדי לראות את השימוש במכסה ואת המגבלה של פעולתfirewalls.insert.
gcloud
אפשר להשתמש ב-Google Cloud CLI כדי לראות את השימוש במכסות של פעולות מקבילות ואת המגבלות שלהן.
כדי לעשות את זה, צריך לוודא שהתקנתם את הרכיב פקודות אלפא. אם אתם משתמשים ב-Cloud Shell לאינטראקציה עם Google Cloud, כבר מותקן אצלכם Google Cloud CLI.
כדי לראות את המכסה, משתמשים בפקודה הבאה:
gcloud alpha services quota list \
--service=compute.googleapis.com \
--consumer=projects/PROJECT_ID
מחליפים את PROJECT_ID במזהה הפרויקט שאת המכסה שלו רוצים לראות.
שיטות מומלצות
רשימת המשימות הבאה מסכמת את השיטות המומלצות לצמצום השגיאות שקשורות למגבלת הפעולות המקבילות:
- המתנה לסיום הפעולות
- הסתמכות על קודי שגיאה, לא על הודעות שגיאה
- צריך לצמצם את הניסיונות החוזרים בצד הלקוח כדי לשמור על מגבלות התעריפים של ה-API
המאמרים הבאים
- מידע נוסף על מכסות ב-Cloud