Hạn mức và giới hạn

Trang này trình bày chi tiết hạn mức dựa trên mức sử dụng, có thể mở rộng dành cho các Chức năng đám mây theo gói giá của tuỳ chọn trả tiền theo mức dùng của Blaze. Những giới hạn này áp dụng cho các dự án Firebase triển khai hàm cho môi trường thời gian chạy Node.js 10.

Gói này cung cấp miễn phí nhiều lệnh gọi, thời gian điện toán và lưu lượng truy cập Internet. Tuy nhiên, việc triển khai hàm phải chịu các khoản phí nhỏ cho không gian lưu trữ dùng cho vùng chứa của hàm. Xem Câu hỏi thường gặp về Firebase để biết thêm thông tin.

Hạn mức cho Google Cloud Functions bao gồm 3 khía cạnh:

  • Hạn mức về tài nguyên

    Chúng ảnh hưởng đến tổng lượng tài nguyên mà các hàm của bạn có thể sử dụng.

  • Giới hạn thời gian

    Những vấn đề này ảnh hưởng đến thời gian chạy chương trình.

  • Giới hạn số lượng yêu cầu

    Các API này ảnh hưởng đến tốc độ bạn có thể gọi Cloud Functions API để quản lý các chức năng của mình.

Các loại giới hạn khác nhau được mô tả chi tiết hơn trong phần dưới đây. Sự khác biệt giữa các giới hạn của Chức năng đám mây (thế hệ thứ 1) và Chức năng đám mây (thế hệ thứ 2) sẽ được lưu ý (nếu có).

Hạn mức về tài nguyên

Giới hạn về tài nguyên ảnh hưởng đến tổng lượng tài nguyên mà các hàm của bạn có thể sử dụng. Phạm vi theo khu vực là tuỳ theo dự án và mỗi dự án có các giới hạn riêng.

Hạn ngạch dung lượng Mô tả Giới hạn (thế hệ thứ 1) Giới hạn (thế hệ thứ 2) Có thể tăng thêm Phạm vi
Số lượng hàm Tổng số hàm có thể triển khai theo khu vực 1.000 1.000 trừ đi số lượng dịch vụ Cloud Run đã triển khai Không mỗi khu vực
Kích thước triển khai tối đa Kích thước tối đa của một lần triển khai hàm duy nhất 100 MB (nén) cho nguồn.
500 MB (không nén) đối với các nguồn và mô-đun.
Không áp dụng Không mỗi hàm
Kích thước tối đa của yêu cầu HTTP không nén Dữ liệu được gửi đến Hàm HTTP trong một yêu cầu HTTP 10MB 32MB Không mỗi lệnh gọi
Kích thước tối đa của phản hồi HTTP không nén Dữ liệu được gửi từ các hàm HTTP trong phản hồi HTTP 10MB 10 MB để truy cập trực tuyến câu trả lời.
32 MB đối với phản hồi không truyền trực tuyến.
Không mỗi lệnh gọi
Quy mô sự kiện tối đa cho các hàm dựa trên sự kiện Dữ liệu được gửi trong sự kiện đến các hàm nền 10MB 512KB cho sự kiện Eventarc.
10 MB đối với các sự kiện cũ.
Không mỗi sự kiện
Bộ nhớ hàm tối đa Dung lượng bộ nhớ mà mỗi thực thể hàm có thể sử dụng 8 GB 32GiB Không mỗi hàm

Giới hạn thời gian

Hạn ngạch dung lượng Mô tả Giới hạn (thế hệ thứ 1) Giới hạn (thế hệ thứ 2) Có thể tăng thêm Phạm vi
Thời lượng tối đa của hàm Khoảng thời gian tối đa mà một hàm có thể chạy trước khi bị buộc chấm dứt 540 giây 60 phút đối với các hàm HTTP.
9 phút đối với hàm dựa trên sự kiện.
Không mỗi lệnh gọi

Giới hạn số lượng yêu cầu

Hạn ngạch dung lượng Mô tả Giới hạn (thế hệ thứ 1) Giới hạn (thế hệ thứ 2) Có thể tăng thêm Phạm vi
Lệnh gọi API (READ) Lệnh gọi để mô tả hoặc liệt kê hàm thông qua Cloud Functions API 5.000 mỗi 100 giây 1200 mỗi 60 giây Chỉ dành cho thế hệ thứ 1 mỗi dự án (thế hệ thứ 1)
cho mỗi khu vực (thế hệ thứ 2)
Lệnh gọi API (WRITE) Các lệnh gọi để triển khai hoặc xoá chức năng thông qua Cloud Functions API 80/100 giây 60/60 giây Không 1 mỗi dự án (thế hệ thứ 1)
cho mỗi khu vực (thế hệ thứ 2)
Lệnh gọi API (CALL) Lệnh gọi đến API "call" 16/100 giây Không áp dụng Không 2 mỗi dự án

