ডাটাবেস কর্মক্ষমতা নিরীক্ষণ

আপনার Firebase Realtime Database কর্মক্ষমতা পর্যবেক্ষণ করার এবং আপনার অ্যাপে সম্ভাব্য সমস্যাগুলি সনাক্ত করার কয়েকটি ভিন্ন উপায় রয়েছে। আপনার অ্যাপের ইনকামিং এবং আউটগোয়িং ব্যান্ডউইথ এবং লোড দেখে আপনার বিলের উপর কী আশা করা উচিত তার একটি ধারণাও পেতে পারেন। এছাড়াও, যদি কিছু ভুল মনে হয়, তাহলে আপনার ডাটাবেসের ক্রিয়াকলাপের একটি পরিষ্কার চিত্র পাওয়া একটি সহায়ক সমস্যা সমাধানের হাতিয়ার হতে পারে।

এই পৃষ্ঠায় Realtime Database কর্মক্ষমতা পর্যবেক্ষণ নিয়ে আলোচনা করা হয়েছে। ব্যবহার পর্যবেক্ষণের জন্য, মনিটর ডাটাবেস ব্যবহার দেখুন।

Realtime Database পর্যবেক্ষণ সরঞ্জাম ব্যবহার করুন

আপনার প্রয়োজনীয় গ্র্যানুলারিটির স্তরের উপর নির্ভর করে আপনি কয়েকটি ভিন্ন সরঞ্জামের মাধ্যমে আপনার Realtime Database কর্মক্ষমতা সম্পর্কে তথ্য সংগ্রহ করতে পারেন।

Realtime Database প্রোফাইলার টুল ব্যবহার করুন

Realtime Database প্রোফাইলার টুলটি আপনার ডাটাবেসে রিড/রাইট অপারেশনের একটি রিয়েলটাইম ওভারভিউ প্রদান করে। রিপোর্টে প্রতিটি অপারেশনের গতি এবং পেলোডের আকার সম্পর্কে তথ্য অন্তর্ভুক্ত থাকে, সাথে আনইনডেক্সড কোয়েরিও থাকে। তবে এতে ঐতিহাসিক তথ্য বা সংযোগ ওভারহেড সম্পর্কে কোনও পরিসংখ্যান অন্তর্ভুক্ত থাকে না এবং বিলিং খরচ অনুমান করার জন্য এটি ব্যবহার করা উচিত নয়

প্রোফাইলার টুল ব্যবহার সম্পর্কে আরও জানতে, আপনার ডাটাবেস প্রোফাইল দেখুন।

Firebase কনসোল ব্যবহার করুন

Firebase কনসোলের Usage ট্যাবটি আপনার ডাটাবেসের সাথে একযোগে সংযোগ, আপনি কত ডেটা সংরক্ষণ করছেন, বহির্গামী ব্যান্ডউইথ (প্রোটোকল এবং এনক্রিপশন ওভারহেড সহ) এবং 1 মিনিটের ব্যবধানে আপনার ডাটাবেসের লোড সম্পর্কে তথ্য প্রদান করে। যদিও Usage ট্যাবটি আপনাকে আপনার ডাটাবেসের সামগ্রিক কর্মক্ষমতার আরও সঠিক ওভারভিউ দেয়, আপনি সম্ভাব্য কর্মক্ষমতা সমস্যা সমাধানের জন্য যথেষ্ট পরিমাণে ড্রিল ডাউন করতে সক্ষম নাও হতে পারেন।

Cloud Monitoring ব্যবহার করুন

Google Cloud থেকে Cloud Monitoring এর মাধ্যমে, আপনি মেট্রিক্স এক্সপ্লোরার ব্যবহার করে পৃথক পারফরম্যান্স মেট্রিক্স দেখতে পারেন, অথবা চার্ট সহ বিভিন্ন ড্যাশবোর্ড তৈরি করতে পারেন যা সময়ের সাথে সাথে পারফরম্যান্স মেট্রিক্সের বিভিন্ন সমন্বয় প্রদর্শন করে। Cloud Monitoring সাথে Realtime Database ইন্টিগ্রেশন গ্র্যানুলারিটির গভীরতম স্তর প্রদান করে।

Cloud Monitoring সেট আপ করার ধাপগুলি মনিটর ডাটাবেস ব্যবহার বিভাগে বর্ণিত হয়েছে।

