कोटा और सीमाएं

इस पेज पर, Cloud Functions के लिए तय की गई सीमाओं के बारे में बताया गया है. ये सीमाएं, इस्तेमाल के हिसाब से तय की जाती हैं और इन्हें बढ़ाया जा सकता है. ये सीमाएं, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान के तहत तय की गई हैं. ये सीमाएं, Firebase के उन प्रोजेक्ट पर लागू होती हैं जिनमें Node.js 10 रनटाइम एनवायरमेंट में फ़ंक्शन डिप्लॉय किए जाते हैं.

ब्लेज़ प्लान में, फ़ंक्शन को शुरू करने, कंप्यूट टाइम, और इंटरनेट ट्रैफ़िक के लिए, तय सीमा तक कोई शुल्क नहीं लिया जाता. हालांकि, फ़ंक्शन डिप्लॉय करने पर, फ़ंक्शन के कंटेनर के लिए इस्तेमाल की गई स्टोरेज स्पेस के लिए, कम शुल्क लिया जाता है. ज़्यादा जानकारी के लिए, अक्सर पूछे जाने वाले सवाल देखें .

Cloud Functions के कोटे, चार तरह के होते हैं:

  • संसाधन की सीमाएं

    इनसे यह तय होता है कि आपके फ़ंक्शन, कुल कितने संसाधन इस्तेमाल कर सकते हैं.

  • समयसीमाएं

    इनसे यह तय होता है कि कोई काम कितनी देर तक किया जा सकता है.

  • दर की सीमाएं

    इनसे यह तय होता है कि अपने फ़ंक्शन मैनेज करने के लिए, Cloud Functions API को कितनी बार कॉल किया जा सकता है.

  • नेटवर्किंग की सीमाएं

    इनसे आउटबाउंड कनेक्शन और इंस्टेंस की सीमाएं तय होती हैं.

अलग-अलग तरह की सीमाओं के बारे में ज़्यादा जानकारी नीचे दी गई है. Cloud Functions (1st gen) और Cloud Functions (2nd gen) की सीमाओं के बीच के अंतर के बारे में, जहां ज़रूरी हो वहां बताया गया है.

संसाधन की सीमाएं

संसाधन की सीमाओं से यह तय होता है कि आपके फ़ंक्शन, कुल कितने संसाधन इस्तेमाल कर सकते हैं. क्षेत्र के हिसाब से सीमाएं, हर प्रोजेक्ट के लिए अलग-अलग होती हैं. साथ ही, हर प्रोजेक्ट के लिए अलग-अलग सीमाएं तय की जाती हैं.

