מכסות לקצב שליחת בקשות ב-Compute Engine

במאמר הזה מפורטות מכסות התעריפים של Compute Engine, שמגדירות את מספר הבקשות שאפשר לשלוח לשיטות של Compute Engine API.

מכסות לקצב שליחת בקשות

מכסות לקצב שליחת בקשות (שנקראות גם מגבלות קצב של API או מכסות API) מגדירות את מספר הבקשות שאפשר לשלוח ל-Compute Engine API. המכסות האלה חלות על כל פרויקט בנפרד. כל מכסה חלה על קבוצה של שיטה אחת או יותר של Compute Engine API. כשמשתמשים ב-CLI של gcloud או במסוף Google Cloud , מתבצעות גם בקשות ל-API, והבקשות האלה נספרות במכסה לקצב הגשת בקשות. אם משתמשים בחשבונות שירות כדי לגשת ל-API, זה נכלל גם במכסה לקצב הגשת בקשות.

‫Google אוכפת מכסות לקצב שליחת בקשות במרווחים של דקה (60 שניות) לכל קבוצה. כלומר, אם הפרויקט מגיע למספר המקסימלי של בקשות ל-API בכל רגע נתון בתוך 60 שניות, צריך להמתין עד שמכסה לקצב הגשת בקשות זו תתמלא מחדש לפני ששולחים בקשות נוספות בקבוצה הזו. אם הפרויקט חורג ממכסה לקצב הגשת בקשות, מוצגת שגיאה 403 עם הסיבה rateLimitExceeded. כדי לפתור את השגיאה, צריך להמתין דקה ואז לנסות לשלוח שוב את הבקשה. המכסה אמורה להתמלא מחדש בתחילת המרווח הבא.

מספר הבקשות שאפשר לשלוח ל-Compute Engine API מוגדר על ידי מכסות API, כפי שמתואר בטבלאות הבאות. כל קבוצה נספרת בנפרד, כך שאפשר להגיע למכסה המקסימלית בכל קבוצה בו-זמנית.

מכסות לקצב שליחת בקשות לשיטות גלובליות

בקטעים הבאים מפורטות המכסות שמגדירות את מספר הבקשות שאפשר לשלוח לשיטות של Compute Engine API הגלובלי.

מכסות API פשוטות לשיטות גלובליות

כדי לשפר את יכולת הגילוי והניהול של המכסות ב-Compute Engine API,‏Google Cloud צמצמנו את מספר מדדי המכסות על ידי איחוד מדדים למכסות מעטות יותר. בנוסף, מדדי המכסה הפשוטים האלה מציעים מגבלות גבוהות יותר לכל מכסה.

רשימה מלאה של רכיבי ה-method הגלובליים ומדדי המכסה שמשמשים למעקב אחרי העלות של כל רכיב method מופיעה במאמר בנושא מדדי המכסה של Compute Engine API.

בטבלה הבאה מפורטים כל מדדי המכסות של ממשק Compute Engine API:

מכסה
תיאור המכסה
שם המדד
בקשות קריאה לדקה (GlobalReadsPerMinutePerProject)
מכסה לשיטות גלובליות get ו-list.
compute.googleapis.com/global_reads
בקשות כתיבה לדקה (GlobalWritesPerMinutePerProject)
מכסה לשיטות כתיבה גלובליות שלא נכללות במדדי מכסה אחרים.
compute.googleapis.com/global_writes
רשימת בקשות שניתן להשתמש בהן לדקה (GlobalListUsablePerMinutePerProject)
מכסת השימוש בשיטות גלובליות ListUsable.
compute.googleapis.com/list_usable_requests
בקשות לביטול תוקף של מטמון בדקה (GlobalCacheInvalidationRequestsPerMinutePerProject)
מכסה לשיטות גלובליות של UrlMapsService.InvalidateCache.
compute.googleapis.com/global_cache_invalidation_requests
עלויות תקורה של רשימה מסוננת (ListRequestsFilterCostOverheadPerMinutePerProject)

הקצאה לשימוש בשיטות הגלובליות *.list ו-*.aggregatedList עם מסננים.

Google Cloud מכסת החיובים של המדד הזה בנוסף למכסות של המדד compute.googleapis.com/global_reads. תחויבו על המכסה אם יותר מ-10,000 משאבים מסוננים מתוך בקשות הרשימה. ממשק Compute Engine API דוחה את בקשות הרשימה אם חורגים ממגבלת המכסה הזו.