পারফরম্যান্স সমস্যা চিহ্নিত করার জন্য নির্দিষ্ট Cloud Monitoring মেট্রিক্স ব্যবহারের টিপসের জন্য নিম্নলিখিত বিভাগগুলি দেখুন।

Cloud Monitoring এ কর্মক্ষমতা পর্যবেক্ষণ করুন

যদি আপনার পারফরম্যান্সের সমস্যা হয়, যেমন আপটাইম বা ল্যাটেন্সি, তাহলে নিম্নলিখিত মেট্রিক্সগুলি পর্যবেক্ষণ করার জন্য আপনি Cloud Monitoring ব্যবহার করতে পারেন। মনে রাখবেন, সমস্ত মেট্রিক ধরণের নাম firebasedatabase.googleapis.com/ এর সাথে প্রিফিক্স করা থাকে।

মেট্রিক নাম বিবরণ
ডাটাবেস লোড

io/database_load । সময়ের সাথে সাথে আপনার উপলব্ধ ডাটাবেস ব্যান্ডউইথের কতটা ব্যবহার হচ্ছে তা পর্যবেক্ষণ করতে এই মেট্রিকটি ব্যবহার করুন। আপনার ডাটাবেস লোড মোট উপলব্ধ ব্যান্ডউইথের কাছাকাছি পৌঁছানোর সাথে সাথে আপনি কর্মক্ষমতা সংক্রান্ত সমস্যা দেখতে পারেন। আপনি কোন ধরণের অপারেশন সবচেয়ে বেশি লোড ব্যবহার করছে তাও দেখতে পারেন এবং সেই অনুযায়ী সমস্যা সমাধান করতে পারেন। এক মিনিটের বেশি সময় নেয় এমন অপারেশনগুলিতে রিপোর্ট করা লোড 100% ছাড়িয়ে যেতে পারে। এটি তখন ঘটে যখন একাধিক মিনিটে ব্যবহৃত মোট ব্যান্ডউইথ অপারেশন সম্পন্ন হওয়ার পরে মিনিট-দীর্ঘ রিপোর্টিং ব্যবধানে ঘনীভূত হয়।

অতিরিক্ত বয়সের জন্য নেটওয়ার্ক অক্ষম করা হয়েছে

network/disabled_for_overages । এই মেট্রিকটি আপনার Realtime Database ব্যান্ডউইথ বা নেটওয়ার্ক সীমা অতিক্রম করলে যে কোনও বিভ্রাট ঘটতে পারে তা প্রতিফলিত করে।

অতিরিক্ত ব্যবহারের জন্য স্টোরেজ অক্ষম করা হয়েছে

storage/disabled_for_overages । এই মেট্রিকটি আপনার Realtime Database যদি কোনও স্টোরেজ সীমা অতিক্রম করে তবে ঘটতে পারে এমন যেকোনো বিভ্রাটকে প্রতিফলিত করে।

সহায়ক অন্তর্দৃষ্টি এবং ওভারভিউয়ের জন্য আপনার ড্যাশবোর্ডে চার্টে মেট্রিক্স একত্রিত করুন। উদাহরণস্বরূপ, নিম্নলিখিত সমন্বয়গুলি চেষ্টা করে দেখুন:

  • অপারেশন: প্রতিটি অপারেশন টাইপ আপনার মোট ডাটাবেস লোডের কত অংশ ব্যবহার করে তা দেখতে io/database_load মেট্রিক ব্যবহার করুন। বিভিন্ন অপারেশন টাইপের সমস্যা সমাধানের জন্য io/database_load টাইপ অনুসারে গ্রুপ করতে ভুলবেন না।
  • স্টোরেজ: Realtime Database স্টোরেজ সীমার সাথে সম্পর্কিত আপনার স্টোরেজ ব্যবহার পর্যবেক্ষণ করতে storage/limit এবং storage/total_bytes ব্যবহার করুন। স্টোরেজ সীমা অতিক্রম করার ফলে আপনার অ্যাপটি কোনও ডাউন টাইমের সম্মুখীন হয়েছে কিনা তা দেখতে আপনি storage/disabled_for_overages যোগ করতে পারেন।
  • SSL ওভারহেড: আপনার ডাটাবেস কতগুলি SSL সংযোগ অনুরোধ পেয়েছে তা পর্যবেক্ষণ করতে network/https_requests_count https_requests_count ব্যবহার করুন এবং reused_ssl_session ফিল্টার ব্যবহার করে বিদ্যমান SSL সেশন টিকিট পুনঃব্যবহৃত অনুরোধগুলিকে বিভক্ত করুন। আপনার অ্যাপটি দক্ষতার সাথে SSL সেশন টিকিট ব্যবহার করছে কিনা তা পর্যবেক্ষণ করতে আপনি এটি network/sent_bytes_count এবং network/sent_payload_and_protocol_bytes_count সাথে পরিমাপ করতে পারেন।

