Limity

Ta strona zawiera szczegółowe informacje na temat skalowalnych limitów opartych na wykorzystaniu w Cloud Functions zgodnie z abonamentem Blaze. Limity te dotyczą Projekty Firebase, które wdrażają funkcje w środowisku wykonawczym Node.js 10.

Abonament Blaze zapewnia duże ilości wywołań, czas obliczeniowy i i ruchu w internecie. Jednak wdrożenie funkcji wiąże się z opłaty na niewielką skalę za miejsce na dane wykorzystywane na kontener funkcji. Więcej informacji znajdziesz w Najczęstszych pytaniach na temat Firebase.

Limity w Google Cloud Functions obejmują 3 obszary:

  • Limity zasobów

    Mają wpływ na łączną ilość zasobów, które mogą zużywać funkcje.

  • Limity czasu

    Wpływają one na czas trwania transmisji.

  • Limity szybkości

    Ma to wpływ na szybkość, z jaką można wywoływać interfejs Cloud Functions API w celu i zarządzać funkcjami.

Różne typy limitów zostały szczegółowo opisane poniżej. Różnice między limitami w Cloud Functions (1 generacji) a W stosownych przypadkach podane są funkcje 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 regionie 1000 1000 minus liczba wdrożonych usług Cloud Run Nie według regionu
Maksymalny rozmiar wdrożenia Maksymalny rozmiar wdrożenia z jedną funkcją 100 MB (skompresowane) w przypadku źródeł.
500 MB (bez kompresji) w przypadku źródeł i modułów.
Nie dotyczy Nie na funkcję
Maksymalny rozmiar nieskompresowanego żądania HTTP Dane wysył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 na potrzeby strumieniowego przesyłania odpowiedzi.
32 MB na odpowiedzi niestrumieniowe.
Nie na wywołanie
Maksymalny rozmiar zdarzenia dla 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 zdarzeń.
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 wymuszonym zakończeniem 540 sekund 60 minut na funkcje HTTP.
9 minut na funkcje oparte na zdarzeniach.
Nie na wywołanie

Limity szybkości

Limit Opis Limit (1 generacji) Limit (2 generacji) Można zwiększyć Zakres
Wywołania interfejsu API (READ) Wywołania do opisania lub wyświetlania listy funkcji za pomocą interfejsu Cloud Functions API 5000 na 100 sekund 1200 na 60 sekund Tylko 1 generacja na projekt (1 generacji)
na region (2 generacji)
Wywołania interfejsu API (WRITE) Wywołania wdrażania lub usuwania funkcji za pomocą interfejsu Cloud Functions API 80 na 100 sekund 60 na 60 sekund Nie 1 na projekt (1 generacji)
na region (2 generacji)
Wywołania interfejsu API (CALL) Połączenia z „połączeniem” API 16 na 100 sekund Nie dotyczy Nie 2 na projekt
.

Skalowalność

Funkcje Cloud Functions wywoływane przez HTTP skalują się szybko w górę, aby obsługiwać ruch przychodzący a funkcje działające w tle skalują się wolniej. Zdolność funkcji do skalowania zależy od kilku czynników, m.in.:

  • Czas potrzebny na wykonanie funkcji (funkcje o krótkim czasie działania mogą ogólnie skalować się w górę, aby obsługiwać więcej równoczesnych zadań ).
  • Czas potrzebny na zainicjowanie funkcji zimnego startu.
  • Odsetek błędów Twojej funkcji.
  • Czynniki przejściowe, takie jak obciążenie regionalne i pojemność centrów danych.

. Funkcje działające w tle mają dodatkowe opisane poniżej. Te limity nie dotyczą 1 generacji Funkcje HTTP.

Dodatkowe limity funkcji w tle

Limit Opis Limit Można zwiększyć Zakres Wersja usługi
Maksymalna liczba jednoczesnych wywołań Maksymalna liczba równoczesnych wywołań jednej funkcji
Przykład: jeśli obsługa każdego zdarzenia zajmuje 100 sekund, wywołanie szybkość będzie ograniczona do średnio 30 na sekundę
3000 Tak na funkcję Tylko 1 generacja
Maksymalny współczynnik wywołań Maksymalna liczba zdarzeń obsługiwanych przez jedną funkcję
Przykład: jeśli obsługa zdarzenia trwa 100 ms, wywołanie częstotliwość jest ograniczona do 1000 na sekundę, nawet jeśli tylko 100 żądań, są obsługiwane równolegle średnio
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ń pojedyncza funkcja
Przykład: jeśli zdarzenia mają rozmiar 1 MB, a przetworzenie ich zajmuje 10 minut s, średnia częstotliwość będzie wynosić 1 zdarzenie na sekundę, ponieważ 11. zdarzenie zostanie przetworzone dopiero po przetworzeniu jednego z 10 pierwszych zdarzeń kończy
10 MB Nie na funkcję 1 generacji i 2 generacji
Maksymalna przepustowość zdarzeń przychodzących Maksymalna przepustowość zdarzeń przychodzących do jednej funkcji
Przykład: jeśli zdarzenia mają rozmiar 1 MB, współczynnik wywołań może maksymalnie 10 na sekundę, nawet jeśli funkcje zakończą się w ciągu 100 ms
10 MB na sekundę Nie na funkcję 1 generacji i 2 generacji

Po osiągnięciu limitu

Gdy funkcja zużywa cały przydzielony zasób, ten zasób staje się niedostępne, dopóki limit nie zostanie odświeżony lub zwiększony. Może to oznaczać, że Twoja 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 jest przekroczy limit, przez co funkcja nie zostanie wykonana.

Aby zwiększyć limity powyżej wartości domyślnych wymienionych tutaj, otwórz stronie limitów w Cloud Functions, wybierz limity, które chcesz zmienić, i kliknij EDYTUJ LIMITY, podaj informacje o użytkowniku, jeśli pojawi się taka prośba, i wpisz nowe 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 te typy współczynnik lub limity czasowe:

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

Zobacz też dokumentację wiersza poleceń Firebase.