Limity

Na tej stronie szczegółowo opisano skalowalne, oparte na użyciu limity Cloud Functions zgodnie z planem cenowym Blaze typu płatność zgodnie z rzeczywistym użyciem. Limity te dotyczą projektów Firebase, które wdrażają funkcje w środowisku wykonawczym Node.js 10.

Plan Blaze zapewnia dużą ilość wywołań, czasu obliczeniowego i ruchu internetowego bezpłatnie. Jednak wdrożenia funkcji wiążą się z opłatami na małą skalę za miejsce do przechowywania używane dla kontenera funkcji. Aby uzyskać więcej informacji, zobacz często zadawane pytania dotyczące Firebase.

Limity dla Google Cloud Functions obejmują 3 obszary:

  • Limity zasobów

    Mają one wpływ na całkowitą ilość zasobów, jakie mogą zużywać funkcje.

  • Limity czasowe

    Wpływają one na to, jak długo wszystko może działać.

  • Limity stawek

    Wpływają one na szybkość wywoływania interfejsu Cloud Functions API w celu zarządzania funkcjami.

Poniżej opisano bardziej szczegółowo różne typy limitów. W stosownych przypadkach podano różnice między limitami funkcji Cloud Functions (1. generacji) i Cloud Functions (2. generacji).

Limity zasobów

Limity zasobów wpływają na całkowitą ilość zasobów, jakie mogą zużywać funkcje. Zakres regionalny zależy od projektu, a każdy projekt ma swoje własne ograniczenia.

Kontyngent Opis Limit (1. generacja) Limit (2. generacji) Można zwiększyć Zakres
Liczba funkcji Całkowita liczba funkcji, które można wdrożyć w każdym regionie 1000 1000 minus liczba wdrożonych usług Cloud Run NIE na region
Maksymalny rozmiar wdrożenia Maksymalny rozmiar wdrożenia pojedynczej funkcji 100MB (skompresowany) dla źródeł.
500MB (nieskompresowany) dla źródeł i modułów.
Nie dotyczy NIE na funkcję
Maksymalny rozmiar nieskompresowanego żądania HTTP Dane wysyłane do funkcji HTTP w żądaniu HTTP 10MB 32 MB NIE na wywołanie
Maksymalny rozmiar nieskompresowanej odpowiedzi HTTP Dane wysłane z protokołu HTTP funkcjonują w odpowiedzi HTTP 10MB 10 MB na przesyłanie strumieniowe odpowiedzi.
32MB dla odpowiedzi innych niż przesyłane strumieniowo.
NIE na wywołanie
Maksymalny rozmiar zdarzenia dla funkcji sterowanych zdarzeniami Dane wysyłane w zdarzeniach do funkcji działających w tle 10MB 512 KB dla wydarzeń Eventarc.
10 MB na starsze wydarzenia.
NIE na wydarzenie
Maksymalna pamięć funkcji Ilość pamięci, jaką może wykorzystać każda instancja funkcji 8GiB 32GiB NIE na funkcję

Limity czasowe

Kontyngent Opis Limit (1. generacja) Limit (2. generacji) Można zwiększyć Zakres
Maksymalny czas trwania funkcji Maksymalny czas, przez który funkcja może działać, zanim zostanie wymuszona 540 sekund 60 minut dla funkcji HTTP.
9 minut dla funkcji sterowanych zdarzeniami.
NIE na wywołanie

Limity stawek

Kontyngent Opis Limit (1. generacja) Limit (2. generacji) Można zwiększyć Zakres
Wywołania API (CZYTAJ) Wywołania umożliwiające opisanie lub wyświetlenie listy funkcji za pośrednictwem interfejsu Cloud Functions API 5000 na 100 sekund 1200 na 60 sekund Tylko dla 1. gen na projekt (1. generacja)
na region (2. generacji)
Wywołania API (ZAPIS) Wywołania umożliwiające wdrożenie lub usunięcie funkcji za pośrednictwem interfejsu Cloud Functions API 80 na 100 sekund 60 na 60 sekund nr 1 na projekt (1. generacja)
na region (2. generacji)
Wywołania API (CALL) Wywołania interfejsu API „call”. 16 na 100 sekund Nie dotyczy Nie 2 na projekt