আপনি Cloud Monitoring মাধ্যমে সতর্কতা সেট আপ করতে পারেন এবং Realtime Database মেট্রিক্সের উপর ভিত্তি করে বিজ্ঞপ্তিগুলি পেতে পারেন। উদাহরণস্বরূপ, যদি আপনার io/database_load একটি নির্দিষ্ট থ্রেশহোল্ডের কাছাকাছি চলে আসে তবে আপনি একটি বিজ্ঞপ্তি পেতে পারেন।

Cloud Monitoring মাধ্যমে উপলব্ধ Realtime Database মেট্রিক্সের সম্পূর্ণ তালিকা দেখুন।

ডাটাবেস লোডের ধরণ

io/database_load মেট্রিক কোন ধরণের অপারেশনের কারণে লোড হয়েছে তার একটি লেবেলও প্রদান করে। পরিমাপ করা সম্ভাব্য ধরণের অপারেশনগুলি নিম্নরূপ:

  • admin : নিয়ম নির্ধারণ এবং প্রকল্পের মেটাডেটা পড়ার মতো অ্যাডমিন ক্রিয়াকলাপ।
  • auth : একটি একক ক্লায়েন্টের জন্য পরিষেবা অ্যাকাউন্ট বা Firebase প্রমাণীকরণ থেকে প্রমাণীকরণ যাচাই করা।
  • client_management : সমসাময়িক সংযোগ যোগ এবং অপসারণ পরিচালনা করার মধ্যে রয়েছে অপসারণের সময় সংযোগ বিচ্ছিন্ন করার অপারেশন চালানো।
  • get_shallow : shallow=true দিয়ে REST GET থেকে ডেটা পুনরুদ্ধার করা হচ্ছে।
  • get : REST GET কার্যক্রম পরিচালনা করা।
  • listen : সংযুক্ত ক্লায়েন্টদের কাছ থেকে on এবং once অপারেশনের জন্য প্রাথমিক ডেটা পুনরুদ্ধার করা।
  • on_disconnect : ক্লায়েন্টদের কাছ থেকে সংযোগ বিচ্ছিন্ন করার সময় নিবন্ধন করা।
  • put : ক্লায়েন্টদের থেকে set অপারেশন বা REST PUT অপারেশন পরিচালনা করা।
  • transaction : শর্তসাপেক্ষ REST অনুরোধ থেকে লেনদেন সম্পাদন করা অথবা ক্লায়েন্টের কাছ থেকে transaction পরিচালনা করা।
  • update : update অপারেশন বা REST PATCH অনুরোধ পরিচালনা করা।

Cloud Monitoring এ নিরাপত্তা নিয়মাবলী পর্যবেক্ষণ করুন

আপনি নিরাপত্তা নিয়মের মূল্যায়ন বিশ্লেষণ করতে পারেন। মনে রাখবেন সমস্ত মেট্রিক ধরণের নাম firebasedatabase.googleapis.com/ এর সাথে প্রিফিক্স করা আছে।

মেট্রিক নাম বিবরণ
নিয়ম মূল্যায়ন rules/evaluation_count । লেখা বা পড়ার অনুরোধের প্রতিক্রিয়ায় সম্পাদিত রিয়েলটাইম ডাটাবেস রুলস মূল্যায়নের সংখ্যা। আপনি অনুরোধের ফলাফল (ALLOW, DENY, অথবা ERROR) দ্বারা এই মেট্রিকটি ভাগ করতে পারেন।

প্রয়োজন অনুসারে নিয়ম মূল্যায়নের জন্য আপনার Cloud Monitoring চার্টটি তৈরি করুন, উদাহরণস্বরূপ নির্দিষ্ট মূল্যায়ন ফলাফল, ALLOW, DENY, অথবা ERROR ফিল্টার করে। চার্ট সেট আপ এবং কাস্টমাইজ করার বিষয়টি মনিটর ডেটাবেস ব্যবহারে অন্তর্ভুক্ত।

Cloud Monitoring মাধ্যমে উপলব্ধ Realtime Database মেট্রিক্সের সম্পূর্ণ তালিকা দেখুন।