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

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

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

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

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

    ขีดจำกัดเหล่านี้จะส่งผลต่อจำนวนทรัพยากรทั้งหมดที่ฟังก์ชันใช้ได้

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

    ขีดจำกัดเหล่านี้จะส่งผลต่อระยะเวลาที่ฟังก์ชันทำงานได้

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

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

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

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

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

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

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

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

โควต้า คำอธิบาย ขีดจำกัด (รุ่นที่ 1) ขีดจำกัด (รุ่นที่ 2) เพิ่มได้ ขอบเขต
การเรียก API (อ่าน) การเรียกเพื่ออธิบายหรือแสดงรายการฟังก์ชันผ่าน Firebase API 5,000 รายการต่อ 100 วินาที 1,200 รายการต่อ 60 วินาที เฉพาะรุ่นที่ 1 ต่อโปรเจ็กต์ (รุ่นที่ 1)
ต่อภูมิภาค (รุ่นที่ 2)
การเรียก API (เขียน) การเรียกเพื่อทำให้ฟังก์ชันใช้งานได้หรือลบฟังก์ชันผ่าน Firebase API 80 รายการต่อ 100 วินาที 60 รายการต่อ 60 วินาที ไม่ได้ 1 ต่อโปรเจ็กต์ (รุ่นที่ 1)
ต่อภูมิภาค (รุ่นที่ 2)
การเรียก API (เรียกใช้) การเรียก API "เรียกใช้" 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 เท่านั้น
ขนาดข้อมูลเหตุการณ์พร้อมกันสูงสุด ขนาดรวมสูงสุดของเหตุการณ์ขาเข้าสำหรับการเรียกใช้พร้อมกันของ ฟังก์ชันเดียว
ตัวอย่าง: หากเหตุการณ์มีขนาด 1MB และการประมวลผลเหตุการณ์ใช้เวลา 10 วินาที อัตราเฉลี่ยจะเป็น 1 เหตุการณ์ต่อวินาที เนื่องจากระบบจะไม่ประมวลผลเหตุการณ์ที่ 11 จนกว่าการประมวลผลเหตุการณ์ 1 ใน 10 เหตุการณ์แรกจะเสร็จสิ้น
10MB ไม่ได้ ต่อฟังก์ชัน รุ่นที่ 1 และรุ่นที่ 2
อัตราการส่งข้อมูลสูงสุดของเหตุการณ์ขาเข้า อัตราการส่งข้อมูลสูงสุดของเหตุการณ์ขาเข้าไปยังฟังก์ชันเดียว
ตัวอย่าง: หากเหตุการณ์มีขนาด 1MB อัตราการเรียกใช้จะ อยู่ที่ 10 รายการต่อวินาทีสูงสุด แม้ว่าฟังก์ชันจะเสร็จสิ้นภายใน 100 มิลลิวินาทีก็ตาม
10MB ต่อวินาที ไม่ได้ ต่อฟังก์ชัน รุ่นที่ 1 และรุ่นที่ 2

เมื่อถึงขีดจำกัดโควต้า

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

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

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

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

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

ดูข้อมูลอ้างอิง Firebase CLI ด้วย