Skalowalność

Funkcje Cloud Functions wywoływane przez protokół HTTP można szybko skalować, aby obsłużyć ruch przychodzący, natomiast funkcje działające w tle skalują się bardziej stopniowo. Możliwość skalowania funkcji w górę zależy od kilku czynników, w tym:

  • Czas potrzebny na wykonanie funkcji (funkcje krótkotrwałe można zazwyczaj skalować w górę, aby obsłużyć więcej jednoczesnych żądań).
  • Czas potrzebny na inicjalizację funkcji przy zimnym starcie .
  • Poziom błędów Twojej funkcji.
  • Czynniki przejściowe, takie jak obciążenie regionalne i pojemność centrum danych.

Funkcje tła mają dodatkowe ograniczenia, jak wyjaśniono poniżej. Limity te nie dotyczą funkcji HTTP pierwszej generacji.

Dodatkowe przydziały dla funkcji w tle

Kontyngent Opis Limit Można zwiększyć Zakres Wersja Produktu
Maksymalna liczba jednoczesnych wywołań Maksymalna liczba jednoczesnych wywołań pojedynczej funkcji
Przykład: jeśli obsługa każdego zdarzenia zajmie 100 sekund, częstotliwość wywołań będzie ograniczona średnio do 30 na sekundę
3000 Tak na funkcję Tylko 1 gen
Maksymalna częstotliwość wywoływania Maksymalna liczba zdarzeń obsługiwanych przez pojedynczą funkcję
Przykład: jeśli obsługa zdarzenia trwa 100 ms, częstotliwość wywołań będzie ograniczona do 1000 na sekundę, nawet jeśli równolegle obsługiwanych będzie średnio 100 żądań
1000 na sekundę NIE na funkcję Tylko 1 gen
Maksymalny rozmiar danych współbieżnego zdarzenia Maksymalny łączny rozmiar zdarzeń przychodzących do równoczesnych wywołań pojedynczej funkcji
Przykład: jeśli zdarzenia mają rozmiar 1 MB i ich przetwarzanie zajmuje 10 sekund, średnia szybkość wyniesie 1 zdarzenie na sekundę, ponieważ 11. zdarzenie nie zostanie przetworzone, dopóki nie zakończy się przetwarzanie jednego z pierwszych 10 zdarzeń
10MB NIE na funkcję 1. gen. i 2. gen
Maksymalna przepustowość przychodzących zdarzeń Maksymalna przepustowość zdarzeń przychodzących do pojedynczej funkcji
Przykład: jeśli zdarzenia mają rozmiar 1 MB, częstotliwość wywołań może wynosić maksymalnie 10 na sekundę, nawet jeśli funkcje kończą się w ciągu 100 ms
10 MB na sekundę NIE na funkcję 1. gen. i 2. gen

Po osiągnięciu limitu przydziału

Gdy funkcja zużywa cały przydzielony zasób, zasób staje się niedostępny do czasu odświeżenia lub zwiększenia przydziału. Może to oznaczać, że Twoja funkcja i wszystkie inne funkcje w tym samym projekcie nie będą działać do tego czasu. Funkcja zwraca kod błędu HTTP 500, gdy jeden z zasobów przekroczył limit i nie można wykonać funkcji.

Aby zwiększyć limity powyżej podanych tutaj wartości domyślnych, przejdź do strony Limity Cloud Functions , wybierz limity, które chcesz zmodyfikować, kliknij EDYTUJ LICZBY , podaj informacje o użytkowniku, jeśli zostaniesz o to poproszony, i wprowadź nowy limit dla każdego wybranego limitu.

Limity przydziału dla wdrożenia Firebase CLI

Każda funkcja wdrażana przez interfejs CLI Firebase ma wpływ na następujące rodzaje limitów szybkości i czasu:

  • Wywołania API (CZYTAJ) — 1 wywołanie na wdrożenie, niezależnie od liczby funkcji
    • Limit: 5000 na 100 sekund
  • Wywołania API (WRITE) - 1 wywołanie na funkcję
    • Limit: 80 na 100 sekund

Zobacz także informacje o interfejsie CLI Firebase .