מכסות ומגבלות

בדף הזה מפורטות המגבלות מבוססות-השימוש שניתנות להתאמה עבור Cloud Functions. בהתאם לתוכנית התמחור והתשלומים של Blaze 'תשלום לפי שימוש'. המגבלות האלה חלות על פרויקטים של Firebase שפורסים פונקציות בסביבת זמן הריצה של Node.js 10.

בתוכנית Blaze מקבלים כמויות גדולות של קריאות, זמן מחשוב ותנועה באינטרנט ללא תשלום. אבל פריסות של פונקציות חיובים בקנה מידה קטן עבור נפח האחסון שמשמש לקונטיינר של הפונקציה. מידע נוסף זמין בשאלות הנפוצות של Firebase.

המכסות של Google Cloud Functions כוללות 3 תחומים:

  • מגבלות של משאבים

    הן משפיעות על כמות המשאבים הכוללת שהפונקציות שלך יכולות לצרוך.

  • מגבלות זמן

    הגורמים האלה משפיעים על משך הזמן שבו התוכן יכול לפעול.

  • הגבלות קצב של יצירת בקשות

    הן משפיעות על הקצב שבו אפשר לקרוא ל-Cloud Functions API כדי לנהל את הפונקציות.

סוגי המגבלות השונים מתוארים בפירוט בהמשך. ההבדלים בין המגבלות של Cloud Functions (דור ראשון) לבין חשוב לציין את Cloud Functions (דור שני), במקרים הרלוונטיים.

מגבלות של משאבים

מגבלות המשאבים משפיעות על כמות המשאבים הכוללת שהפונקציות יכולות לצרוך. ההיקף האזורי משתנה בהתאם לפרויקט, ולכל פרויקט יש מגבלות משלו.

מכסה תיאור Limit (דור ראשון) Limit (דור שני) אפשר להגדיל היקף
מספר פונקציות המספר הכולל של הפונקציות שאפשר לפרוס לכל אזור 1,000 1,000 פחות מספר שירותי Cloud Run שנפרסו לא לכל אזור
גודל פריסה מקסימלי הגודל המקסימלי של פריסה של פונקציה אחת 100MB (דחוס) למקורות.
500MB (לא דחוס) למקורות וגם מודולים.
לא רלוונטי לא לכל פונקציה
הגודל המקסימלי של בקשת HTTP לא דחוסה נתונים שנשלחו לפונקציות HTTP בבקשת HTTP 10MB 32MB לא לכל הפעלה
הגודל המקסימלי של תגובת HTTP לא דחוסה נתונים שנשלחו מפונקציות HTTP בתגובת HTTP 10MB 10MB להצגת תשובות באופן שוטף.
32MB לתגובות שאינן סטרימינג.
לא לכל הפעלה
גודל האירוע המקסימלי לפונקציות מבוססות-אירוע נתונים שנשלחים באירועים לפונקציות ברקע 10MB 512KB לאירועי Eventarc.
10MB לאירועים מדור קודם.
לא לכל אירוע
זיכרון הפונקציה המקסימלי נפח הזיכרון שכל מופע של פונקציה יכול להשתמש בו 8GiB 32GiB לא לכל פונקציה
כמות הזיכרון המקסימלית של הפרויקט נפח הזיכרון, ב-By, שפרויקט יכול להשתמש בו. זה נמדד לפי הסכום הכולל של הזיכרון שביקש המשתמש במכונות של פונקציות במהלך פרק זמן של דקה. תלוי באזור שנבחר. המגבלה הזו יכולה להיות גדולה יותר באזורים עם קיבולת גדולה, או נמוכה יותר באזורים שנפתחו לאחרונה. לא רלוונטי כן לכל פרויקט ואזור
המעבד (CPU) המקסימלי של הפרויקט כמות המעבד (CPU) במילי-vCPU, שפרויקט יכול להשתמש בו. המדד הזה נמדד לפי הסכום הכולל של מעבד (CPU) שהמשתמש ביקש במכונות שונות של הפונקציות בפרק זמן של דקה. תלוי באזור שנבחר. המגבלה הזו יכולה להיות גדולה יותר באזורים עם קיבולת גדולה, או נמוכה יותר באזורים שנפתחו לאחרונה. לא רלוונטי כן לכל פרויקט ואזור

מגבלות זמן

מכסה תיאור Limit (דור ראשון) Limit (דור שני) אפשר להגדיל היקף
משך הזמן המקסימלי של הפונקציה משך הזמן המקסימלי שפונקציה יכולה לפעול לפני הפסקה באילוץ 540 שניות 60 דקות לפונקציות HTTP.
9 דקות לפונקציות מבוססות-אירוע.
לא לכל הפעלה

הגבלות קצב של יצירת בקשות

