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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cloud Functions ที่เรียกใช้โดย 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 เมื่อทรัพยากรอย่างใดอย่างหนึ่ง เกินโควต้าและฟังก์ชันดำเนินการไม่ได้

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

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

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

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

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