Trang này trình bày chi tiết các hạn mức dựa trên mức sử dụng, có thể mở rộng của Cloud Functions theo gói giá linh hoạt trả tiền theo mức dùng. Các giới hạn này áp dụng cho những dự án Firebase triển khai hàm cho môi trường thời gian chạy Node.js 10.
Gói linh hoạt cung cấp miễn phí một lượng lớn 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 khoản phí trên quy mô nhỏ đối với không gian lưu trữ dùng cho vùng chứa của hàm. Xem phần 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 lĩnh vực:
Giới hạn về tài nguyên
Các mức tài nguyên này ảnh hưởng đến tổng số 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
Các yếu tố này ảnh hưởng đến thời gian hoạt động.
Giới hạn số lần yêu cầu
Các điều kiện này ảnh hưởng đến tốc độ bạn có thể gọi Cloud Functions API để quản lý các hàm của mình.
Các loại hạn mức khác nhau được mô tả chi tiết hơn ở bên dưới. Sự khác biệt giữa giới hạn của Hàm đám mây (thế hệ thứ 1) và Hàm đám mây (thế hệ thứ 2) sẽ được lưu ý nếu có.
Giới hạn về tài nguyên
Giới hạn về tài nguyên ảnh hưởng đến tổng số 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à theo từng dự án và mỗi dự án đều 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ố hàm | Tổng số hàm có thể được 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 vùng |
Kích thước triển khai tối đa | Kích thước tối đa của một chức năng triển khai đơn lẻ | 100 MB (được nén) cho nguồn. 500 MB (chưa nén) đối với 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 tới các Hàm HTTP trong yêu cầu HTTP | 10MB | 32MB | Không | mỗi lần gọi |
Kích thước phản hồi HTTP không nén tối đa | Dữ liệu được gửi từ các hàm HTTP trong phản hồi HTTP | 10MB | 10 MB để tạo câu trả lời theo thời gian thực. 32 MB đối với các phản hồi không truyền trực tuyến. |
Không | mỗi lần gọi |
Kích thước 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 các sự kiện Eventarc. 10 MB đối với các sự kiện cũ. |
Không | mỗi sự kiện |
Bộ nhớ chức năng tối đa | Dung lượng bộ nhớ mà mỗi thực thể hàm có thể sử dụng | 8GiB | 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 hàm tối đa | Khoảng thời gian tối đa mà một hàm có thể chạy trước khi bị buộc kết thúc | 540 giây | 60 phút đối với các hàm HTTP. 9 phút đối với các hàm dựa trên sự kiện. |
Không | mỗi lần gọi |
Giới hạn số lần 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ê các hàm qua Cloud Functions API | 5000 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) mỗi khu vực (thế hệ thứ 2) |
Lệnh gọi API (GHI) | Lệnh gọi để triển khai hoặc xoá hàm qua Cloud Functions API | 80/100 giây | 60/60 giây | Số 1 | mỗi dự án (thế hệ thứ 1) mỗi khu vực (thế hệ thứ 2) |
Lệnh gọi API (CALL) | Lệnh gọi đến API "gọi" | 16/100 giây | Không áp dụng | Số 2 | mỗi dự án |
Khả năng mở rộng
Các chức năng đám mây do HTTP gọi ra sẽ tăng tốc độ nhanh chóng để xử lý lưu lượng truy cập đến, trong khi các chức năng ở chế độ nền sẽ mở rộng quy mô dần dần. Khả năng mở rộng quy mô của một hàm phụ thuộc vào một số yếu tố, bao gồm:
- Lượ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ư tải tại khu vực và sức chứa của trung tâm dữ liệu.
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 Ví dụ: nếu xử lý từng sự kiện mất 100 giây, thì tốc độ gọi sẽ được giới hạn trung bình ở mức 30/giây |
3.000 | Có | mỗi hàm | Chỉ thế hệ 1 |
Tỷ lệ gọi tối đa | Tốc độ tối đa của sự kiện do một hàm xử lý Ví dụ: nếu quá trình xử lý một sự kiện mất 100 mili giây, thì tốc độ gọi sẽ được giới hạn ở mức 1.000 mỗi giây ngay cả khi trung bình chỉ có 100 yêu cầu được xử lý song song |
1000 mỗi giây | Không | mỗi hàm | Chỉ thế hệ 1 |
Kích thước dữ liệu sự kiện đồng thời tối đa | Tổng kích thước tối đa của các sự kiện đến cho các lệnh gọi đồng thời của một hàm duy nhất Ví dụ: nếu các sự kiện có kích thước 1 MB và việc 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 cho các sự kiện đến | Thông lượng tối đa của các sự kiện đến vào một hàm Ví dụ: nếu các sự kiện có kích thước 1 MB, thì tốc độ gọi có thể tối đa là 10 mỗi giây, ngay cả khi các hàm kết thúc trong vòng 100 mili giây |
10MB/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 toàn bộ tài nguyên được phân bổ, tài nguyên đó sẽ không hoạt động cho đến khi hạn mức được làm mới hoặc tăng lên. Tức 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 lên trên hạn mức mặc định được liệt kê tại đây, hãy truy cập vào Trang hạn mức của Cloud Functions, 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 nếu được nhắc và nhập hạn mức mới cho từng hạn mức bạn đã chọn.
Hạn mức khi triển khai Firebase CLI
Đối với mỗi hàm mà Firebase CLI triển khai, các loại giới hạn sau đây về tốc độ và thời gian 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ể số hàm
- Giới hạn: 5000 mỗi 100 giây
- Lệnh gọi API (GHI) – 1 lệnh gọi cho mỗi hàm
- Giới hạn: 80/100 giây
Hãy xem thêm tài liệu tham khảo về Giao diện dòng lệnh (CLI) của Firebase.