了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Kwoty i limity

Ta strona zawiera szczegółowe informacje na temat skalowalnych, opartych na użyciu limitów funkcji Cloud Functions zgodnie z planem cenowym Blaze typu płatność zgodnie z rzeczywistym użyciem. Te ograniczenia dotyczą projektów Firebase, które wdrażają funkcje w środowisku wykonawczym Node.js 10.

Plan Blaze zapewnia bezpłatnie hojną liczbę wywołań, czas obliczeniowy i ruch internetowy. Jednak wdrożenia funkcji wiążą się z opłatami na małą skalę za miejsce do magazynowania używane przez kontener funkcji. Zobacz często zadawane pytania dotyczące Firebase, aby uzyskać więcej informacji.

Limity dla Google Cloud Functions obejmują 3 obszary:

  • Limity zasobów

    Mają one wpływ na całkowitą ilość zasobów, które mogą być używane przez funkcje.

  • Limity czasowe

    Wpływają one na to, jak długo rzeczy mogą działać.

  • Limity stawek

    Mają one wpływ na szybkość, z jaką możesz wywoływać interfejs Cloud Functions API do zarządzania swoimi funkcjami.

Różne rodzaje limitów opisano bardziej szczegółowo poniżej. 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, które mogą być używane przez funkcje. Zakres regionalny dotyczy każdego projektu, a każdy projekt ma swoje własne ograniczenia.

Kontyngent Opis Ograniczenie (pierwsza generacja) Limit (2. generacji) Można zwiększyć Zakres
Liczba funkcji Łączna liczba funkcji, które można wdrożyć na region 1000 1000 minus liczba wdrożonych usług Cloud Run NIE na region
Maksymalny rozmiar wdrożenia Maksymalny rozmiar wdrożenia pojedynczej funkcji 100 MB (skompresowane) dla źródeł.
500 MB (nieskompresowane) 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 32MB NIE za wywołanie
Maksymalny rozmiar nieskompresowanej odpowiedzi HTTP Dane wysłane z funkcji HTTP w odpowiedzi HTTP 10MB 10 MB na przesyłanie strumieniowe odpowiedzi.
32 MB dla odpowiedzi nie przesyłanych strumieniowo.
NIE za wywołanie
Maksymalny rozmiar zdarzenia dla funkcji sterowanych zdarzeniami Dane wysyłane w zdarzeniach do funkcji w tle 10MB 512 KB na zdarzenia Eventarc.
10 MB na starsze wydarzenia.
NIE na wydarzenie
Maksymalna pamięć funkcji Ilość pamięci, z której może korzystać każda instancja funkcji 8 GiB 16 GiB NIE na funkcję

Limity czasowe

Kontyngent Opis Ograniczenie (pierwsza generacja) Limit (2. generacji) Można zwiększyć Zakres
Maksymalny czas trwania funkcji Maksymalny czas, przez jaki funkcja może działać przed wymuszonym zakończeniem 540 sekund 60 minut dla funkcji HTTP.
10 minut dla funkcji sterowanych zdarzeniami.
NIE za wywołanie

Limity stawek

Kontyngent Opis Ograniczenie (pierwsza generacja) Limit (2. generacji) Można zwiększyć Zakres
Wywołania API (CZYTAJ) Wywołania opisujące lub wyświetlające funkcje za pośrednictwem interfejsu Cloud Functions API 5000 na 100 sekund 1200 na 60 sekund Tylko dla I gen na projekt (1. generacja)
na region (2. generacja)
Wywołania API (WRITE) Wezwania do wdrożenia lub usunięcia 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. generacja)
Wywołania API (CALL) Wywołania interfejsu API „wywołań”. 16 na 100 sekund Nie dotyczy nr 2 na projekt

Skalowalność

Funkcje Cloud Functions wywoływane przez HTTP skalują się szybko, aby obsłużyć ruch przychodzący, podczas gdy funkcje działające w tle skalują się bardziej stopniowo. Zdolność funkcji do skalowania w górę jest podyktowana kilkoma czynnikami, w tym:

  • Czas potrzebny do wykonania funkcji (krótko działające funkcje można generalnie skalować w górę, aby obsłużyć więcej jednoczesnych żądań).
  • Czas potrzebny do zainicjowania funkcji przy zimnym starcie .
  • Wskaźnik błędów Twojej funkcji.
  • Czynniki przejściowe, takie jak obciążenie regionalne i pojemność centrum danych.

Funkcje działające w tle mają dodatkowe ograniczenia, jak wyjaśniono poniżej. Te ograniczenia nie dotyczą funkcji HTTP pierwszej generacji.

Dodatkowe limity dla funkcji działających 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ń zostanie ograniczona średnio do 30 na sekundę
3000 NIE na funkcję Tylko 1 gen
Maksymalna częstotliwość wywołań Maksymalna liczba zdarzeń obsługiwanych przez pojedynczą funkcję
Przykład: jeśli obsługa zdarzenia trwa 100 ms, częstotliwość wywołań zostanie ograniczona do 1000 na sekundę, nawet jeśli średnio tylko 100 żądań jest obsługiwanych równolegle
1000 na sekundę NIE na funkcję Tylko 1 gen
Maksymalny rozmiar danych zdarzenia współbieżnego 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ść zdarzeń przychodzących Maksymalna przepustowość zdarzeń przychodzących do pojedynczej funkcji
Przykład: jeśli zdarzenia mają rozmiar 1 MB, to częstotliwość wywołań może wynosić maksymalnie 10 na sekundę, nawet jeśli funkcje zakoń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 przekracza limit i funkcja nie może zostać wykonana.

Aby zwiększyć przydziały powyżej wartości domyślnych podanych tutaj, przejdź na stronę przydziałów Cloud Functions , wybierz przydziały, które chcesz zmodyfikować, kliknij EDYTUJ PRZYDZIAŁY , podaj informacje o użytkowniku, jeśli zostaniesz o to poproszony, i wprowadź nowy limit przydziału dla każdego wybranego przydziału.

Limity przydziału dla wdrożenia Firebase CLI

W przypadku każdej funkcji wdrażanej przez Firebase CLI mają wpływ następujące rodzaje limitów szybkości i czasu:

  • Wywołania API (READ) — 1 wywołanie na wdrożenie, bez względu na liczbę funkcji
    • Limit: 5000 na 100 sekund
  • Wywołania API (WRITE) - 1 wywołanie na funkcję
    • Limit: 80 na 100 sekund

Zobacz także informacje dotyczące Firebase CLI .