পারফরম্যান্স অপ্টিমাইজেশন শুরু হয় মূল মেট্রিকগুলো শনাক্ত করার মাধ্যমে, যা সাধারণত ল্যাটেন্সি এবং থ্রুপুটের সাথে সম্পর্কিত। এই মেট্রিকগুলো সংগ্রহ ও ট্র্যাক করার জন্য মনিটরিং যুক্ত করলে অ্যাপ্লিকেশনটির দুর্বল দিকগুলো প্রকাশ পায়। মেট্রিকের সাহায্যে পারফরম্যান্স উন্নত করার জন্য অপ্টিমাইজেশন করা যেতে পারে।
এছাড়াও, অনেক মনিটরিং টুল আপনাকে আপনার মেট্রিকগুলোর জন্য অ্যালার্ট সেট করার সুযোগ দেয়, যাতে একটি নির্দিষ্ট সীমা অতিক্রম করলে আপনাকে জানানো হয়। উদাহরণস্বরূপ, আপনি এমন একটি অ্যালার্ট সেট করতে পারেন যা আপনাকে জানাবে যখন ব্যর্থ অনুরোধের শতাংশ স্বাভাবিক মাত্রার x % এর বেশি বেড়ে যায়। মনিটরিং টুলগুলো আপনাকে স্বাভাবিক পারফরম্যান্স কেমন তা শনাক্ত করতে এবং লেটেন্সি, ত্রুটির পরিমাণ ও অন্যান্য গুরুত্বপূর্ণ মেট্রিকের অস্বাভাবিক বৃদ্ধি চিহ্নিত করতে সাহায্য করতে পারে। এই মেট্রিকগুলো পর্যবেক্ষণ করার ক্ষমতা বিশেষত ব্যবসায়িক গুরুত্বপূর্ণ সময়কালে, অথবা নতুন কোড প্রোডাকশনে পুশ করার পরে অত্যন্ত জরুরি।
লেটেন্সি মেট্রিক শনাক্ত করুন
আপনার UI যতটা সম্ভব রেসপন্সিভ রাখা নিশ্চিত করুন, মনে রাখবেন যে ব্যবহারকারীরা মোবাইল অ্যাপের কাছ থেকে আরও উন্নত মান প্রত্যাশা করে। ব্যাকএন্ড সার্ভিসগুলোর জন্য ল্যাটেন্সিও পরিমাপ ও ট্র্যাক করা উচিত, বিশেষ করে যেহেতু এটি অনিয়ন্ত্রিত থাকলে থ্রুপুট সংক্রান্ত সমস্যা তৈরি করতে পারে।
পর্যবেক্ষণের জন্য প্রস্তাবিত মেট্রিকগুলো হলো নিম্নরূপ:
- অনুরোধের সময়কাল
- সাবসিস্টেম পর্যায়ে অনুরোধের সময়কাল (যেমন এপিআই কল)
- কাজের সময়কাল
থ্রুপুট মেট্রিক শনাক্ত করুন
থ্রুপুট হলো একটি নির্দিষ্ট সময়কালে সম্পন্ন হওয়া মোট অনুরোধের সংখ্যার পরিমাপ। সাবসিস্টেমগুলোর ল্যাটেন্সি দ্বারা থ্রুপুট প্রভাবিত হতে পারে, তাই থ্রুপুট উন্নত করার জন্য আপনাকে ল্যাটেন্সি অপ্টিমাইজ করতে হতে পারে।
পর্যবেক্ষণ করার জন্য এখানে কিছু প্রস্তাবিত মেট্রিক দেওয়া হলো:
- প্রতি সেকেন্ডে কোয়েরি
- প্রতি সেকেন্ডে স্থানান্তরিত ডেটার আকার
- প্রতি সেকেন্ডে I/O অপারেশনের সংখ্যা
- সম্পদের ব্যবহার, যেমন সিপিইউ বা মেমরির ব্যবহার
- প্রসেসিং ব্যাকলগের আকার, যেমন পাব/সাব বা থ্রেডের সংখ্যা
শুধু গড় নয়
পারফরম্যান্স পরিমাপের ক্ষেত্রে একটি সাধারণ ভুল হলো শুধুমাত্র গড় মান বিবেচনা করা। যদিও এটি কার্যকর, তবে এটি ল্যাটেন্সির বিন্যাস সম্পর্কে কোনো ধারণা দেয় না। ট্র্যাক করার জন্য একটি ভালো মেট্রিক হলো পারফরম্যান্স পার্সেন্টাইল, যেমন কোনো মেট্রিকের ৫০তম/৭৫তম/৯০তম/৯৯তম পার্সেন্টাইল।
সাধারণত, অপ্টিমাইজেশন দুটি ধাপে করা যেতে পারে। প্রথমত, ৯০তম পার্সেন্টাইল ল্যাটেন্সির জন্য অপ্টিমাইজ করুন। তারপর, ৯৯তম পার্সেন্টাইল বিবেচনা করুন—যা টেইল ল্যাটেন্সি নামেও পরিচিত: অর্থাৎ, অনুরোধের সেই ক্ষুদ্র অংশ যা সম্পন্ন হতে অনেক বেশি সময় নেয়।
বিস্তারিত ফলাফলের জন্য সার্ভার-সাইড মনিটরিং
মেট্রিক্স ট্র্যাক করার জন্য সাধারণত সার্ভার-সাইড প্রোফাইলিং বেশি পছন্দ করা হয়। সার্ভার সাইডে ইনস্ট্রুমেন্টেশন করা সাধারণত অনেক সহজ, এটি আরও সূক্ষ্ম ডেটা অ্যাক্সেসের সুযোগ দেয় এবং কানেক্টিভিটি সমস্যার কারণে এতে বিঘ্ন ঘটার সম্ভাবনা কম থাকে।
এন্ড-টু-এন্ড দৃশ্যমানতার জন্য ব্রাউজার পর্যবেক্ষণ
ব্রাউজার প্রোফাইলিং ব্যবহারকারীর অভিজ্ঞতা সম্পর্কে অতিরিক্ত ধারণা দিতে পারে। এর মাধ্যমে জানা যায় কোন পেজগুলোতে অনুরোধ ধীরগতিতে সম্পন্ন হয়, যা আপনি পরবর্তী বিশ্লেষণের জন্য সার্ভার-সাইড মনিটরিংয়ের সাথে মিলিয়ে দেখতে পারেন।
গুগল অ্যানালিটিক্স তার 'পেজ টাইমিংস রিপোর্ট' -এ পেজ লোড হওয়ার সময় নিরীক্ষণের জন্য স্বয়ংক্রিয়ভাবে একটি সুবিধা প্রদান করে। এটি আপনার সাইটে ব্যবহারকারীর অভিজ্ঞতা বোঝার জন্য বেশ কিছু দরকারি চিত্র তুলে ধরে, বিশেষ করে:
- পৃষ্ঠা লোড হতে সময়
- পুনঃনির্দেশ লোড সময়
- সার্ভারের প্রতিক্রিয়া সময়
ক্লাউডে পর্যবেক্ষণ
আপনার অ্যাপ্লিকেশনের পারফরম্যান্স মেট্রিক্স সংগ্রহ ও নিরীক্ষণ করার জন্য অনেক টুল রয়েছে যা আপনি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি আপনার গুগল ক্লাউড প্রজেক্টে পারফরম্যান্স মেট্রিক্স লগ করার জন্য গুগল ক্লাউড লগিং ব্যবহার করতে পারেন, তারপর লগ করা মেট্রিক্সগুলো নিরীক্ষণ ও ভাগ করার জন্য গুগল ক্লাউড মনিটরিং- এ ড্যাশবোর্ড সেট আপ করতে পারেন।
পাইথন ক্লায়েন্ট লাইব্রেরিতে একটি কাস্টম ইন্টারসেপ্টর থেকে গুগল ক্লাউড লগিং-এ লগ করার একটি উদাহরণের জন্য লগিং গাইডটি দেখুন। গুগল ক্লাউডে সেই ডেটা উপলব্ধ হলে, আপনি লগ করা ডেটার উপর ভিত্তি করে মেট্রিক্স তৈরি করতে পারেন এবং গুগল ক্লাউড মনিটরিং-এর মাধ্যমে আপনার অ্যাপ্লিকেশন সম্পর্কে স্বচ্ছ ধারণা লাভ করতে পারেন। গুগল ক্লাউড লগিং-এ পাঠানো লগগুলি ব্যবহার করে মেট্রিক্স তৈরি করতে, ব্যবহারকারী-সংজ্ঞায়িত লগ-ভিত্তিক মেট্রিক্সের জন্য গাইডটি অনুসরণ করুন।
বিকল্পভাবে, আপনি মনিটরিং ক্লায়েন্ট লাইব্রেরি ব্যবহার করে আপনার কোডে মেট্রিক্স নির্ধারণ করতে পারেন এবং সেগুলোকে লগ থেকে আলাদাভাবে সরাসরি মনিটরিং-এ পাঠাতে পারেন।
লগ-ভিত্তিক মেট্রিক্সের উদাহরণ
ধরুন, আপনি আপনার অ্যাপ্লিকেশনের ত্রুটির হার আরও ভালোভাবে বোঝার জন্য is_fault মানটি নিরীক্ষণ করতে চান। আপনি লগ থেকে is_fault মানটি বের করে ErrorCount একটি নতুন কাউন্টার মেট্রিক -এ রাখতে পারেন।


