Limity

Na tej stronie znajdziesz szczegółowe informacje o skalowalnych limitach opartych na wykorzystaniu usługi w Cloud Functions zgodnie z abonamentem Blaze rozliczanym według wykorzystania. Te limity dotyczą projektów Firebase, które wdrażają funkcje w środowisku wykonawczym Node.js 10.

Abonament Blaze zapewnia bezpłatnie duże ilości wywołań, czas obliczeniowy i ruch internetowy. Wdrożenia funkcji wiążą się jednak z niewielkimi opłatami za miejsce na dane wykorzystywane przez kontener funkcji. Więcej informacji znajdziesz w najczęstszych pytaniach o Firebase.

Limity dla Google Cloud Functions obejmują 3 obszary:

  • Limity zasobów

    Mają one wpływ na łączną ilość zasobów, które mogą wykorzystywać funkcje.

  • Limity czasu

    Mają wpływ na to, jak długo urządzenie może działać.

  • Limity liczby żądań

    Mają one wpływ na szybkość wywoływania interfejsu Cloud Functions API w celu zarządzania funkcjami.

Różne rodzaje limitów zostały szczegółowo opisane poniżej. W stosownych przypadkach widoczne są różnice między limitami w Cloud Functions (1 generacji) i Cloud Functions (2 generacji).

Limity zasobów

Limity zasobów wpływają na łączną ilość zasobów, które mogą zużywać funkcje. Zakres regionalny jest przypisany do konkretnego projektu, a każdy projekt ma własne limity.

Limit Opis Limit (1 generacji) Limit (2 generacji) Można zwiększyć Zakres
Liczba funkcji Łączna liczba funkcji, które można wdrożyć w danym regionie 1000 1000 minus liczba wdrożonych usług Cloud Run Nie według regionu
Maksymalny rozmiar wdrożenia Maksymalny rozmiar wdrożenia jednej funkcji 100 MB (skompresowany) na potrzeby źródeł.
500 MB (bez kompresji) na źródła i moduły.
Nie dotyczy Nie na funkcję
Maksymalny rozmiar nieskompresowanego żądania HTTP Dane wysłane do funkcji HTTP w żądaniu HTTP 10 MB 32MB Nie na wywołanie
Maksymalny rozmiar nieskompresowanej odpowiedzi HTTP Dane wysyłane z funkcji HTTP w odpowiedzi HTTP 10 MB 10 MB do strumieniowego przesyłania odpowiedzi.
32 MB w przypadku odpowiedzi niestrumieniowych.
Nie na wywołanie
Maksymalny rozmiar zdarzenia w przypadku funkcji opartych na zdarzeniach Dane wysyłane w zdarzeniach do funkcji w tle 10 MB 512 KB w przypadku zdarzeń Eventarc.
10 MB w przypadku starszych wydarzeń.
Nie na zdarzenie
Maksymalna ilość pamięci funkcji Ilość pamięci, której może używać każda instancja funkcji 8GiB 32GiB Nie na funkcję

Limity czasu

Limit Opis Limit (1 generacji) Limit (2 generacji) Można zwiększyć Zakres
Maksymalny czas trwania funkcji Maksymalny czas działania funkcji przed wymuszeniem zakończenia 540 sekund 60 minut na potrzeby funkcji HTTP.
9 minut w przypadku funkcji opartych na zdarzeniach.
Nie na wywołanie

Limity liczby żądań

Limit Opis Limit (1 generacji) Limit (2 generacji) Można zwiększyć Zakres
Wywołania interfejsu API (ODCZYT) Wywołania do opisywania lub wyświetlania funkcji za pomocą interfejsu Cloud Functions API 5000 na 100 sekund 1200 na 60 sekund Tylko 1 generacji na projekt (1 generacji)
na region (2 generacji)
Wywołania interfejsu API (WRITE) Wywołania umożliwiające wdrażanie lub usuwanie funkcji za pomocą interfejsu Cloud Functions API 80 na 100 sekund 60 na 60 sekund Nie1 na projekt (1 generacji)
na region (2 generacji)
Wywołania interfejsu API (CALL) Wywołania interfejsu API „call” 16 na 100 sekund Nie dotyczy Nie2 na projekt

