Cloud Functions এর জন্য স্কেলেবল, ব্যবহার-ভিত্তিক সীমা সম্পর্কে এই পৃষ্ঠায় বিস্তারিত তথ্য দেওয়া আছে, যা পে-অ্যাজ-ইউ-গো Blaze প্রাইসিং প্ল্যান অনুযায়ী নির্ধারিত হয়। এইসব সীমা Node.js 10 রানটাইম এনভায়রনমেন্টে ফাংশন ডিপ্লয় করা Firebase প্রোজেক্টের ক্ষেত্রে প্রযোজ্য।
Blaze মূল্য পরিকল্পনায় প্রচুর পরিমাণে ইনভোকেশন, কম্পিউট টাইম এবং ইন্টারনেট ট্রাফিক বিনামূল্যে প্রদান করা হয়। তবে, ফাংশন ডিপ্লয়মেন্টের জন্য ফাংশনের কন্টেনারের জন্য ব্যবহৃত স্টোরেজ স্পেসের জন্য ছোট আকারের চার্জ লাগে। আরও জানতে, প্রায়শই জিজ্ঞাসিত প্রশ্ন দেখুন।
Cloud Functions-এর কোটা ৪টি ক্ষেত্রকে অন্তর্ভুক্ত করে:
রিসোর্সের সীমা
এগুলি আপনার ফাংশন ব্যবহার করতে পারে এমন রিসোর্সের মোট পরিমাণকে প্রভাবিত করে।
সময়সীমা
এগুলি কোনও কিছু কতক্ষণ চলতে পারে তার উপর প্রভাব ফেলে।
রেট লিমিট
এগুলি আপনার ফাংশন ম্যানেজ করার জন্য Cloud Functions API কল করার রেটকে প্রভাবিত করে।
নেটওয়ার্কিং সংক্রান্ত সীমা
এগুলি আউটবাউন্ড কানেকশন ও ইনস্ট্যান্সের সীমা প্রভাবিত করে।
বিভিন্ন ধরনের সীমা সম্পর্কে নিচে আরও বিস্তারিতভাবে বর্ণনা করা হয়েছে। যেখানে প্রযোজ্য সেখানে Cloud Functions (1st gen) ও Cloud Functions (2nd gen)-এর মধ্যে পার্থক্য উল্লেখ করা হয়েছে।
রিসোর্সের সীমা
রিসোর্স সীমা আপনার ফাংশন ব্যবহার করতে পারে এমন রিসোর্সের মোট পরিমাণকে প্রভাবিত করে। আঞ্চলিক স্কোপ প্রতিটি প্রোজেক্টের জন্য আলাদা আলাদা হয় এবং প্রতিটি প্রোজেক্ট নিজস্ব সীমা বজায় রাখে।
| কোটা | বিবরণ | Limit (ফার্স্ট জেনারেশন) | Limit (সেকেন্ড জেনারেশন) | বাড়ানো যেতে পারে | সুযোগ |
|---|---|---|---|---|---|
| ফাংশনের সংখ্যা | প্রতিটি অঞ্চলে যতগুলি ফাংশন ডেপ্লয় করা যায় তার মোট সংখ্যা | ১,০০০ | ১,০০০ থেকে Cloud Run পরিষেবার সংখ্যা বিয়োগ করা হয় | না | প্রতিটি অঞ্চলের জন্য |
| ডিপ্লয়মেন্টের সর্বাধিক সাইজ | সিঙ্গেল ফাংশন ডিপ্লয়মেন্টের সর্বাধিক সাইজ | সোর্সের জন্য ১০০ এমবি (কমপ্রেস করা)। সোর্স ও মডিউলের জন্য ৫০০ এমবি (কমপ্রেস করা নয়)। |
প্রযোজ্য নয় | না | ফাংশন পিছু |
| সর্বাধিক আনকমপ্রেসড HTTP অনুরোধের সাইজ | HTTP অনুরোধে HTTP ফাংশনে পাঠানো ডেটা | ১০ এমবি | ৩২ এমবি | না | প্রতিটি ইনভোকেশন পিছু |
| সর্বাধিক আনকমপ্রেসড HTTP রেসপন্স সাইজ | HTTP ফাংশন থেকে HTTP উত্তরের মধ্যে পাঠানো ডেটা | ১০ এমবি | উত্তর স্ট্রিম করার জন্য ১০ এমবি। স্ট্রিমিং নয় এমন উত্তরের জন্য ৩২ এমবি। |
না | প্রতিটি ইনভোকেশন পিছু |
| ইভেন্ট-চালিত ফাংশনের জন্য সর্বাধিক ইভেন্ট সাইজ | ব্যাকগ্রাউন্ড ফাংশনে ইভেন্টে পাঠানো ডেটা | ১০ এমবি | Eventarc ইভেন্টের জন্য ৫১২ কেবি। লিগ্যাসি ইভেন্টের জন্য ১০ এমবি। |
না | প্রতিটি ইভেন্টের জন্য |
| ফাংশনের সর্বাধিক মেমরি | প্রতিটি ফাংশন ইনস্ট্যান্স কতটা মেমরি ব্যবহার করতে পারবে | ৮GiB | ৩২GiB | না | ফাংশন পিছু |
| সর্বাধিক প্রোজেক্ট মেমরি | কোনও প্রোজেক্ট কত বাইট মেমরি ব্যবহার করতে পারবে। ১ মিনিট সময় ধরে ফাংশন ইনস্ট্যান্স জুড়ে ব্যবহারকারীর অনুরোধ করা মেমরির মোট যোগফলের মাধ্যমে এটি পরিমাপ করা হয়। | বেছে নেওয়া অঞ্চলের উপর নির্ভর করে। হাই-ক্যাপাসিটি অঞ্চলে এই সীমা বেশি হতে পারে বা সম্প্রতি খোলা অঞ্চলে কম হতে পারে। | প্রযোজ্য নয় | হ্যাঁ | প্রোজেক্ট ও অঞ্চল পিছু |
| সর্বাধিক প্রোজেক্ট সিপিইউ | মিলি vCPU-তে CPU-এর পরিমাণ যা কোনও প্রোজেক্ট ব্যবহার করতে পারে। ১ মিনিট ধরে ফাংশন ইনস্ট্যান্স জুড়ে ব্যবহারকারীর অনুরোধ করা মোট CPU-এর যোগফল দ্বারা এটি পরিমাপ করা হয়। | বেছে নেওয়া অঞ্চলের উপর নির্ভর করে। হাই-ক্যাপাসিটি অঞ্চলে এই সীমা বেশি হতে পারে বা সম্প্রতি খোলা অঞ্চলে কম হতে পারে। | প্রযোজ্য নয় | হ্যাঁ | প্রোজেক্ট ও অঞ্চল পিছু |
সময়সীমা
| কোটা | বিবরণ | Limit (ফার্স্ট জেনারেশন) | Limit (সেকেন্ড জেনারেশন) | বাড়ানো যেতে পারে | সুযোগ |
|---|---|---|---|---|---|
| ফাংশনের সর্বাধিক সময়সীমা | জোর করে বন্ধ করার আগে কোনও ফাংশন সর্বাধিক কতক্ষণ চলতে পারে | ৫৪০ সেকেন্ড |
|
না | প্রতিটি ইনভোকেশন পিছু |
রেট লিমিট
| কোটা | বিবরণ | Limit (ফার্স্ট জেনারেশন) | Limit (সেকেন্ড জেনারেশন) | বাড়ানো যেতে পারে | সুযোগ |
|---|---|---|---|---|---|
| API কল (READ) | Cloud Functions API-এর মাধ্যমে ফাংশন বর্ণনা বা তালিকাভুক্ত করার জন্য কল | ১০০ সেকেন্ডে ৫০০ বার | প্রতি ৬০ সেকেন্ডে ১২০০ | শুধুমাত্র 1st gen-এর জন্য | প্রতিটি প্রোজেক্টে (ফার্স্ট জেনারেশন) প্রতিটি অঞ্চলে (সেকেন্ড জেনারেশন) |
| API কল (WRITE) | Cloud Functions API-এর মাধ্যমে ফাংশন ডেপ্লয় বা মুছে দেওয়ার জন্য কল | ১০০ সেকেন্ডে ৮০ বার | ৬০ সেকেন্ডে ৬০ বার | না ১ | প্রতিটি প্রোজেক্টে (ফার্স্ট জেনারেশন) প্রতিটি অঞ্চলে (সেকেন্ড জেনারেশন) |
| API কল (CALL) | "কল" API-তে কল করা | ১০০ সেকেন্ডে ১৬ বার | প্রযোজ্য নয় | না ২ | প্রোজেক্ট পিছু |
নেটওয়ার্কিং সংক্রান্ত সীমা
Cloud Functions (2nd gen) নেটওয়ার্কিং অনুরোধ এবং ব্যান্ডউইথ সীমা সম্পর্কে তথ্য পেতে, নেটওয়ার্কিং সীমা দেখুন।
Cloud Functions (1st gen)-এর ক্ষেত্রে নিম্নলিখিত নেটওয়ার্কিং সংক্রান্ত সীমা প্রযোজ্য:
- প্রতি ইনস্ট্যান্স প্রতি সেকেন্ডে আউটবাউন্ড কানেকশন: ৫০০ (বাড়ানো যাবে না)
- প্রতি ইনস্ট্যান্স প্রতি সেকেন্ডে আউটবাউন্ড DNS রেজোলিউশন: ১০০ (বাড়ানো যাবে না)
- প্রতিটি ইনস্ট্যান্সের জন্য প্রতি সেকেন্ডে সর্বাধিক প্যাকেট: ৮০,০০০
- প্রতি ইনসট্যান্স সর্বাধিক বিট প্রতি সেকেন্ড: ১০০,০০০,০০০
স্কেলেবিলিটি
ইনকামিং ট্রাফিক ম্যানেজ করার জন্য HTTP-এর মাধ্যমে Cloud Functions দ্রুত স্কেল-আপ করা হয়, অন্যদিকে ব্যাকগ্রাউন্ড ফাংশন আরও ধীরে ধীরে স্কেল করা হয়। কোনও ফাংশনের স্কেল আপ করার ক্ষমতা কয়েকটি বিষয় দ্বারা নির্ধারিত হয়, যার মধ্যে রয়েছে:
- কোনও ফাংশনের এক্সিকিউশন সম্পূর্ণ হতে কত সময় লাগে (সাধারণত, কম সময় ধরে চলা ফাংশনগুলি আরও বেশি কনকারেন্ট অনুরোধ হ্যান্ডেল করার জন্য স্কেল-আপ করা যেতে পারে)।
- কোল্ড স্টার্ট-এ কোনও ফাংশন ইনিশিয়ালাইজ হতে যত সময় লাগে।
- আপনার ফাংশনের সমস্যার হার।
অস্থায়ী ফ্যাক্টর, যেমন আঞ্চলিক লোড ও ডেটা সেন্টারের ক্ষমতা।
ব্যাকগ্রাউন্ড ফাংশনের জন্য অতিরিক্ত কোটা
| কোটা | বিবরণ | সীমা | বাড়ানো যেতে পারে | সুযোগ | প্রোডাক্ট ভার্সন |
|---|---|---|---|---|---|
| একসাথে সর্বাধিক ইনভোকেশন | একটি ফাংশনের সর্বাধিক কনকারেন্ট ইনভোকেশন যেমন: প্রতিটি ইভেন্ট হ্যান্ডেল করতে ১০০ সেকেন্ড লাগলে, ইনভোকেশন রেট গড়ে প্রতি সেকেন্ডে ৩০টি পর্যন্ত সীমিত থাকবে |
৩,০০০ | হ্যাঁ | ফাংশন পিছু | শুধুমাত্র 1st gen |
| সর্বাধিক ইনভোকেশন রেট | একটি ফাংশন দ্বারা হ্যান্ডেল করা ইভেন্টের সর্বাধিক রেট যেমন: কোনও ইভেন্ট হ্যান্ডেল করতে ১০০ মিলি সেকেন্ড সময় লাগলে, ইনভোকেশন রেট প্রতি সেকেন্ডে ১০০০-এ সীমাবদ্ধ থাকবে, এমনকি যদি সমান্তরালভাবে গড়ে ১০০টি অনুরোধ হ্যান্ডেল করা হয় |
প্রতি সেকেন্ডে ১০০০ | না | ফাংশন পিছু | শুধুমাত্র 1st gen |
| একসাথে সর্বাধিক ইভেন্ট ডেটার সাইজ | একক ফাংশনের কনকারেন্ট ইনভোকেশনে ইনকামিং ইভেন্টের সর্বাধিক মোট সাইজ
যেমন: ইভেন্টের সাইজ ১ এমবি হলে এবং সেগুলি প্রসেস করতে ১০ সেকেন্ড সময় লাগলে, গড় রেট হবে প্রতি সেকেন্ডে ১টি ইভেন্ট, কারণ প্রথম ১০টি ইভেন্টের মধ্যে একটি প্রসেস করা শেষ না হওয়া পর্যন্ত ১১তম ইভেন্ট প্রসেস করা হবে না |
১০ এমবি | না | ফাংশন পিছু | 1st gen ও 2nd gen |
| ইনকামিং ইভেন্টের সর্বাধিক থ্রুপুট | সিঙ্গেল ফাংশনে ইনকামিং ইভেন্টের সর্বাধিক থ্রুপুট যেমন: ইভেন্টের সাইজ ১এমবি হলে, ইনভোকেশন রেট সর্বাধিক প্রতি সেকেন্ডে ১০টি হতে পারে, এমনকি ফাংশন ১০০মিলি সেকেন্ডের মধ্যে শেষ হয়ে গেলেও |
১০ এমবি প্রতি সেকেন্ড | না | ফাংশন পিছু | 1st gen ও 2nd gen |
আপনি কোটার সীমায় পৌঁছে গেলে
কোনও ফাংশন বরাদ্দ করা সব রিসোর্স ব্যবহার করে ফেললে, কোটা রিফ্রেশ বা বাড়ানো না হওয়া পর্যন্ত রিসোর্সটি উপলভ্য থাকে না। এর অর্থ হল, আপনার ফাংশন এবং একই প্রোজেক্টের অন্যান্য সব ফাংশন ততক্ষণ পর্যন্ত কাজ করবে না। কোনও একটি রিসোর্স কোটার বেশি হয়ে গেলে এবং ফাংশনটি এক্সিকিউট করা না গেলে, ফাংশনটি HTTP 500 ত্রুটি কোড রিটার্ন করে।
এখানে তালিকাভুক্ত ডিফল্ট কোটার থেকে বেশি কোটা পেতে, Cloud Functions কোটা পৃষ্ঠায় যান, আপনি যে কোটা পরিবর্তন করতে চান সেটি বেছে নিন, কোটা এডিট করুন বিকল্পে ক্লিক করুন, প্রম্পট করা হলে আপনার ব্যবহারকারীর তথ্য দিন এবং আপনার বেছে নেওয়া প্রতিটি কোটার জন্য নতুন কোটা সীমা লিখুন।
Firebase CLI ডিপ্লয়মেন্টের জন্য কোটা সীমা
Firebase CLI যতগুলি ফাংশন ডেপ্লয় করে, সেগুলির প্রত্যেকটির জন্য এই ধরনের রেট ও সময়সীমা প্রভাবিত হয়:
- API কল (READ) - প্রতিটি ডিপ্লয়মেন্ট পিছু ১টি কল, ফাংশনের সংখ্যা যাই হোক না কেন
- সীমা: ১০০ সেকেন্ডে ৫০০০০
- API কল (WRITE) - ফাংশন পিছু ১টি কল
- সীমা: ১০০ সেকেন্ডে ৮০টি
এছাড়াও, Firebase CLI রেফারেন্স দেখুন।