ক্লাউড লগিং-এ, লেবেল আপনাকে লগের অন্যান্য ডেটার উপর ভিত্তি করে আপনার মেট্রিকগুলিকে বিভিন্ন ক্যাটাগরিতে ভাগ করতে সাহায্য করে। গুগল অ্যাডস এপিআই মেথড অনুযায়ী ত্রুটির সংখ্যা কীভাবে বিভক্ত হয়েছে তা দেখার জন্য, আপনি ক্লাউড লগিং-এ পাঠানো method ফিল্ডের জন্য একটি লেবেল কনফিগার করতে পারেন।
ErrorCount মেট্রিক এবং Method লেবেল কনফিগার করা থাকলে, আপনি একটি মনিটরিং ড্যাশবোর্ডে Method অনুযায়ী গ্রুপ করা ErrorCount মনিটর করার জন্য একটি নতুন চার্ট তৈরি করতে পারেন।

সতর্কতা
ক্লাউড মনিটরিং এবং অন্যান্য টুলগুলিতে অ্যালার্ট পলিসি কনফিগার করা সম্ভব, যা নির্দিষ্ট করে দেয় আপনার মেট্রিক্সের ভিত্তিতে কখন এবং কীভাবে অ্যালার্ট ট্রিগার হবে। ক্লাউড মনিটরিং অ্যালার্ট সেট আপ করার নির্দেশাবলীর জন্য, অ্যালার্ট গাইডটি অনুসরণ করুন।