FCM থ্রটলিং ও কোটা

FCM ব্যবহার করে পাঠানো প্রতিটি মেসেজ ডেলিভার করাই আমাদের লক্ষ্য। তবে, প্রতিটি মেসেজ ডেলিভার করলে কখনও কখনও ব্যবহারকারীর সামগ্রিক অভিজ্ঞতা খারাপ হয়। অন্যান্য ক্ষেত্রে, FCM যাতে সব প্রেরকদের জন্য একটি স্কেলেবল পরিষেবা প্রদান করতে পারে তা নিশ্চিত করতে আমাদের সীমা নির্ধারণ করতে হবে। এই বিভাগে বর্ণিত সীমা ও কোটার ধরন আমাদের এইসব গুরুত্বপূর্ণ বিষয়গুলির মধ্যে ভারসাম্য বজায় রাখতে সাহায্য করে।

ডাউনস্ট্রিম মেসেজ থ্রটলিং

HTTP v1 API, ডাউনস্ট্রিম মেসেজিংয়ের জন্য প্রোজেক্ট পিছু, মিনিট পিছু কোটা চালু করেছে। সিস্টেমের স্থিতিশীলতা রক্ষা করা এবং স্পাইকি প্রজেক্টের প্রভাব কমানোর পাশাপাশি, FCM ডেভেলপারদের ৯৯%-এর বেশি কভার করার জন্য প্রতি মিনিটে ৬০০ হাজার মেসেজের ডিফল্ট কোটা দেওয়া হয়।

ট্রাফিকের প্যাটার্নে হঠাৎ করে বৃদ্ধি হলে কোটা শেষ হয়ে যাওয়ার কারণে সমস্যা হতে পারে। কোটা পেরিয়ে গেলে, সিস্টেম HTTP স্ট্যাটাস কোড 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") দেখায় যতক্ষণ না কোটা পরের মিনিটে রিফিল হয়। ওভারলোড পরিস্থিতিতেও ৪২৯ উত্তর ফেরত আসতে পারে, তাই আপনাকে প্রকাশিত সাজেশন অনুযায়ী ৪২৯ হ্যান্ডেল করার জন্য অত্যন্ত উৎসাহিত করা হচ্ছে।

মনে রাখবেন:

  • ডাউনস্ট্রিম কোটা মেসেজ পরিমাপ করে, অনুরোধ নয়।
  • ক্লায়েন্ট সংক্রান্ত সমস্যা (HTTP স্ট্যাটাস কোড 400-499) গণনা করা হয় (429 বাদ দিয়ে)।
  • কোটা প্রতি মিনিটের হিসেবে দেওয়া হয়, তবে এই মিনিটগুলি ঘড়ির সাথে অ্যালাইন করা থাকে না।

মনিটরিং কোটা

আপনি Google Cloud কনসোলে কোটা, ব্যবহার ও সমস্যা দেখতে পাবেন:

  1. Google Cloud কনসোলে যান।

  2. API ও পরিষেবা বিকল্প বেছে নিন।

  3. টেবিলের তালিকা থেকে, Firebase Cloud Messaging API বেছে নিন।

  4. কোটা ও সিস্টেম সংক্রান্ত সীমা বিকল্প বেছে নিন।

কোটা বাড়ানোর অনুরোধ করা

কোটা বাড়ানোর অনুরোধ করার আগে, এগুলি নিশ্চিত করুন:

  • প্রতিদিন কমপক্ষে ৫ মিনিট ধরে আপনার কোটার ৮০% বা তার বেশি ব্যবহার করা হয়।
  • আপনার ক্লায়েন্ট সংক্রান্ত সমস্যার অনুপাত ৫%-এর কম, বিশেষত পিক ট্রাফিকের সময়।
  • আপনি স্কেলে মেসেজ পাঠানোর পেশাদার পদ্ধতি মেনে চলেন।

আপনি এইসব শর্ত পূরণ করলে, নিম্নলিখিত বিষয়গুলি ব্যবহার করে Google Cloud Console-এ সর্বাধিক +২৫% কোটা বাড়ানোর অনুরোধ জমা দিতে পারবেন:

  1. কোটা ও সিস্টেম সংক্রান্ত সীমা বিকল্পে যান।
  2. টেবিল থেকে, প্রতি মিনিটে অনুরোধ পাঠান সারিটি বেছে নিন।
  3. এডিট করুন বোতামে ক্লিক করুন।
  4. অনুরোধ করার জন্য নির্দেশাবলী অনুসরণ করুন।

FCM অনুরোধটি পূরণ করার জন্য সবরকম চেষ্টা করবে (কোনও বৃদ্ধি নিশ্চিত করা যায় না)।

