หน้านี้ให้รายละเอียดขีดจำกัดตามการใช้งานที่ปรับขนาดได้สำหรับ Cloud Functions ตามแผนราคา Blaze แบบจ่ายตามการใช้งาน ขีดจำกัดเหล่านี้ใช้กับโปรเจ็กต์ Firebase ที่ปรับใช้ฟังก์ชันกับสภาพแวดล้อมรันไทม์ Node.js 10
แผน Blaze ให้การเรียกใช้จำนวนมาก เวลาในการประมวลผล และการรับส่งข้อมูลทางอินเทอร์เน็ตโดยไม่คิดค่าใช้จ่าย อย่างไรก็ตาม การปรับใช้ฟังก์ชันมีค่าใช้จ่ายเล็กน้อยสำหรับพื้นที่จัดเก็บที่ใช้สำหรับคอนเทนเนอร์ของฟังก์ชัน ดู คำถามที่พบบ่อย ของ Firebase สำหรับข้อมูลเพิ่มเติม
โควต้าสำหรับ Google Cloud Functions ครอบคลุม 3 ด้าน:
ขีดจำกัดของทรัพยากร
สิ่งเหล่านี้ส่งผลต่อจำนวนทรัพยากรทั้งหมดที่ฟังก์ชันของคุณสามารถใช้ได้
จำกัดเวลา
สิ่งเหล่านี้ส่งผลต่อระยะเวลาที่สิ่งต่าง ๆ สามารถทำงานได้
ขีด จำกัด อัตรา
สิ่งเหล่านี้ส่งผลต่ออัตราที่คุณสามารถเรียกใช้ Cloud Functions API และ/หรืออัตราที่ทรัพยากรสามารถใช้ได้ คุณคิดว่าโควตาอัตราเป็น "ทรัพยากรในช่วงเวลาหนึ่ง"
ข้อจำกัดประเภทต่างๆ ได้อธิบายไว้ในรายละเอียดเพิ่มเติมด้านล่าง ความแตกต่างระหว่างขีดจำกัดสำหรับ Cloud Function (รุ่นที่ 1) และ Cloud Functions (รุ่นที่ 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 | 16GiB | ไม่ | ต่อฟังก์ชั่น |
จำกัดเวลา
โควต้า | คำอธิบาย | จำกัด (รุ่นที่ 1) | จำกัด (รุ่นที่ 2) | เพิ่มขึ้นได้ | ขอบเขต |
---|---|---|---|---|---|
ระยะเวลาฟังก์ชันสูงสุด | ระยะเวลาสูงสุดที่ฟังก์ชันสามารถทำงานได้ก่อนที่จะถูกบังคับยุติ | 540 วินาที | 60 นาทีสำหรับฟังก์ชัน HTTP 10 นาทีสำหรับฟังก์ชันที่ขับเคลื่อนด้วยเหตุการณ์ | ไม่ | ต่อการร้องขอ |
ขีด จำกัด อัตรา
โควต้า | คำอธิบาย | จำกัด (รุ่นที่ 1) | จำกัด (รุ่นที่ 2) | เพิ่มขึ้นได้ | ขอบเขต |
---|---|---|---|---|---|
การเรียก API (อ่าน) | การเรียกเพื่ออธิบายหรือแสดงรายการฟังก์ชันผ่าน Cloud Functions API | 5000 ต่อ 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 | ไม่ | ต่อฟังก์ชั่น |
อัตราการเรียกใช้สูงสุด | อัตราสูงสุดของเหตุการณ์ที่ถูกจัดการโดยฟังก์ชันเดียว ตัวอย่าง: หากการจัดการเหตุการณ์ใช้เวลา 100 มิลลิวินาที อัตราการเรียกใช้จะถูกจำกัดที่ 1,000 ต่อวินาที แม้ว่าโดยเฉลี่ยแล้วจะมีการจัดการคำขอเพียง 100 รายการแบบคู่ขนานกัน | 1,000 ต่อวินาที | ไม่ | ต่อฟังก์ชั่น |
ขนาดข้อมูลเหตุการณ์พร้อมกันสูงสุด | ขนาดรวมสูงสุดของเหตุการณ์ที่เข้ามาเพื่อเรียกใช้ฟังก์ชันเดียวพร้อมกัน ตัวอย่าง: หากเหตุการณ์มีขนาด 1MB และประมวลผลใช้เวลา 10 วินาที อัตราเฉลี่ยจะเป็น 1 เหตุการณ์ต่อวินาที เนื่องจากเหตุการณ์ที่ 11 จะไม่ถูกประมวลผลจนกว่าการประมวลผล 10 เหตุการณ์แรกจะเสร็จสิ้น | 10MB | ไม่ | ต่อฟังก์ชั่น |
ปริมาณงานสูงสุดของเหตุการณ์ที่เข้ามา | ปริมาณงานสูงสุดของเหตุการณ์ขาเข้าไปยังฟังก์ชันเดียว ตัวอย่าง: หากเหตุการณ์มีขนาด 1MB อัตราการเรียกใช้อาจสูงสุด 10 ต่อวินาที แม้ว่าฟังก์ชันจะเสร็จสิ้นภายใน 100 มิลลิวินาที | 10MB ต่อวินาที | ไม่ | ต่อฟังก์ชั่น |
เมื่อถึงขีดจำกัดโควต้า
เมื่อฟังก์ชันใช้ทรัพยากรที่จัดสรรทั้งหมด ทรัพยากรจะไม่พร้อมใช้งานจนกว่าโควตาจะรีเฟรชหรือเพิ่มขึ้น ซึ่งอาจหมายความว่าฟังก์ชันของคุณและฟังก์ชันอื่นๆ ทั้งหมดในโปรเจ็กต์เดียวกันจะไม่ทำงานจนกว่าจะถึงเวลานั้น ฟังก์ชันส่งคืนรหัสข้อผิดพลาด HTTP 500 เมื่อหนึ่งในทรัพยากรเกินโควต้าและฟังก์ชันไม่สามารถดำเนินการได้
หากต้องการเพิ่มโควต้าเหนือค่าเริ่มต้นที่แสดงไว้ที่นี่ ให้ไปที่ หน้าโควต้าของ Cloud Functions เลือกโควต้าที่คุณต้องการแก้ไข คลิก แก้ไข โควต้า ระบุข้อมูลผู้ใช้ของคุณหากได้รับแจ้ง และป้อนขีดจำกัดโควต้าใหม่สำหรับแต่ละโควต้าที่คุณเลือก
ขีดจำกัดโควต้าสำหรับการปรับใช้ Firebase CLI
สำหรับแต่ละฟังก์ชันที่ Firebase CLI ปรับใช้ การจำกัดอัตราและเวลาประเภทนี้จะได้รับผลกระทบ:
- การเรียก API (อ่าน) - 1 ครั้งต่อการปรับใช้ ไม่ว่าจะมีกี่ฟังก์ชันก็ตาม
- จำกัด: 5000 ต่อ 100 วินาที
- การเรียก API (WRITE) - 1 การเรียกต่อฟังก์ชัน
- จำกัด: 80 ต่อ 100 วินาที
ดูเพิ่มเติมที่ การ อ้างอิง Firebase CLI