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