कोटा ब्यौरा सीमा (1st gen) सीमा (2nd gen) बढ़ाया जा सकता है दायरा
फ़ंक्शन की संख्या हर इलाके में डिप्लॉय किए जा सकने वाले फ़ंक्शन की कुल संख्या 1,000 1,000. इसमें से, डिप्लॉय की गई Cloud Run सेवाओं की संख्या घटा दी जाती है नहीं हर इलाके के लिए
डिप्लॉयमेंट का ज़्यादा से ज़्यादा साइज़ किसी एक फ़ंक्शन के डिप्लॉयमेंट का ज़्यादा से ज़्यादा साइज़ सोर्स के लिए 100 एमबी (कंप्रेस किया गया).
सोर्स और मॉड्यूल के लिए 500 एमबी (कंप्रेस नहीं किया गया).
लागू नहीं नहीं हर फ़ंक्शन के लिए
एचटीटीपी अनुरोध का ज़्यादा से ज़्यादा साइज़ (कंप्रेस नहीं किया गया) एचटीटीपी अनुरोध में, एचटीटीपी फ़ंक्शन को भेजा गया डेटा 10 एमबी 32 एमबी नहीं हर बार शुरू करने पर
एचटीटीपी रिस्पॉन्स का ज़्यादा से ज़्यादा साइज़ (कंप्रेस नहीं किया गया) एचटीटीपी रिस्पॉन्स में, एचटीटीपी फ़ंक्शन से भेजा गया डेटा 10 एमबी जवाबों को स्ट्रीम करने के लिए 10 एमबी.
जवाबों को स्ट्रीम न करने के लिए 32 एमबी.
नहीं हर बार शुरू करने पर
इवेंट-ड्रिवन फ़ंक्शन के लिए, इवेंट का ज़्यादा से ज़्यादा साइज़ बैकग्राउंड फ़ंक्शन को इवेंट में भेजा गया डेटा 10 एमबी Eventarc इवेंट के लिए 512 केबी.
लेगसी इवेंट के लिए 10 एमबी.
नहीं हर इवेंट के लिए
फ़ंक्शन की ज़्यादा से ज़्यादा मेमोरी हर फ़ंक्शन इंस्टेंस, कितनी मेमोरी इस्तेमाल कर सकता है 8 जीबी 32 जीबी नहीं हर फ़ंक्शन के लिए
प्रोजेक्ट की ज़्यादा से ज़्यादा मेमोरी कोई प्रोजेक्ट, बाइट में कितनी मेमोरी इस्तेमाल कर सकता है. इसका मेज़रमेंट, एक मिनट की अवधि में, फ़ंक्शन इंस्टेंस के लिए उपयोगकर्ता की ओर से अनुरोध की गई मेमोरी की कुल रकम से किया जाता है. यह चुने गए इलाके पर निर्भर करता है. ज़्यादा क्षमता वाले इलाकों में यह सीमा ज़्यादा हो सकती है या हाल ही में खुले इलाकों में कम हो सकती है. लागू नहीं हां हर प्रोजेक्ट और इलाके के लिए
प्रोजेक्ट के लिए ज़्यादा से ज़्यादा सीपीयू कोई प्रोजेक्ट, मिली वीसीपीयू में कितनी सीपीयू क्षमता इस्तेमाल कर सकता है. इसका मेज़रमेंट, एक मिनट की अवधि में, फ़ंक्शन इंस्टेंस के लिए उपयोगकर्ता की ओर से अनुरोध की गई सीपीयू क्षमता की कुल रकम से किया जाता है. यह चुने गए इलाके पर निर्भर करता है. ज़्यादा क्षमता वाले इलाकों में यह सीमा ज़्यादा हो सकती है या हाल ही में खुले इलाकों में कम हो सकती है. लागू नहीं हां हर प्रोजेक्ट और इलाके के लिए

समयसीमाएं

कोटा ब्यौरा सीमा (1st gen) सीमा (2nd gen) बढ़ाया जा सकता है दायरा
फ़ंक्शन की ज़्यादा से ज़्यादा अवधि कोई फ़ंक्शन, ज़बरदस्ती बंद किए जाने से पहले ज़्यादा से ज़्यादा कितनी देर तक चल सकता है 540 सेकंड
  • एचटीटीपी फ़ंक्शन के लिए 60 मिनट.
  • शेड्यूल किए गए/टास्क क्यू फ़ंक्शन के लिए 1800 सेकंड.
  • इवेंट-ड्रिवन फ़ंक्शन के लिए 540 सेकंड.
नहीं हर बार शुरू करने पर

दर की सीमाएं

कोटा ब्यौरा सीमा (1st gen) सीमा (2nd gen) बढ़ाया जा सकता है दायरा
एपीआई कॉल (पढ़ें) Cloud Functions API की मदद से, फ़ंक्शन के बारे में जानकारी पाने या उनकी सूची देखने के लिए किए गए कॉल हर 100 सेकंड में 5,000 हर 60 सेकंड में 1,200 सिर्फ़ 1st gen के लिए हर प्रोजेक्ट के लिए (1st gen)
हर इलाके के लिए (2nd gen)
एपीआई कॉल (लिखें) Cloud Functions API की मदद से, फ़ंक्शन डिप्लॉय करने या मिटाने के लिए किए गए कॉल हर 100 सेकंड में 80 हर 60 सेकंड में 60 नहीं 1 हर प्रोजेक्ट के लिए (1st gen)
हर इलाके के लिए (2nd gen)
एपीआई कॉल (कॉल करें) "कॉल" एपीआई को किए गए कॉल हर 100 सेकंड में 16 लागू नहीं नहीं 2 हर प्रोजेक्ट के लिए

