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

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

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

Realtime Database মনিটরিং টুল ব্যবহার করুন

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

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

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

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

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

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

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

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

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

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

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

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