โควต้าและขีดจำกัด

หน้านี้แสดงรายละเอียดขีดจำกัดที่รองรับการปรับขนาดได้ตามการใช้งานสำหรับ Cloud Functions ตามแพ็กเกจราคาแบบจ่ายเมื่อใช้ของ Blaze ขีดจำกัดเหล่านี้มีผลกับ โปรเจ็กต์ Firebase ที่ติดตั้งใช้งานฟังก์ชันในสภาพแวดล้อมรันไทม์ Node.js 10

แพ็กเกจ Blaze ให้การเรียกใช้ เวลาในการประมวลผล และ การรับส่งข้อมูลทางอินเทอร์เน็ตจำนวนมากโดยไม่มีค่าใช้จ่าย อย่างไรก็ตาม การติดตั้งใช้งานฟังก์ชันจะทำให้เกิด ค่าใช้จ่ายขนาดเล็กสำหรับพื้นที่เก็บข้อมูลที่ใช้สำหรับคอนเทนเนอร์ของฟังก์ชัน ดูข้อมูลเพิ่มเติมได้ในคำถามที่พบบ่อยของ Firebase

โควต้าสำหรับ Firebase ครอบคลุม 4 ด้าน ได้แก่

  • ขีดจำกัดทรัพยากร

    ซึ่งจะส่งผลต่อปริมาณทรัพยากรทั้งหมดที่ฟังก์ชันใช้ได้

  • การจำกัดเวลา

    ซึ่งจะส่งผลต่อระยะเวลาที่สิ่งต่างๆ จะทำงานได้

  • ขีดจำกัดอัตรา

    ซึ่งจะส่งผลต่ออัตราที่คุณเรียกใช้ Firebase API เพื่อจัดการฟังก์ชันได้

  • ขีดจำกัดของเครือข่าย

    ซึ่งจะส่งผลต่อการเชื่อมต่อขาออกและขีดจำกัดของอินสแตนซ์