नेटवर्किंग की सीमाएं

Cloud Functions (2nd gen) के नेटवर्किंग अनुरोध और बैंडविथ की सीमाओं के बारे में जानने के लिए, नेटवर्किंग की सीमाएं देखें.

Cloud Functions (1st gen) पर, नेटवर्किंग की ये सीमाएं लागू होती हैं:

  • हर इंस्टेंस के लिए, हर सेकंड में आउटबाउंड कनेक्शन: 500 (इसे बढ़ाया नहीं जा सकता)
  • हर इंस्टेंस के लिए, हर सेकंड में आउटबाउंड डीएनएस रिज़ॉल्यूशन: 100 (इसे बढ़ाया नहीं जा सकता)
  • हर इंस्टेंस के लिए, हर सेकंड में ज़्यादा से ज़्यादा पैकेट: 80,000
  • हर इंस्टेंस के लिए, हर सेकंड में ज़्यादा से ज़्यादा बिट: 10,00,00,000

रिसर्च को बढ़ाए जा सकने की योग्यता

Cloud Functions एचटीटीपी की मदद से शुरू किए गए, आने वाले ट्रैफ़िक को हैंडल करने के लिए तेज़ी से स्केल अप होते हैं, वहीं, बैकग्राउंड फ़ंक्शन धीरे-धीरे स्केल अप होते हैं. किसी फ़ंक्शन के स्केल अप होने की क्षमता, कुछ चीज़ों पर निर्भर करती है. जैसे:

  • किसी फ़ंक्शन को पूरा होने में लगने वाला समय. आम तौर पर, कम समय में पूरे होने वाले फ़ंक्शन, एक साथ कई अनुरोधों को हैंडल करने के लिए स्केल अप हो सकते हैं.
  • कोल्ड स्टार्ट पर, किसी फ़ंक्शन को शुरू होने में लगने वाला समय .
  • आपके फ़ंक्शन की गड़बड़ी की दर.
  • अस्थायी चीज़ें, जैसे कि इलाके का लोड और डेटा सेंटर की क्षमता.

बैकग्राउंड फ़ंक्शन के लिए, अतिरिक्त सीमाएं तय की गई हैं. इनके बारे में नीचे बताया गया है. ये सीमाएं, 1st gen के एचटीटीपी फ़ंक्शन पर लागू नहीं होती हैं.

बैकग्राउंड फ़ंक्शन के लिए अतिरिक्त कोटे