compute.googleapis.com/filtered_list_cost_overhead
קצב לכל פרויקט: ‫750,000 משאבים מסוננים מתוך בקשות הרשימה לכל אזור לדקה. מכיוון שכל מכסת משאבים היא ל-10,000 משאבים, כשמבצעים שאילתה לגבי מגבלת המכסה הזו במסוף Google Cloud , המגבלה שמוצגת היא 75 (750,000 חלקי 10,000).
בקשות לדקה (GlobalRequestsPerMinutePerProject)

מכסה לכל הבקשות הגלובליות לקריאה ולכתיבה.

compute.googleapis.com/global_requests

מכסות של API מדור קודם לשיטות גלובליות

בטבלה הבאה מפורטות כל המכסות של Compute Engine API לשיטות גלובליות.

מכסה
תיאור המכסה
שם המדד
שאילתות לדקה (defaultPerMinutePerProject)
מכסה לרשימה גלובלית ולשיטות מוטציה שלא נכללות במדדי מכסה אחרים.

גם השיטות הבאות של get משתמשות במדד default:

  • networkFirewallPolicies.get
  • projects.getXpnHost
  • projects.getXpnResources
compute.googleapis.com/default
בקשות קריאה (מדור קודם) (ReadRequestsPerMinutePerProject)
מכסה לשיטות גלובליות *.get.
compute.googleapis.com/read_requests
בקשות לרשימה (ListRequestsPerMinutePerProject)
מכסת השימוש בשיטות גלובליות *.list.
compute.googleapis.com/list_requests
בקשות קריאה של פעולות (OperationReadRequestsPerMinutePerProject)
מכסה לשיטת globalOperations.get.
compute.googleapis.com/operation_read_requests
בקשות לשינוי משאבים גלובליים (GlobalResourceWriteRequestsPerMinutePerProject)
מכסת השימוש ב-methods‏ images.delete,‏ images.deprecate,‏ images.insert,‏ images.setLabels,‏ snapshots.delete,‏ snapshots.insert,‏ snapshots.setLabels,‏ machineImages.insert ו-machineImages.delete.
compute.googleapis.com/global_resource_write_requests
בקשות כבדות לשינוי (HeavyWeightWriteRequestsPerMinutePerProject)
מכסה לשיטות patch, ‏delete ו-insert עבור משאבי interconnects.
compute.googleapis.com/heavy_weight_write_requests
בקשות קריאה כבדות (HeavyWeightReadRequestsPerMinutePerProject)
מכסה לשימוש בשיטות *.aggregatedList.
compute.googleapis.com/heavy_weight_read_requests

המכסות הבאות חלות על ממשקי API גלובליים עם מכסות לכל שיטה:

מכסה
תיאור המכסה
שם המדד מגבלת ברירת מחדל
בקשות להוספת רישיון
מכסות לשיטה licenses.insert.
compute.googleapis.com/license_insert_requests
  • מכסת פרויקט (LicenseInsertRequestsPerMinutePerProject): 2.5 בקשות לשנייה (150 בקשות לדקה)
  • מכסת בקשות ליום לכל פרויקט (LicenseInsertRequestsPerDayPerProject): 30 בקשות ליום
בקשות נפוצות למטא-נתונים של מופעים בפרויקט
מכסה לשיטה projects.setCommonInstanceMetadata.
compute.googleapis.com/project_set_common_instance_metadata_requests מכסת השימוש לכל פרויקט (ProjectSetCommonInstanceMetadataRequestsPerMinutePerProject): 36 בקשות לדקה

מכסות של שיעורי בקשות לשיטות אזוריות ושיטות של אזורים

בקטעים הבאים מפורטות כל המכסות שחלות על שיטות שמשתמשות במדדים אזוריים.

מכסות API פשוטות יותר לשיטות אזוריות ואזורי-משנה

בטבלה הבאה מפורטות כל המכסות הפשוטות לשיטות אזוריות ושיטות של אזורים ספציפיים ב-Compute Engine API. רשימה מלאה של שיטות אזוריות ושיטות של תחומים, ומדדי המכסות שמתעדים את השימוש בכל שיטה, מופיעה במאמר מדדי מכסות של Compute Engine API.

