Firebase is back at Google I/O on May 10! Register now

Квоты и лимиты

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

На этой странице подробно описаны масштабируемые ограничения на использование облачных функций в соответствии с тарифным планом Blaze с оплатой по мере использования. Эти ограничения применяются к проектам Firebase, которые развертывают функции в среде выполнения Node.js 10.

План Blaze предоставляет большое количество бесплатных вызовов, вычислительного времени и интернет-трафика. Однако при развертывании функций взимается небольшая плата за пространство хранения, используемое для контейнера функции. Дополнительную информацию см. в FAQ Firebase.

Квоты для Google Cloud Functions охватывают 3 области:

  • Ограничения ресурсов

    Они влияют на общее количество ресурсов, которые могут потреблять ваши функции.

  • Ограничения по времени

    Они влияют на то, как долго все может работать.

  • Ограничения скорости

    Они влияют на скорость, с которой вы можете вызывать API облачных функций для управления своими функциями.

Различные типы лимитов более подробно описаны ниже. Различия между ограничениями для облачных функций (1-го поколения) и облачных функций (2-го поколения) указаны там, где это применимо.

Ограничения ресурсов

Ограничения ресурсов влияют на общий объем ресурсов, которые могут потреблять ваши функции. Региональный охват определяется для каждого проекта, и каждый проект поддерживает свои ограничения.

квота Описание Лимит (1-е поколение) Лимит (2-е поколение) Может быть увеличен Объем
Количество функций Общее количество функций, которые можно развернуть в каждом регионе 1000 1000 минус количество развернутых сервисов Cloud Run Нет на регион
Максимальный размер развертывания Максимальный размер развертывания одной функции 100 МБ (в сжатом виде) для исходников.
500 МБ (без сжатия) для исходников и модулей.
Н/Д Нет на функцию
Максимальный размер несжатого HTTP-запроса Данные, отправляемые функциям HTTP в HTTP-запросе 10 МБ 32 МБ Нет за вызов
Максимальный размер несжатого HTTP-ответа Данные, отправленные из функций HTTP в ответе HTTP 10 МБ 10 МБ для потоковых ответов.
32 МБ для непотоковых ответов.
Нет за вызов
Максимальный размер события для функций, управляемых событиями Данные, отправленные в событиях в фоновые функции 10 МБ 512 КБ для событий Eventarc.
10 МБ для устаревших событий.
Нет за событие
Максимальная функциональная память Объем памяти, который может использовать каждый экземпляр функции 8 ГБ 16 ГБ Нет на функцию

Ограничения по времени

квота Описание Лимит (1-е поколение) Лимит (2-е поколение) Может быть увеличен Объем
Максимальная продолжительность функции Максимальное количество времени, в течение которого функция может выполняться до принудительного завершения. 540 секунд 60 минут для функций HTTP.
10 минут для функций, управляемых событиями.
Нет за вызов

Ограничения скорости

квота Описание Лимит (1-е поколение) Лимит (2-е поколение) Может быть увеличен Объем
Вызовы API (ЧИТАТЬ) Вызовы для описания или перечисления функций через API облачных функций 5000 за 100 секунд 1200 за 60 секунд Только для 1-го поколения за проект (1-е поколение)
на регион (2-е поколение)
Вызовы API (ЗАПИСЬ) Вызовы для развертывания или удаления функций через API облачных функций. 80 за 100 секунд 60 за 60 секунд1 за проект (1-е поколение)
на регион (2-е поколение)
Вызовы API (CALL) Вызовы в API "вызова" 16 за 100 секунд Н/Д2 за проект

Масштабируемость

Облачные функции, вызываемые HTTP, быстро масштабируются для обработки входящего трафика, тогда как фоновые функции масштабируются более постепенно. Возможность масштабирования функции определяется несколькими факторами, в том числе:

  • Количество времени, которое требуется для завершения выполнения функции (кратковременные функции обычно могут масштабироваться для обработки большего количества одновременных запросов).
  • Время, необходимое для инициализации функции при холодном запуске .
  • Частота ошибок вашей функции.
  • Временные факторы, такие как региональная нагрузка и мощность центра обработки данных.

Фоновые функции имеют дополнительные ограничения, как описано ниже. Эти ограничения не применяются к функциям HTTP первого поколения.

Дополнительные квоты для фоновых функций

квота Описание Ограничение Может быть увеличен Объем Версия продукта
Максимальное количество одновременных вызовов Максимальное количество одновременных вызовов одной функции
Пример: если обработка каждого события занимает 100 секунд, скорость вызова будет ограничена в среднем до 30 в секунду.
3000 Нет на функцию только 1 поколение
Максимальная частота вызовов Максимальная частота событий, обрабатываемых одной функцией
Пример: если обработка события занимает 100 мс, частота вызовов будет ограничена 1000 в секунду, даже если в среднем только 100 запросов обрабатываются параллельно.
1000 в секунду Нет на функцию только 1 поколение
Максимальный размер данных параллельного события Максимальный общий размер входящих событий для одновременных вызовов одной функции
Пример: если события имеют размер 1 МБ и их обработка занимает 10 секунд, средняя скорость будет равна 1 событию в секунду, поскольку 11-е событие не будет обработано, пока не завершится обработка одного из первых 10 событий.
10 МБ Нет на функцию 1-го поколения и 2-го поколения
Максимальная пропускная способность входящих событий Максимальная пропускная способность входящих событий на одну функцию
Пример: если события имеют размер 1 МБ, то частота вызовов может быть не более 10 в секунду, даже если функции завершаются в течение 100 мс.
10 МБ в секунду Нет на функцию 1-го поколения и 2-го поколения

При достижении предела квоты

Когда функция использует весь выделенный ресурс, ресурс становится недоступным, пока квота не будет обновлена ​​или увеличена. Это может означать, что ваша функция и все остальные функции в том же проекте не будут работать до тех пор. Функция возвращает код ошибки HTTP 500, когда один из ресурсов превышает квоту и функция не может быть выполнена.

Чтобы увеличить квоты выше значений по умолчанию, перечисленных здесь, перейдите на страницу квот Cloud Functions , выберите квоты, которые вы хотите изменить, нажмите EDIT QUOTAS , введите информацию о пользователе, если будет предложено, и введите новый лимит квоты для каждой выбранной вами квоты.

Квоты для развертывания Firebase CLI

Для каждой функции, которую развертывает интерфейс командной строки Firebase, действуют следующие типы ограничений скорости и времени:

  • Вызовы API (READ) — 1 вызов на развертывание, независимо от количества функций
    • Лимит: 5000 за 100 секунд
  • Вызовы API (WRITE) — 1 вызов на функцию
    • Лимит: 80 за 100 секунд

См. также справочник Firebase CLI .