कोटा ब्यौरा सीमा बढ़ाया जा सकता है दायरा प्रॉडक्ट का वर्शन
एक साथ शुरू किए जा सकने वाले फ़ंक्शन की ज़्यादा से ज़्यादा संख्या किसी एक फ़ंक्शन को एक साथ शुरू किए जा सकने की ज़्यादा से ज़्यादा संख्या
उदाहरण: अगर हर इवेंट को हैंडल करने में 100 सेकंड लगते हैं, तो औसतन, हर सेकंड में 30 फ़ंक्शन शुरू किए जा सकेंगे
3,000 हां हर फ़ंक्शन के लिए सिर्फ़ 1st gen के लिए
फ़ंक्शन शुरू करने की ज़्यादा से ज़्यादा दर किसी एक फ़ंक्शन से हैंडल किए जा रहे इवेंट की ज़्यादा से ज़्यादा दर
उदाहरण: अगर किसी इवेंट को हैंडल करने में 100 मिलीसेकंड लगते हैं, तो हर सेकंड में 1,000 फ़ंक्शन शुरू किए जा सकेंगे. भले ही, औसतन सिर्फ़ 100 अनुरोध एक साथ हैंडल किए जा रहे हों
हर सेकंड में 1,000 नहीं हर फ़ंक्शन के लिए सिर्फ़ 1st gen के लिए
एक साथ शुरू किए जा सकने वाले फ़ंक्शन के लिए, इवेंट डेटा का ज़्यादा से ज़्यादा साइज़ किसी एक फ़ंक्शन को एक साथ शुरू किए जा सकने वाले फ़ंक्शन के लिए, आने वाले इवेंट का कुल ज़्यादा से ज़्यादा साइज़
उदाहरण: अगर इवेंट का साइज़ 1 एमबी है और उन्हें प्रोसेस करने में 10 सेकंड लगते हैं, तो औसतन, हर सेकंड में एक इवेंट प्रोसेस किया जा सकेगा. ऐसा इसलिए, क्योंकि पहले 10 इवेंट में से किसी एक को प्रोसेस करने की प्रोसेस पूरी होने तक, 11वें इवेंट को प्रोसेस नहीं किया जाएगा
10 एमबी नहीं हर फ़ंक्शन के लिए 1st और 2nd gen के लिए
आने वाले इवेंट का ज़्यादा से ज़्यादा थ्रूपुट किसी एक फ़ंक्शन के लिए, आने वाले इवेंट का ज़्यादा से ज़्यादा थ्रूपुट
उदाहरण: अगर इवेंट का साइज़ 1 एमबी है, तो हर सेकंड में ज़्यादा से ज़्यादा 10 फ़ंक्शन शुरू किए जा सकते हैं. भले ही, फ़ंक्शन 100 मिलीसेकंड में पूरे हो जाएं
हर सेकंड में 10 एमबी नहीं हर फ़ंक्शन के लिए 1st और 2nd gen के लिए

कोटा पूरा होने पर

जब कोई फ़ंक्शन, तय किए गए सभी संसाधन इस्तेमाल कर लेता है, तो कोटा रीफ़्रेश होने या बढ़ने तक, वह संसाधन उपलब्ध नहीं होता. इसका मतलब है कि तब तक, आपका फ़ंक्शन और उसी प्रोजेक्ट में मौजूद अन्य सभी फ़ंक्शन काम नहीं करेंगे. जब कोई संसाधन, कोटे से ज़्यादा इस्तेमाल हो जाता है और फ़ंक्शन काम नहीं कर पाता, तो वह एचटीटीपी 500 गड़बड़ी कोड दिखाता है.

यहां बताई गई डिफ़ॉल्ट सीमाओं से ज़्यादा कोटा पाने के लिए, Cloud Functions कोटे वाला पेज पर जाएं. इसके बाद, वे कोटे चुनें जिनमें आपको बदलाव करना है. इसके बाद, कोटे में बदलाव करें पर क्लिक करें. अगर आपसे उपयोगकर्ता की जानकारी मांगी जाती है, तो वह जानकारी दें. इसके बाद, चुने गए हर कोटे के लिए, नई कोटा सीमा डालें.

Firebase CLI से डिप्लॉयमेंट के लिए कोटे की सीमाएं

Firebase CLI से डिप्लॉय किए गए हर फ़ंक्शन के लिए, दर और समय की इन सीमाओं पर असर पड़ता है:

  • एपीआई कॉल (पढ़ें) - डिप्लॉयमेंट के हिसाब से एक कॉल. भले ही, कितने भी फ़ंक्शन डिप्लॉय किए जाएं
    • सीमा: हर 100 सेकंड में 5,000
  • एपीआई कॉल (लिखें) - हर फ़ंक्शन के लिए एक कॉल
    • सीमा: हर 100 सेकंड में 80

Firebase CLI का रेफ़रंस भी देखें.