Khả năng mở rộng

Chức năng đám mây được gọi bằng HTTP giúp mở rộng quy mô nhanh chóng để xử lý lưu lượng truy cập đến, trong khi các hàm nền mở rộng quy mô dần dần. Khả năng mở rộng quy mô của một hàm được quyết định bởi một số yếu tố, bao gồm:

  • Khoảng thời gian cần thiết để hoàn tất quá trình thực thi một hàm (các hàm chạy trong thời gian ngắn thường có thể mở rộng quy mô để xử lý nhiều yêu cầu đồng thời hơn).
  • Khoảng thời gian cần thiết để một hàm khởi chạy khi khởi động nguội.
  • Tỷ lệ lỗi của hàm.
  • Các yếu tố tạm thời, chẳng hạn như khả năng tải theo khu vực và khả năng xử lý của trung tâm dữ liệu.

Hàm nền có các giới hạn bổ sung, như được giải thích dưới đây. Những giới hạn này không áp dụng cho hàm HTTP thế hệ thứ 1.

Hạn mức bổ sung cho các hàm ở chế độ nền

Hạn ngạch dung lượng Mô tả Giới hạn Có thể tăng thêm Phạm vi Phiên bản sản phẩm
Số lệnh gọi đồng thời tối đa Số lệnh gọi đồng thời tối đa của một hàm duy nhất
Ví dụ: nếu việc xử lý mỗi sự kiện mất 100 giây, thì tốc độ gọi sẽ giới hạn trung bình ở mức 30/giây
3.000 mỗi hàm Chỉ thế hệ thứ 1
Tốc độ gọi tối đa Tỷ lệ sự kiện tối đa mà một hàm duy nhất xử lý
Ví dụ: nếu việc xử lý một sự kiện mất 100 mili giây, thì tốc độ gọi sẽ bị giới hạn ở mức 1.000/giây, ngay cả khi chỉ có trung bình 100 yêu cầu được xử lý song song
1000/giây Không mỗi hàm Chỉ thế hệ thứ 1
Kích thước tối đa của dữ liệu sự kiện đồng thời Tổng kích thước tối đa của các sự kiện đến so với các lệnh gọi đồng thời của một hàm duy nhất
Ví dụ: nếu sự kiện có kích thước 1MB và quá trình xử lý các sự kiện đó mất 10 giây, thì tốc độ trung bình sẽ là 1 sự kiện mỗi giây, vì sự kiện thứ 11 sẽ không được xử lý cho đến khi xử lý xong 1 trong 10 sự kiện đầu tiên
10MB Không mỗi hàm thế hệ 1 và thế hệ 2
Thông lượng tối đa của các sự kiện sắp tới Công suất tối đa của các sự kiện đến cho một hàm
Ví dụ: nếu sự kiện có kích thước 1MB, thì tốc độ gọi có thể là tối đa 10 mỗi giây, ngay cả khi các hàm kết thúc trong vòng 100 mili giây
10 MB/giây Không mỗi hàm thế hệ 1 và thế hệ 2

Khi bạn đạt đến hạn mức

Khi một hàm sử dụng tất cả tài nguyên được phân bổ, tài nguyên đó sẽ không dùng được cho đến khi hạn mức được làm mới hoặc tăng lên. Điều này có thể là hàm của bạn và tất cả các hàm khác trong cùng một dự án sẽ không hoạt động cho đến thời điểm đó. Một hàm trả về mã lỗi HTTP 500 khi một trong các tài nguyên vượt quá hạn mức và hàm không thể thực thi.

Để tăng hạn mức trên các hạn mức mặc định được nêu ở đây, hãy truy cập Trang hạn mức của Chức năng đám mây, chọn hạn mức bạn muốn sửa đổi, nhấp vào CHỈNH SỬA hạn mức, cung cấp thông tin người dùng của bạn nếu được nhắc, rồi nhập hạn mức mới cho mỗi hạn mức bạn đã chọn.

Giới hạn hạn mức cho việc triển khai Firebase CLI

Đối với mỗi hàm mà Giao diện dòng lệnh (CLI) của Firebase triển khai, các loại giới hạn về tốc độ và thời gian sau đây sẽ bị ảnh hưởng:

  • Lệnh gọi API (READ) – 1 lệnh gọi mỗi lần triển khai, bất kể có bao nhiêu chức năng
    • Giới hạn: 5000/100 giây
  • Lệnh gọi API (WRITE) – 1 lệnh gọi cho mỗi hàm
    • Giới hạn: 80/100 giây

Xem thêm tài liệu tham khảo về Firebase CLI.