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

หน้านี้แสดงรายละเอียดขีดจํากัดแบบปรับขนาดได้ซึ่งอิงตามการใช้งานสําหรับ 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 (บีบอัด) สำหรับแหล่งที่มา
500MB (ไม่บีบอัด) สำหรับแหล่งที่มาและโมดูล
ไม่มี ไม่ ต่อฟังก์ชัน
ขนาดสูงสุดของคำขอ HTTP ที่ไม่ได้บีบอัด ข้อมูลที่ส่งไปยัง HTTP Functions ในคำขอ HTTP 10MB 32MB ไม่ ต่อการเรียกใช้
ขนาดการตอบกลับ HTTP ที่ไม่มีการบีบอัดสูงสุด ข้อมูลที่ส่งจากฟังก์ชัน HTTP ในการตอบกลับ HTTP 10MB 10 MB สําหรับการสตรีมคําตอบ
32 MB สําหรับคําตอบแบบไม่สตรีม
ไม่ ต่อการเรียกใช้
ขนาดเหตุการณ์สูงสุดสําหรับฟังก์ชันที่ทํางานตามเหตุการณ์ ข้อมูลที่ส่งในเหตุการณ์ไปยังฟังก์ชันเบื้องหลัง 10MB 512 KB สำหรับเหตุการณ์ Eventarc
10 MB สำหรับเหตุการณ์เดิม
ไม่ ต่อเหตุการณ์
หน่วยความจําสูงสุดของฟังก์ชัน จำนวนหน่วยความจำที่อินสแตนซ์ฟังก์ชันแต่ละรายการใช้ได้ 8GiB 32GiB ไม่ ต่อฟังก์ชัน
หน่วยความจําสูงสุดของโปรเจ็กต์ จำนวนหน่วยความจำ (เป็น By) ที่โปรเจ็กต์ใช้ได้ ซึ่งวัดจากผลรวมทั้งหมดของหน่วยความจําที่ผู้ใช้ขอในอินสแตนซ์ฟังก์ชันในช่วง 1 นาที ขึ้นอยู่กับภูมิภาคที่เลือก ขีดจํากัดนี้อาจสูงกว่าในภูมิภาคที่มีขีดจํากัดสูง หรือต่ำกว่าในภูมิภาคที่เพิ่งเปิด ไม่มี ใช่ ต่อโปรเจ็กต์และภูมิภาค
CPU สูงสุดของโปรเจ็กต์ จำนวน CPU (เป็น vCPU หน่วยมิลลิ) ที่โปรเจ็กต์หนึ่งใช้ได้ ซึ่งวัดจากผลรวมทั้งหมดของ CPU ที่ผู้ใช้ขอในอินสแตนซ์ฟังก์ชันในช่วง 1 นาที ขึ้นอยู่กับภูมิภาคที่เลือก ขีดจํากัดนี้อาจสูงกว่าในภูมิภาคที่มีขีดจํากัดสูง หรือต่ำกว่าในภูมิภาคที่เพิ่งเปิด ไม่มี ใช่ ต่อโปรเจ็กต์และภูมิภาค

ขีดจำกัดเวลา

โควต้า คำอธิบาย Limit (รุ่นที่ 1) Limit (รุ่นที่ 2) เพิ่มได้ ขอบเขต
ระยะเวลาสูงสุดของฟังก์ชัน ระยะเวลาสูงสุดที่ฟังก์ชันจะทํางานได้ก่อนที่จะสิ้นสุดลง 540 วินาที 60 นาทีสําหรับฟังก์ชัน HTTP
9 นาทีสําหรับฟังก์ชันที่ทํางานตามเหตุการณ์
ไม่ ต่อการเรียกใช้

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

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

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

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

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

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

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

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 (เขียน) - 1 ครั้งต่อฟังก์ชัน
    • จำกัด: 80 ครั้งต่อ 100 วินาที

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