หน้านี้จะอธิบายรายละเอียดเกี่ยวกับขีดจำกัดตามการใช้งานที่ปรับขนาดได้สำหรับ Cloud Functions ตามแพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้ ขีดจำกัดเหล่านี้มีผลกับโปรเจ็กต์ Firebase ที่ทำให้ฟังก์ชันใช้งานได้ในสภาพแวดล้อมรันไทม์ Node.js 10
แพ็กเกจราคา Blaze มีการเรียกใช้ เวลาประมวลผล และการเข้าใช้อินเทอร์เน็ตจำนวนมากโดยไม่มีค่าใช้จ่าย อย่างไรก็ตาม การติดตั้งใช้งานฟังก์ชันจะมีการเรียกเก็บเงินในจำนวนเล็กน้อยสำหรับพื้นที่เก็บข้อมูลที่ใช้สำหรับคอนเทนเนอร์ของฟังก์ชัน โปรดดูรายละเอียดที่คำถามที่พบบ่อย
โควต้าสำหรับ Cloud Functions ครอบคลุม 4 ด้าน ได้แก่
ขีดจำกัดทรัพยากร
ซึ่งจะส่งผลต่อจำนวนทรัพยากรทั้งหมดที่ฟังก์ชันใช้ได้
การจำกัดเวลา
ซึ่งจะส่งผลต่อระยะเวลาที่อุปกรณ์จะทำงานได้
ขีดจำกัดอัตราคำขอ
ซึ่งจะส่งผลต่ออัตราที่คุณสามารถเรียกใช้ Cloud Functions API เพื่อจัดการฟังก์ชันต่างๆ
ขีดจำกัดของเครือข่าย
ซึ่งจะส่งผลต่อขีดจำกัดการเชื่อมต่อขาออกและอินสแตนซ์
เราอธิบายขีดจำกัดประเภทต่างๆ ไว้อย่างละเอียดที่ด้านล่าง ความแตกต่างระหว่างขีดจำกัดของ Cloud Functions (รุ่นที่ 1) และ Cloud Functions (รุ่นที่ 2) จะระบุไว้ในส่วนที่เกี่ยวข้อง
ขีดจำกัดทรัพยากร
ขีดจำกัดของทรัพยากรจะส่งผลต่อจำนวนทรัพยากรทั้งหมดที่ฟังก์ชันของคุณใช้ได้ ขอบเขตระดับภูมิภาคจะขึ้นอยู่กับแต่ละโปรเจ็กต์ และแต่ละโปรเจ็กต์จะมีขีดจำกัดของตัวเอง
| โควต้า | คำอธิบาย | Limit (รุ่นที่ 1) | Limit (รุ่นที่ 2) | เพิ่มได้ | ขอบเขต |
|---|---|---|---|---|---|
| จำนวนฟังก์ชัน | จำนวนฟังก์ชันทั้งหมดที่นำไปใช้ได้ต่อภูมิภาค | 1,000 ราย | 1,000 ลบด้วยจำนวนบริการ Cloud Run ที่ติดตั้งใช้งาน | ไม่ | ต่อภูมิภาค |
| ขนาดการติดตั้งใช้งานสูงสุด | ขนาดสูงสุดของการติดตั้งใช้งานฟังก์ชันเดียว | 100 MB (บีบอัด) สำหรับแหล่งข้อมูล 500 MB (ไม่บีบอัด) สำหรับแหล่งที่มาและโมดูล |
ไม่มี | ไม่ | ต่อฟังก์ชัน |
| ขนาดคำขอ HTTP สูงสุดที่ไม่ได้บีบอัด | ข้อมูลที่ส่งไปยังฟังก์ชัน HTTP ในคำขอ HTTP | 10MB | 32MB | ไม่ | ต่อการเรียกใช้ |
| ขนาดการตอบกลับ HTTP สูงสุดที่ไม่ได้บีบอัด | ข้อมูลที่ส่งจากฟังก์ชัน HTTP ในการตอบกลับ HTTP | 10MB | 10 MB สำหรับคำตอบแบบสตรีมมิง 32 MB สำหรับการตอบกลับแบบไม่สตรีมมิง |
ไม่ | ต่อการเรียกใช้ |
| ขนาดเหตุการณ์สูงสุดสำหรับฟังก์ชันที่ขับเคลื่อนด้วยเหตุการณ์ | ข้อมูลที่ส่งในเหตุการณ์ไปยังฟังก์ชันที่ทำงานอยู่เบื้องหลัง | 10MB | 512 KB สำหรับเหตุการณ์ Eventarc 10 MB สำหรับกิจกรรมเดิม |
ไม่ | ต่อเหตุการณ์ |
| หน่วยความจำสูงสุดของฟังก์ชัน | ปริมาณหน่วยความจำที่อินสแตนซ์ของฟังก์ชันแต่ละรายการใช้ได้ | 8GiB | 32GiB | ไม่ | ต่อฟังก์ชัน |
| หน่วยความจำสูงสุดของโปรเจ็กต์ | ปริมาณหน่วยความจำ (หน่วยเป็นไบต์) ที่โปรเจ็กต์ใช้ได้ โดยวัดจากผลรวมของหน่วยความจำที่ผู้ใช้ร้องขอในอินสแตนซ์ของฟังก์ชันต่างๆ ในระยะเวลา 1 นาที | ขึ้นอยู่กับภูมิภาคที่เลือก ขีดจำกัดนี้อาจสูงกว่าในภูมิภาคที่มีความจุสูงหรือต่ำกว่าในภูมิภาคที่เพิ่งเปิดใหม่ | ไม่มี | ใช่ | ต่อโปรเจ็กต์และภูมิภาค |
| CPU สูงสุดของโปรเจ็กต์ | จำนวน CPU ในหน่วยมิลลิ vCPU ที่โปรเจ็กต์ใช้ได้ ซึ่งวัดจากผลรวมทั้งหมดของ CPU ที่ผู้ใช้ร้องขอในอินสแตนซ์ของฟังก์ชันในช่วงระยะเวลา 1 นาที | ขึ้นอยู่กับภูมิภาคที่เลือก ขีดจำกัดนี้อาจสูงขึ้นในภูมิภาคที่มีความจุสูงหรือต่ำลงในภูมิภาคที่เพิ่งเปิดใหม่ | ไม่มี | ใช่ | ต่อโปรเจ็กต์และภูมิภาค |
การจำกัดเวลา
| โควต้า | คำอธิบาย | Limit (รุ่นที่ 1) | Limit (รุ่นที่ 2) | เพิ่มได้ | ขอบเขต |
|---|---|---|---|---|---|
| ระยะเวลาสูงสุดของฟังก์ชัน | ระยะเวลาสูงสุดที่ฟังก์ชันจะทำงานได้ก่อนที่จะถูกบังคับให้สิ้นสุด | 540 วินาที |
|
ไม่ | ต่อการเรียกใช้ |
ขีดจำกัดอัตราคำขอ
| โควต้า | คำอธิบาย | Limit (รุ่นที่ 1) | Limit (รุ่นที่ 2) | เพิ่มได้ | ขอบเขต |
|---|---|---|---|---|---|
| การเรียก API (อ่าน) | การเรียกเพื่ออธิบายหรือแสดงรายการฟังก์ชันผ่าน Cloud Functions API | 5,000 รายการต่อ 100 วินาที | 1,200 รายการต่อ 60 วินาที | เฉพาะรุ่นที่ 1 | ต่อโปรเจ็กต์ (รุ่นที่ 1) ต่อภูมิภาค (รุ่นที่ 2) |
| การเรียก API (WRITE) | การเรียกใช้เพื่อติดตั้งใช้งานหรือลบฟังก์ชันผ่าน Cloud Functions API | 80 รายการต่อ 100 วินาที | 60 รายการต่อ 60 วินาที | ไม่ 1 | ต่อโปรเจ็กต์ (รุ่นที่ 1) ต่อภูมิภาค (รุ่นที่ 2) |
| การเรียก API (CALL) | การเรียกใช้ API "call" | 16 ครั้งต่อ 100 วินาที | ไม่มี | ไม่ 2 | ต่อโปรเจ็กต์ |
ขีดจำกัดของเครือข่าย
ดูข้อมูลเกี่ยวกับคำขอเครือข่ายและขีดจำกัดแบนด์วิดท์ของ Cloud Functions (รุ่นที่ 2) ได้ที่หัวข้อขีดจำกัดของเครือข่าย
ขีดจำกัดของเครือข่ายต่อไปนี้มีผลกับ Cloud Functions (รุ่นที่ 1)
- การเชื่อมต่อขาออกต่อวินาทีต่ออินสแตนซ์: 500 (เพิ่มไม่ได้)
- การแปลง DNS ขาออกต่อวินาทีต่ออินสแตนซ์: 100 (เพิ่มไม่ได้)
- จำนวนแพ็กเก็ตสูงสุดต่อวินาทีต่ออินสแตนซ์: 80,000
- จำนวนบิตสูงสุดต่อวินาทีต่ออินสแตนซ์: 100,000,000
ความสามารถในการปรับขนาด
Cloud Functions ที่เรียกใช้โดย HTTP จะปรับขนาดอย่างรวดเร็วเพื่อจัดการกับการเข้าชมที่เข้ามา ขณะที่ฟังก์ชันเบื้องหลังจะปรับขนาดอย่างค่อยเป็นค่อยไป ความสามารถของฟังก์ชันในการปรับขนาดขึ้นอยู่กับปัจจัยบางประการ ได้แก่
- ระยะเวลาที่ใช้ในการดำเนินการของฟังก์ชันจนเสร็จสมบูรณ์ (โดยทั่วไปแล้ว ฟังก์ชันที่ทำงานในระยะสั้นจะปรับขนาดเพื่อจัดการคำขอหลายรายการพร้อมกันได้มากขึ้น)
- ระยะเวลาที่ใช้ในการเริ่มต้นฟังก์ชันเมื่อเกิด Cold Start
- อัตราข้อผิดพลาดของฟังก์ชัน
ปัจจัยชั่วคราว เช่น โหลดระดับภูมิภาคและความจุของศูนย์ข้อมูล
โควต้าเพิ่มเติมสำหรับฟังก์ชันที่ทำงานอยู่เบื้องหลัง
| โควต้า | คำอธิบาย | ขีดจำกัด | เพิ่มได้ | ขอบเขต | เวอร์ชันใช้งานจริงของผลิตภัณฑ์ |
|---|---|---|---|---|---|
| การเรียกใช้พร้อมกันสูงสุด | การเรียกใช้ฟังก์ชันเดียวพร้อมกันสูงสุด ตัวอย่าง: หากการจัดการแต่ละเหตุการณ์ใช้เวลา 100 วินาที อัตราการเรียกใช้จะถูกจำกัดไว้ที่ 30 ครั้งต่อวินาทีโดยเฉลี่ย |
3,000 | ใช่ | ต่อฟังก์ชัน | รุ่นที่ 1 เท่านั้น |
| อัตราการเรียกใช้สูงสุด | อัตราสูงสุดของเหตุการณ์ที่จัดการโดยฟังก์ชันเดียว ตัวอย่าง: หากการจัดการเหตุการณ์ใช้เวลา 100 มิลลิวินาที อัตราการเรียกใช้จะจำกัดอยู่ที่ 1,000 ครั้งต่อวินาที แม้ว่าโดยเฉลี่ยแล้วจะมีการจัดการคำขอเพียง 100 รายการพร้อมกันก็ตาม |
1,000 รายการต่อวินาที | ไม่ | ต่อฟังก์ชัน | รุ่นที่ 1 เท่านั้น |
| ขนาดข้อมูลเหตุการณ์พร้อมกันสูงสุด | ขนาดรวมสูงสุดของเหตุการณ์ขาเข้าสำหรับการเรียกใช้ฟังก์ชันเดียวพร้อมกัน ตัวอย่าง: หากเหตุการณ์มีขนาด 1 MB และใช้เวลาประมวลผล 10 วินาที อัตราเฉลี่ยจะเป็น 1 เหตุการณ์ต่อวินาที เนื่องจากเหตุการณ์ที่ 11 จะไม่ได้รับการประมวลผลจนกว่าการประมวลผลเหตุการณ์ 10 รายการแรกรายการใดรายการหนึ่งจะเสร็จสิ้น |
10MB | ไม่ | ต่อฟังก์ชัน | รุ่นที่ 1 และรุ่นที่ 2 |
| อัตราการส่งผ่านข้อมูลสูงสุดของเหตุการณ์ขาเข้า | อัตราการส่งข้อมูลสูงสุดของเหตุการณ์ขาเข้าไปยังฟังก์ชันเดียว ตัวอย่าง: หากเหตุการณ์มีขนาด 1 MB อัตราการเรียกใช้จะสูงสุดได้ 10 ครั้งต่อวินาที แม้ว่าฟังก์ชันจะเสร็จสิ้นภายใน 100 มิลลิวินาทีก็ตาม |
10 MB ต่อวินาที | ไม่ | ต่อฟังก์ชัน | รุ่นที่ 1 และรุ่นที่ 2 |
เมื่อถึงขีดจำกัดโควต้า
เมื่อฟังก์ชันใช้ทรัพยากรที่จัดสรรไว้ทั้งหมด ทรัพยากรดังกล่าวจะไม่พร้อมใช้งานจนกว่าโควต้าจะรีเฟรชหรือเพิ่มขึ้น ซึ่งอาจหมายความว่าฟังก์ชันของคุณและฟังก์ชันอื่นๆ ทั้งหมดในโปรเจ็กต์เดียวกันจะไม่ทำงานจนกว่าจะถึงเวลานั้น ฟังก์ชันจะแสดงรหัสข้อผิดพลาด HTTP 500 เมื่อทรัพยากรรายการใดรายการหนึ่งเกินโควต้าและฟังก์ชันไม่สามารถดำเนินการได้
หากต้องการเพิ่มโควต้าให้สูงกว่าค่าเริ่มต้นที่แสดงไว้ที่นี่ ให้ไปที่ หน้าโควต้า Cloud Functions เลือกโควต้าที่ต้องการแก้ไข คลิกแก้ไขโควต้า ระบุข้อมูลผู้ใช้หากได้รับข้อความแจ้ง และป้อนขีดจำกัดโควต้าใหม่สำหรับโควต้าแต่ละรายการที่เลือก
ขีดจำกัดโควต้าสำหรับการติดตั้งใช้งาน Firebase CLI
สำหรับแต่ละฟังก์ชันที่ Firebase CLI ทำให้ใช้งานได้ อัตราและขีดจำกัดเวลาประเภทต่อไปนี้จะได้รับผลกระทบ
- การเรียก API (READ) - 1 การเรียกต่อการติดตั้งใช้งาน ไม่ว่าจะมีกี่ฟังก์ชันก็ตาม
- ขีดจำกัด: 5,000 รายการต่อ 100 วินาที
- การเรียก API (WRITE) - 1 การเรียกต่อฟังก์ชัน
- ขีดจำกัด: 80 รายการต่อ 100 วินาที
ดูแหล่งอ้างอิง Firebase CLI ด้วย