Skalowalność

Funkcje w Cloud Functions wywoływane przez HTTP szybko skalują się w górę, aby obsługiwać ruch przychodzący, podczas gdy funkcje w tle skalują się stopniowo. Zdolność funkcji do skalowania w górę zależy od kilku czynników, w tym:

  • Czas potrzebny na wykonanie wykonania funkcji (funkcje działające krótko mogą być zwykle skalowane w górę, aby obsłużyć więcej równoczesnych żądań).
  • Czas potrzebny na zainicjowanie funkcji podczas zimnego uruchomienia.
  • Odsetek błędów funkcji.
  • Czynniki przejściowe, takie jak obciążenie regionalne i pojemność centrum danych.

Funkcje działające w tle mają dodatkowe ograniczenia, które opisujemy poniżej. Te limity nie dotyczą funkcji HTTP pierwszej generacji.

Dodatkowe limity dla funkcji w tle

Limit Opis Limit Można zwiększyć Zakres Wersja usługi
Maksymalna liczba równoczesnych wywołań Maksymalna liczba równoczesnych wywołań pojedynczej funkcji
Przykład: jeśli obsługa każdego zdarzenia trwa 100 sekund, częstotliwość wywołań będzie średnio ograniczona do 30 na sekundę
3000 Tak na funkcję Tylko 1 generacja
Maksymalny współczynnik wywołań Maksymalna częstotliwość zdarzeń obsługiwanych przez jedną funkcję
Przykład: jeśli obsługa zdarzenia trwa 100 ms, częstotliwość wywołań będzie ograniczona do 1000 na sekundę nawet wtedy, gdy średnio będzie obsługiwać tylko 100 żądań
1000 na sekundę Nie na funkcję Tylko 1 generacja
Maksymalny rozmiar danych zdarzeń równoczesnych Maksymalny łączny rozmiar zdarzeń przychodzących do równoczesnych wywołań pojedynczej funkcji
Przykład: jeśli zdarzenia mają rozmiar 1 MB, a przetwarzanie ich trwa 10 sekund, średnia częstotliwość będzie wynosić 1 zdarzenie na sekundę, ponieważ 11 zdarzenie zostanie przetworzone dopiero po zakończeniu przetwarzania jednego z pierwszych 10 zdarzeń
10 MB Nie na funkcję 1 generacji i 2nd gen
Maksymalna przepustowość zdarzeń przychodzących 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 wtedy, gdy funkcje zakończą się w ciągu 100 ms
10 MB na sekundę Nie na funkcję 1 generacji i 2nd gen

Po osiągnięciu limitu

Gdy funkcja wykorzystuje cały przydzielonych zasobów, zasób staje się niedostępny, dopóki limit nie zostanie odświeżony lub zwiększony. Może to oznaczać, że Twoja funkcja i wszystkie inne funkcje w tym samym projekcie nie będą do tego czasu działać. Funkcja zwraca kod błędu HTTP 500, gdy jeden z zasobów przekracza limit i nie można jej wykonać.

Aby zwiększyć limity powyżej wartości domyślnych wymienionych tutaj, otwórz stronę limitów Cloud Functions, wybierz limity, które chcesz zmienić, kliknij EDYTUJ LIMITY, podaj informacje o swoim użytkowniku (jeśli pojawi się taka prośba) i wpisz nowy limit dla każdego wybranego limitu.

Limity dla wdrożenia interfejsu wiersza poleceń Firebase

W przypadku każdej funkcji wdrażanej przez interfejs wiersza poleceń Firebase ma to wpływ na te typy limitów czasu i szybkości:

  • Wywołania interfejsu API (ODCZYT) – 1 wywołanie na wdrożenie bez względu na liczbę funkcji.
    • Limit: 5000 na 100 sekund
  • Wywołania interfejsu API (WRITE) – 1 wywołanie na funkcję
    • Limit: 80 na 100 sekund

Zobacz też dokumentację interfejsu wiersza poleceń Firebase.