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

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

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

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

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

    इनसे, आपके फ़ंक्शन के इस्तेमाल किए जा सकने वाले संसाधनों की कुल संख्या पर असर पड़ता है.

  • समयसीमाएं

    इनसे, यह तय होता है कि कोई चीज़ कितने समय तक चल सकती है.

  • दर की सीमाएं

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

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

    इनसे, आउटबाउंड कनेक्शन और इंस्टेंस की सीमाओं पर असर पड़ता है.

अलग-अलग तरह की सीमाओं के बारे में ज़्यादा जानकारी नीचे दी गई है. जहां लागू हो, वहां Firebase (पहली जनरेशन) और Firebase (दूसरी जनरेशन) की सीमाओं के बीच के अंतर के बारे में बताया गया है.

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

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

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

समयसीमाएं

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

दर की सीमाएं

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

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

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

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

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

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

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

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

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

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

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

कोटे की सीमा पूरी होने पर क्या होता है

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

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

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

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

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

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