מכסה
תיאור המכסה
שם המדד
בקשות קריאה לדקה לכל אזור (ReadRequestsPerMinutePerProjectPerRegion)
מכסה לשיטות `get` ו-`list` אזוריות ואזורי זמינות.
compute.googleapis.com/reads_per_region
בקשות כתיבה לכל אזור (WritesPerMinutePerProjectPerRegion)
מכסה לשיטות כתיבה אזוריות ואזורי-משנה שלא נכללות במדדי מכסה אחרים.
compute.googleapis.com/writes_per_region
רשימת בקשות שניתן להשתמש בהן לכל אזור (ListUsablePerMinutePerProjectPerRegion)
מכסה לשיטות אזוריות ואזוריות ListUsable.
compute.googleapis.com/list_usable_requests_per_region
עלויות תקורה של רשימה מסוננת לפי אזור

מכסת השימוש בשיטות אזוריות ושיטות לפי אזורים עם מסננים עבור *.list ו-*.aggregatedList.

Google Cloud מכסת החיובים של המדד הזה בנוסף למכסות של המדד compute.googleapis.com/reads_per_region. תחויבו על המכסה אם יותר מ-10,000 משאבים מסוננים מתוך בקשות הרשימה. ממשק Compute Engine API דוחה את בקשות הרשימה אם חורגים ממגבלת המכסה הזו.

compute.googleapis.com/filtered_list_cost_overhead_per_region
הקצב לכל פרויקט (ListRequestsFilterCostOverheadPerMinutePerProjectPerRegion): ‫750,000 משאבים מסוננים מתוך בקשות הרשימה לכל אזור לדקה. מכיוון שכל מכסת משאבים היא ל-10,000 משאבים, כשמבצעים שאילתה לגבי מגבלת המכסה הזו במסוף Google Cloud , המגבלה שמוצגת היא 75 (750,000 חלקי 10,000).
בקשות לדקה לכל אזור (RequestsPerMinutePerProjectPerRegion)

מכסת כל הבקשות האזוריות לקריאה ולכתיבה.

compute.googleapis.com/requests_per_region

מכסות של API מדור קודם לשיטות אזוריות

בטבלה הבאה מפורטות כל המכסות של Compute Engine API לשיטות אזוריות ואזוריות.

מכסה
תיאור המכסה
שם המדד
שאילתות (QueriesPerMinutePerRegion)
מכסה לשיטות אזוריות ושיטות של תחום מוגדר שיוצרות, משנות או מוחקות משאבי Compute Engine. לדוגמה, השיטות instances.insert, disks.update ו-instances.delete.

גם השיטות הבאות get, list ו-patch משתמשות במדד default_per_region הזה:

  • projects.listXpnHosts
  • instances.getScreenshot
  • instances.getGuestAttributes
  • instances.getShieldedInstanceIdentity
  • instances.getEffectiveFirewalls
  • projects.listXpnHosts
  • instanceGroupManagers.listManagedInstances
  • instanceGroupManagers.listErrors
  • instanceGroupManagers.listPerInstanceConfigs
  • regionInstanceGroupManagers.listManagedInstances
  • regionInstanceGroupManagers.listErrors
  • regionInstanceGroupManagers.listPerInstanceConfigs
  • resourcePolicies.patch
compute.googleapis.com/default_per_region
בקשות קריאה (גרסה קודמת) (ReadRequestsPerMinutePerRegion)
מכסת שימוש בשיטות אזוריות ושיטות של אזורי זמינות get כמו autoscalers.get,‏ disks.get,‏ instances.get ו-machineTypes.get.
compute.googleapis.com/read_requests_per_region
בקשות לרשימה (ListRequestsPerMinutePerRegion)
מכסת השימוש בשיטות אזוריות ושיטות של אזורי זמינות list, כמו autoscalers.list, ‏ disks.list,‏ instances.list ו-machineTypes.list.
compute.googleapis.com/list_requests_per_region
עלות התקורה של רשימה מסוננת

הקצאה לשיטות *.list ו-*.aggregatedList עם מסננים.