מכסה תיאור Limit (דור ראשון) Limit (דור שני) אפשר להגדיל היקף
קריאות ל-API (READ) קריאות לתיאור או להצגת רשימה של פונקציות באמצעות Cloud Functions API 5,000 לכל 100 שניות 1,200 לכל 60 שניות רק לדור ראשון לכל פרויקט (דור ראשון)
לכל אזור (דור שני)
קריאות ל-API (WRITE) קריאות לפריסה או למחיקה של פונקציות דרך Cloud Functions API 80 לכל 100 שניות 60 לכל 60 שניות לא 1 לכל פרויקט (דור ראשון)
לכל אזור (דור שני)
קריאות ל-API (CALL) שיחות "לשיחה" API 16 לכל 100 שניות לא רלוונטי לא 2 לכל פרויקט

מדרגיות

Cloud Functions שמופעל באמצעות התאמה לעומס (scaling) של HTTP במהירות כדי לטפל בתעבורת נתונים נכנסת, ואילו הפונקציות ברקע מותאמות באופן הדרגתי יותר. היכולת של פונקציה לבצע התאמה לעומס (scaling) נקבע על ידי מספר גורמים, כולל:

  • משך הזמן שלוקח להפעלת הפונקציה להסתיים (פונקציות קצרות בדרך כלל יכולות להתרחב כדי לטפל בבקשות בו-זמניות יותר).
  • משך הזמן שחולף עד לאתחול של פונקציה הפעלה במצב התחלתי (cold start).
  • שיעור השגיאות של הפונקציה.
  • גורמים ארעיים, כמו עומס אזורי וקיבולת של מרכז נתונים.

לפונקציות ברקע יש מגבלות נוספות, כפי שמוסבר בהמשך. המגבלות האלה לא חלות על דור ראשון פונקציות HTTP.

מכסות נוספות לפונקציות ברקע

מכסה תיאור הגבלה אפשר להגדיל היקף גרסת המוצר
מספר מקסימלי של הפעלות בו-זמנית מספר ההפעלות המקסימלי בו-זמנית של פונקציה יחידה
דוגמה: אם הטיפול בכל אירוע נמשך 100 שניות, ההפעלה תתבצע הקצב יהיה מוגבל ל-30 לשנייה בממוצע
3,000 כן לכל פונקציה דור ראשון בלבד
קצב הפעלה מקסימלי הקצב המקסימלי של אירועים שמטופלים על ידי פונקציה אחת
דוגמה: אם הטיפול באירוע נמשך 100 אלפיות השנייה, ההפעלה תתבצע יוגבל ל-1,000 לשנייה גם אם רק 100 בקשות, בממוצע, הטיפול מתבצע במקביל
1,000 לשנייה לא לכל פונקציה דור ראשון בלבד
הגודל המקסימלי של נתוני אירועים בו-זמנית הגודל הכולל המקסימלי של אירועים נכנסים להפעלות בו-זמנית של פונקציה אחת
דוגמה: אם גודל האירועים הוא 1MB והעיבוד שלהם נמשך 10 בשניות, השיעור הממוצע יהיה אירוע אחד בשנייה, כי האירוע ה-11 האירוע לא יעובד עד שיעובד אחד מ-10 האירועים הראשונים מסתיים
10MB לא לכל פונקציה דור ראשון ודור שני
התפוקה המקסימלית של אירועים נכנסים התפוקה המקסימלית של אירועים נכנסים לפונקציה אחת
דוגמה: אם גודל האירועים הוא 1MB, קצב ההפעלה יכול להיות עד 10 בשנייה, גם אם פונקציות מסתיימות תוך 100 אלפיות השנייה
10MB לשנייה לא לכל פונקציה דור ראשון ודור שני

כשמגיעים למכסה המקסימלית

כשפונקציה צורכת את כל המשאבים שהוקצו, המשאב הופך לא זמין עד שהמכסה תחודש או תגדל. המשמעות היא הפונקציה וכל שאר הפונקציות באותו פרויקט לא יפעלו עד אז. פונקציה מחזירה קוד שגיאה של HTTP 500 כשאחד מהמשאבים חריגה מהמכסה, והפונקציה לא יכולה לפעול.

כדי להגדיל את המכסות מעל ברירות המחדל שמפורטות כאן, צריך להיכנס אל Cloud Functions Quotas Page, בוחרים את המכסות שרוצים לשנות ולוחצים על EDIT QUOTAS, ציינו את פרטי המשתמש שלכם אם מתבקשים לעשות זאת ומזינים את מגבלת המכסה לכל מכסה שבחרתם.

מגבלות המכסות לפריסה של Firebase CLI

לכל פונקציה ש-Firebase CLI פורס, יש השפעה על סוגי המגבלות הבאים:

  • קריאות ל-API (READ) – קריאה אחת לכל פריסה, ללא קשר למספר פונקציות
    • מגבלה: 5,000 לכל 100 שניות
  • קריאות ל-API (WRITE) – קריאה אחת לכל פונקציה
    • מגבלה: 80 לכל 100 שניות

אפשר לעיין גם במאמרי העזרה של Firebase CLI.