การจำกัดประเภทต่างๆ มีรายละเอียดเพิ่มเติมดังนี้ ความแตกต่างระหว่างขีดจำกัดสำหรับ Firebase (รุ่นที่ 1) และ Firebase (รุ่นที่ 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 วินาที
  • 60 นาทีสำหรับฟังก์ชัน HTTP
  • 1,800 วินาทีสำหรับฟังก์ชันที่กำหนดเวลา/คิวงาน
  • 540 วินาทีสำหรับฟังก์ชันที่ขับเคลื่อนด้วยเหตุการณ์
ไม่ ต่อการเรียกใช้

ขีดจำกัดอัตรา

โควต้า คำอธิบาย Limit (รุ่นที่ 1) Limit (รุ่นที่ 2) เพิ่มได้ ขอบเขต
การเรียก API (อ่าน) การเรียกเพื่ออธิบายหรือแสดงฟังก์ชันผ่าน Firebase API 5000 ต่อ 100 วินาที 1200 ต่อ 60 วินาที สำหรับรุ่นที่ 1 เท่านั้น ต่อโปรเจ็กต์ (รุ่นที่ 1)
ต่อภูมิภาค (รุ่นที่ 2)
การเรียก API (WRITE) การเรียกใช้เพื่อติดตั้งใช้งานหรือลบฟังก์ชันผ่าน Firebase API 80 ต่อ 100 วินาที 60 ต่อ 60 วินาที ไม่ 1 ต่อโปรเจ็กต์ (รุ่นที่ 1)
ต่อภูมิภาค (รุ่นที่ 2)
การเรียก API (CALL) การเรียก API "call" 16 ต่อ 100 วินาที ไม่มี ไม่ได้ 2 ต่อโปรเจ็กต์

ขีดจำกัดของเครือข่าย

ดูข้อมูลเกี่ยวกับคำขอเครือข่ายและ ขีดจำกัดแบนด์วิดท์ของ Firebase (รุ่นที่ 2) ได้ที่ขีดจำกัดเครือข่าย

Firebase (รุ่นที่ 1) มีขีดจำกัดด้านเครือข่ายดังนี้

  • การเชื่อมต่อขาออกต่อวินาทีต่ออินสแตนซ์: 500 (เพิ่มไม่ได้)
  • การแปลง DNS ขาออกต่อวินาทีต่ออินสแตนซ์: 100 (เพิ่มไม่ได้)
  • แพ็กเก็ตสูงสุดต่อวินาทีต่ออินสแตนซ์: 80,000
  • บิตต่อวินาทีสูงสุดต่ออินสแตนซ์: 100,000,000

ความสามารถในการปรับขนาด

Firebase ที่เรียกใช้โดย HTTP จะเพิ่มทรัพยากรอย่างรวดเร็วเพื่อรองรับการเข้าชมที่เข้ามา ในขณะที่ฟังก์ชันพื้นหลังจะปรับขนาดอย่างค่อยเป็นค่อยไป ความสามารถในการปรับขนาดของฟังก์ชัน ขึ้นอยู่กับปัจจัยบางอย่าง ได้แก่

  • ระยะเวลาที่ใช้ในการดำเนินการฟังก์ชันให้เสร็จสมบูรณ์ (โดยทั่วไปแล้ว ฟังก์ชันที่ทำงานในระยะเวลาสั้นจะเพิ่มทรัพยากรเพื่อรองรับคำขอหลายรายการพร้อมกันได้มากขึ้น )
  • ระยะเวลาที่ฟังก์ชันใช้ในการเริ่มต้นในการเริ่มแอปแบบ Cold Start
  • อัตราข้อผิดพลาดของฟังก์ชัน
  • ปัจจัยชั่วคราว เช่น โหลดในภูมิภาคและความจุของศูนย์ข้อมูล

ฟังก์ชันเบื้องหลังมีข้อจำกัดเพิ่มเติม ตามที่อธิบายไว้ด้านล่าง ขีดจำกัดเหล่านี้ไม่มีผลกับ ฟังก์ชัน HTTP รุ่นที่ 1

โควต้าเพิ่มเติมสำหรับฟังก์ชันพื้นหลัง

โควต้า คำอธิบาย ขีดจำกัด เพิ่มได้ ขอบเขต เวอร์ชันผลิตภัณฑ์
การเรียกใช้พร้อมกันสูงสุด การเรียกใช้ฟังก์ชันเดียวพร้อมกันสูงสุด
ตัวอย่าง: หากการจัดการแต่ละเหตุการณ์ใช้เวลา 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 เมื่อทรัพยากรอย่างใดอย่างหนึ่ง เกินโควต้าและฟังก์ชันไม่สามารถดำเนินการได้

หากต้องการเพิ่มโควต้าให้สูงกว่าค่าเริ่มต้นที่ระบุไว้ที่นี่ ให้ไปที่ Firebaseหน้าโควต้า เลือกโควต้าที่ต้องการแก้ไข คลิกแก้ไขโควต้า ระบุข้อมูลผู้ใช้หากระบบแจ้ง และป้อนขีดจํากัดโควต้าใหม่สําหรับแต่ละโควต้าที่เลือก

โควต้าสำหรับการทำให้ใช้งานได้โดยใช้ Firebase CLI

สำหรับฟังก์ชันแต่ละรายการที่ Firebase CLI จะทําการติดตั้งใช้งาน ขีดจํากัดอัตราและเวลาประเภทต่อไปนี้จะได้รับผลกระทบ

  • การเรียก API (อ่าน) - 1 ครั้งต่อการติดตั้งใช้งาน ไม่ว่าจะมีฟังก์ชันกี่ฟังก์ชัน
    • ขีดจำกัด: 5,000 รายการต่อ 100 วินาที
  • การเรียก API (WRITE) - 1 การเรียกต่อฟังก์ชัน
    • ขีดจำกัด: 80 รายการต่อ 100 วินาที

ดูแหล่งอ้างอิง Firebase CLI ด้วย