আসন্ন লঞ্চ বা সাময়িক ইভেন্টের জন্য আপনার আরও ডাউনস্ট্রিম মেসেজিং কোটার প্রয়োজন হলে, আপনাকে অবশ্যই Firebase সহায়তা টিমের মাধ্যমে কোটা বাড়ানোর অনুরোধ করতে হবে। অনুরোধটি প্রসেস করার জন্য পর্যাপ্ত সময় দিতে, কমপক্ষে ১৫ দিন আগে কোটার জন্য অনুরোধ করুন। বড় অনুরোধের ক্ষেত্রে (প্রতি মিনিটে ১৮ মিলিয়নের বেশি মেসেজ), অন্তত ৩০ দিন আগে বিজ্ঞপ্তি দিতে হবে। আমরা বছরে শুধুমাত্র ২টি সাময়িক কোটা ইভেন্ট অনুমোদন করতে পারি। সারা বছর ধরে সাময়িক কোটার মোট সময়সীমা ৩০ দিনের বেশি হলে চলবে না। লঞ্চ ও বিশেষ ইভেন্টের অনুরোধ এখনও ক্লায়েন্ট সংক্রান্ত সমস্যার অনুপাত ও পেশাদার পদ্ধতি সংক্রান্ত প্রয়োজনীয়তা মেনে চলতে হবে।

আরও জানতে, FCM কোটা দেখুন।

বিষয়ভিত্তিক মেসেজ সীমা ও ফ্যান-আউট থ্রটলিং

আরও বিবরণের জন্য বিষয়ভিত্তিক মেসেজিং কোটা ও সীমা দেখুন।

আড়াল করা যায় এমন মেসেজ থ্রটলিং

আড়াল করা যায় এমন মেসেজ-এ যেভাবে বর্ণনা করা হয়েছে, আড়াল করা যায় এমন মেসেজ হল কন্টেন্ট-মুক্ত বিজ্ঞপ্তি যা একে অপরের উপরে আড়াল করার জন্য ডিজাইন করা হয়েছে। কোনও ডেভেলপার যদি কোনও অ্যাপকে একই মেসেজ খুব ঘন ঘন পাঠাতে থাকেন, তাহলে আমরা মেসেজ পাঠানোতে দেরি করি যাতে ব্যবহারকারীর ব্যাটারির উপর প্রভাব কমানো যায়।

যেমন, আপনি যদি কোনও একটি ডিভাইসে প্রচুর পরিমাণে নতুন ইমেল সিঙ্ক করার অনুরোধ পাঠান, তাহলে আমরা পরবর্তী ইমেল সিঙ্ক করার অনুরোধ কয়েক মিনিট দেরি করতে পারি, যাতে ডিভাইসটি কম গড় হারে সিঙ্ক করতে পারে। ব্যবহারকারীর ব্যাটারির উপর প্রভাব কমানোর জন্য এই থ্রটলিং করা হয়।

আপনার ব্যবহারের ক্ষেত্রে যদি হাই বার্স্ট সেন্ড প্যাটার্নের প্রয়োজন হয়, তাহলে নন-কলাপ্সিবল মেসেজ সঠিক বিকল্প হতে পারে। এই ধরনের মেসেজের ক্ষেত্রে, ব্যাটারি খরচ কমাতে এই ধরনের মেসেজে কন্টেন্ট অন্তর্ভুক্ত করতে ভুলবেন না।

আমরা প্রতি ডিভাইস প্রতি অ্যাপে ২০টি করে কলাপ্স করা যায় এমন মেসেজের সীমা নির্ধারণ করি, যার মধ্যে প্রতি ৩ মিনিটে ১টি মেসেজ রিফিল করা হয়।

একটি ডিভাইসে মেসেজ পাঠানোর সর্বাধিক হার

Android-এর ক্ষেত্রে, আপনি একটি ডিভাইসে প্রতি মিনিটে সর্বাধিক ২৪০টি মেসেজ এবং প্রতি ঘণ্টায় ৫,০০০টি মেসেজ পাঠাতে পারবেন। এই বেশি থ্রেশহোল্ডের অর্থ হল, স্বল্প সময়ের জন্য ট্রাফিকের পরিমাণ হঠাৎ বেড়ে যাওয়া। যেমন, ব্যবহারকারীরা চ্যাটে দ্রুত ইন্টার‍্যাক্ট করলে এমনটা হতে পারে। এই সীমা কোনও ডিভাইসের ব্যাটারি ভুলবশত শেষ হয়ে যাওয়া থেকে রক্ষা করে।

iOS-এর ক্ষেত্রে, রেট APNs সীমা অতিক্রম করলে আমরা একটি সমস্যার মেসেজ দেখাই।