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

หน้านี้จะอธิบายรายละเอียดเกี่ยวกับขีดจำกัดตามการใช้งานที่ปรับขนาดได้สำหรับ 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 5,000 รายการต่อ 100 วินาที 1,200 รายการต่อ 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 (READ) - 1 การเรียกต่อการติดตั้งใช้งาน ไม่ว่าจะมีกี่ฟังก์ชันก็ตาม
    • ขีดจำกัด: 5,000 รายการต่อ 100 วินาที
  • การเรียก API (WRITE) - 1 การเรียกต่อฟังก์ชัน
    • ขีดจำกัด: 80 รายการต่อ 100 วินาที

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