‫Google Cloud charges quota usage for this metric in addition to the quotas against the compute.googleapis.com/list_requests_per_region and compute.googleapis.com/heavy_weight_read_requests_per_region metrics. תחויבו על המכסה אם יותר מ-10,000 משאבים מסוננים מתוך בקשות הרשימה. ממשק Compute Engine API דוחה את בקשות הרשימה אם חורגים ממגבלת המכסה הזו.

compute.googleapis.com/filtered_list_cost_overhead_per_region
הקצב לכל פרויקט (ListRequestsFilterCostOverheadPerMinutePerProjectPerRegion): ‫750,000 משאבים מסוננים מתוך בקשות הרשימה לכל אזור לדקה. מכיוון שכל מכסת משאבים היא ל-10,000 משאבים, כשמבצעים שאילתה לגבי מגבלת המכסה הזו במסוף Google Cloud , המגבלה שמוצגת היא 75 (750,000 חלקי 10,000).
בקשות קריאה של פעולות (OperationReadRequestsPerMinutePerRegion)
מכסה לשיטות regionOperations.get ו-zoneOperations.get.
compute.googleapis.com/operation_read_requests_per_region
בקשות לשינוי משאבים גלובליים לכל אזור (GlobalResourceWriteRequestsPerMinutePerProjectPerRegion)
מכסה לשיטות disks.createSnapshot, ו-regionDisks.createSnapshot.
compute.googleapis.com/global_resource_write_requests_per_region
בקשות לקבלת פלט של יציאה טורית של מופע (GetSerialPortOutputRequestsPerMinutePerProjectPerRegion)
מכסת השימוש בשיטה instances.getSerialPortOutput.
compute.googleapis.com/get_serial_port_output_requests_per_region
בקשות קריאה כבדות (HeavyWeightReadRequestsPerMinutePerRegion)
מכסת השימוש בשיטות regionOperations.wait, zoneOperations.wait ו-regionNetworkFirewallPolicies.getEffectiveFirewalls.
compute.googleapis.com/heavy_weight_read_requests_per_region
בקשות כבדות לשינוי נתונים בכל אזור HeavyWeightWriteRequestsPerMinutePerProjectPerRegion
מכסה לשיטות patch,‏ delete ו-insert עבור משאב interconnectAttachments ועבור השיטה networks.updatePeering.
compute.googleapis.com/heavy_weight_write_requests_per_region
בקשות לסימולציה של אירוע תחזוקה במופע (SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion)
מכסה ל-method‏ instances.simulateMaintenanceEvent.
compute.googleapis.com/simulate_maintenance_event_requests_per_region
בקשות מפנה לרשימת מופעים InstanceListReferrersRequestsPerMinutePerProjectPerRegion
מכסה לשיטת instances.listReferrers.
compute.googleapis.com/instance_list_referrers_requests_per_region
מכסת בקשות כתיבה לנקודות קצה (endpoints) ברשת NetworkEndpointWriteRequestsPerMinutePerProjectPerRegion
מכסה לשיטות networkEndpointGroups.attachNetworkEndpoints ו-networkEndpointGroups.detachNetworkEndpoints.
compute.googleapis.com/network_endpoint_write_requests_per_region
בקשות לרשימת נקודות קצה ברשת (NetworkEndpointListRequestsPerMinutePerProjectPerRegion)
מכסת השימוש בשיטה networkEndpointGroups.listNetworkEndpoints.
compute.googleapis.com/network_endpoint_list_requests_per_region
בקשות כתיבה לנקודות קצה (endpoints) ברשת באזורים (RegionalNetworkEndpointWriteRequestsPerMinutePerProjectPerRegion)
מכסת השימוש בשיטות regionNetworkEndpointGroups.attachNetworkEndpoints ו-regionNetworkEndpointGroups.detachNetworkEndpoints.
compute.googleapis.com/regional_network_endpoint_write_requests_per_region
בקשות לרשימת נקודות קצה (endpoints) של רשתות אזוריות (RegionalNetworkEndpointListRequestsPerMinutePerProjectPerRegion)
מכסת השימוש בשיטה regionNetworkEndpointGroups.listNetworkEndpoints.
compute.googleapis.com/regional_network_endpoint_list_requests_per_region

בקשה להגדלת מכסות קצב

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

שיטות מומלצות

כדי לצמצם את ההשפעות של מכסות קצב, כדאי לפעול לפי השיטות המומלצות של Compute Engine API בנושא שמירה על מכסות קצב.

המאמרים הבאים