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

หน้านี้แสดงรายละเอียดขีดจำกัดที่รองรับการปรับขนาดตามการใช้งานสำหรับ 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 "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 เท่านั้น
ขนาดข้อมูลเหตุการณ์พร้อมกันสูงสุด ขนาดรวมสูงสุดของเหตุการณ์ขาเข้าสำหรับการเรียกใช้พร้อมกันของ ฟังก์ชันเดียว
ตัวอย่าง: หากเหตุการณ์มีขนาด 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 ด้วย