בדף הזה מפורטות המגבלות הניתנות להרחבה לפי שימוש ב-Cloud Functions בהתאם לתוכנית התמחור Blaze בתשלום לפי שימוש. המגבלות האלה חלות על פרויקטים ב-Firebase שבהם הפונקציות נפרסות בסביבת זמן הריצה Node.js 10.
תוכנית התמחור Blaze מספקת כמות גדולה של הפעלות, זמן מחשוב ותעבורת אינטרנט ללא תשלום. עם זאת, על פריסת פונקציות חלים חיובים קטנים על נפח האחסון שמשמש את הקונטיינר של הפונקציה. פרטים נוספים זמינים בשאלות הנפוצות.
המכסות ל-Cloud Functions כוללות 4 תחומים:
הגבלות על משאבים
ההגדרות האלה משפיעות על הכמות הכוללת של המשאבים שהפונקציות יכולות לצרוך.
מגבלות זמן
הגורמים האלה משפיעים על משך הזמן שבו אפשר להפעיל דברים.
הגבלות על קצב יצירת הבקשות
ההגבלות האלה משפיעות על הקצב שבו אפשר לבצע קריאות ל-Cloud Functions API כדי לנהל את הפונקציות.
הגבלות על רשתות
ההגדרות האלה משפיעות על חיבורים יוצאים ומגבלות של מופעים.
בהמשך מפורטים סוגי המגבלות השונים. ההבדלים בין המגבלות של Cloud Functions (דור ראשון) לבין Cloud Functions (דור שני) מצוינים במקומות הרלוונטיים.
הגבלות על משאבים
מגבלות המשאבים משפיעות על הכמות הכוללת של המשאבים שהפונקציות יכולות לצרוך. ההיקף האזורי הוא לכל פרויקט, ולכל פרויקט יש מגבלות משלו.
| מכסה | תיאור | מגבלה (דור ראשון) | מגבלה (דור שני) | אפשר להגדיל את המכסה | היקף |
|---|---|---|---|---|---|
| מספר הפונקציות | המספר הכולל של פונקציות שאפשר לפרוס לכל אזור | 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 | לא | לכל פונקציה |
| הזיכרון המקסימלי של הפרויקט | נפח הזיכרון, בבייט, שפרויקט יכול להשתמש בו. המדד הזה מחושב כסכום הכולל של הזיכרון שהמשתמשים מבקשים בכל המופעים של הפונקציה במהלך תקופה של דקה אחת. | תלוי באזור שנבחר. יכול להיות שהמגבלה הזו תהיה גבוהה יותר באזורים עם קיבולת גבוהה, או נמוכה יותר באזורים שנפתחו לאחרונה. | לא רלוונטי | כן | לכל פרויקט ואזור |
| המעבד המקסימלי של הפרויקט | כמות המעבדים (CPU), במילי-מעבדים וירטואליים, שאפשר להשתמש בהם בפרויקט. המדד הזה מחושב כסכום הכולל של השימוש במעבד שנדרש על ידי המשתמשים בכל המופעים של הפונקציה במהלך תקופה של דקה אחת. | תלוי באזור שנבחר. יכול להיות שהמגבלה הזו תהיה גבוהה יותר באזורים עם קיבולת גבוהה, או נמוכה יותר באזורים שנפתחו לאחרונה. | לא רלוונטי | כן | לכל פרויקט ואזור |
מגבלות זמן
| מכסה | תיאור | מגבלה (דור ראשון) | מגבלה (דור שני) | אפשר להגדיל את המכסה | היקף |
|---|---|---|---|---|---|
| משך הפונקציה המקסימלי | משך הזמן המקסימלי שפונקציה יכולה לפעול לפני שהיא מסתיימת בכוח | 540 שניות |
|
לא | לכל הפעלה |
הגבלות על קצב יצירת הבקשות
| מכסה | תיאור | מגבלה (דור ראשון) | מגבלה (דור שני) | אפשר להגדיל את המכסה | היקף |
|---|---|---|---|---|---|
| קריאות ל-API (קריאה) | קריאות לתיאור או לרשימה של פונקציות באמצעות Cloud Functions API | 5,000 כל 100 שניות | 1,200 כל 60 שניות | רק לדור הראשון | לכל פרויקט (דור ראשון) לכל אזור (דור שני) |
| קריאות ל-API (כתיבה) | קריאות לפריסה או למחיקה של פונקציות דרך Cloud Functions API | 80 לכל 100 שניות | 60 פעמים ב-60 שניות | לא 1 | לכל פרויקט (דור ראשון) לכל אזור (דור שני) |
| קריאות ל-API (CALL) | קריאות ל-API של 'שיחה' | 16 לכל 100 שניות | לא רלוונטי | לא 2 | לכל פרויקט |
מגבלות רישות
מגבלות רשת: מידע על המגבלות של בקשות רשת ורוחב פס ב-Cloud Functions (דור שני).
המגבלות הבאות בנושא רשת חלות על Cloud Functions (דור ראשון):
- חיבורים יוצאים לשנייה לכל מופע: 500 (אי אפשר להגדיל את המספר הזה)
- רזולוציות DNS יוצאות לשנייה לכל מופע: 100 (אי אפשר להגדיל את המספר הזה)
- מספר החבילות המקסימלי לשנייה לכל מכונה: 80,000
- מספר הביטים המקסימלי לשנייה לכל מופע: 100,000,000
מדרגיות
פונקציות Cloud Functions שמופעלות על ידי HTTP מתרחבות במהירות כדי לטפל בתנועה נכנסת, בעוד שפונקציות ברקע מתרחבות בצורה הדרגתית יותר. היכולת של פונקציה להתרחב נקבעת על ידי כמה גורמים, כולל:
- כמות הזמן שנדרשת להשלמת הביצוע של פונקציה (בדרך כלל אפשר להגדיל את הקיבולת של פונקציות שפועלות לזמן קצר כדי לטפל ביותר בקשות בו-זמניות).
- משך הזמן שנדרש לאתחול של פונקציה בהפעלה במצב התחלתי (cold start).
- שיעור השגיאות של הפונקציה.
גורמים זמניים, כמו עומס אזורי וקיבולת מרכז הנתונים.
מכסות נוספות לפונקציות ברקע
| מכסה | תיאור | מגבלה | אפשר להגדיל את המכסה | היקף | גרסת המוצר |
|---|---|---|---|---|---|
| מספר מקסימלי של הפעלות בו-זמנית | המספר המקסימלי של הפעלות בו-זמניות של פונקציה אחת דוגמה: אם הטיפול בכל אירוע נמשך 100 שניות, קצב ההפעלה יהיה מוגבל ל-30 לשנייה בממוצע |
3,000 | כן | לכל פונקציה | דור ראשון בלבד |
| קצב הפעלה מקסימלי | הקצב המקסימלי של אירועים שמטופלים על ידי פונקציה אחת דוגמה: אם הטיפול באירוע נמשך 100 אלפיות השנייה, קצב ההפעלה יהיה מוגבל ל-1,000 לשנייה, גם אם בממוצע מטופלות במקביל רק 100 בקשות |
1,000 לשנייה | לא | לכל פונקציה | דור ראשון בלבד |
| גודל מקסימלי של נתוני אירועים בו-זמניים | הגודל המקסימלי הכולל של אירועים נכנסים להפעלות בו-זמניות של פונקציה אחת דוגמה: אם גודל האירועים הוא 1MB ועיבוד האירועים נמשך 10 שניות, הקצב הממוצע יהיה אירוע אחד לשנייה, כי האירוע ה-11 לא יעובד עד שעיבוד אחד מ-10 האירועים הראשונים יסתיים. |
10MB | לא | לכל פונקציה | דור ראשון ודור שני |
| התפוקה המקסימלית של אירועים נכנסים | התפוקה המקסימלית של אירועים נכנסים לפונקציה אחת דוגמה: אם גודל האירועים הוא 1MB, קצב ההפעלה יכול להיות מקסימום 10 לשנייה, גם אם הפונקציות מסתיימות תוך 100ms |
10MB לשנייה | לא | לכל פונקציה | דור ראשון ודור שני |
כשמגיעים למגבלת מכסה
אם פונקציה צורכת את כל המשאב שהוקצה לה, המשאב לא יהיה זמין עד שהמכסה תתעדכן או תוגדל. יכול להיות שהמשמעות היא שהפונקציה שלכם וכל הפונקציות האחרות באותו פרויקט לא יפעלו עד אז. פונקציה מחזירה קוד שגיאת HTTP 500 אם אחד מהמשאבים חורג מהמכסה והפונקציה לא יכולה לפעול.
כדי להגדיל את המכסות מעבר לערכי ברירת המחדל שמפורטים כאן, עוברים אל Cloud Functions הדף Quotas, בוחרים את המכסות שרוצים לשנות, לוחצים על Edit quotas, מספקים את פרטי המשתמש אם מתבקשים לעשות זאת ומזינים את מגבלת המכסה החדשה לכל מכסה שבחרתם.
מגבלות מכסת השימוש לפריסה באמצעות Firebase CLI
ההגבלות הבאות על קצב העברת נתונים והגבלות זמן חלות על כל פונקציה שמופעלת באמצעות Firebase CLI:
- קריאות ל-API (קריאה) – קריאה אחת לכל פריסה, לא משנה כמה פונקציות
- מגבלה: 5,000 לכל 100 שניות
- קריאות ל-API (כתיבה) – קריאה אחת לכל פונקציה
- מגבלה: 80 פעמים ב-100 שניות
אפשר לעיין גם במדריך העזר ל-Firebase CLI.