JMeter তে Thread Group একটি গুরুত্বপূর্ণ উপাদান যা একাধিক থ্রেড (users) সৃষ্টি করে এবং আপনার ওয়েব সার্ভিস বা অ্যাপ্লিকেশনে লোড জেনারেট করে। এটি একাধিক ব্যবহারকারী (virtual users) কে সিমুলেট করে, যাতে আপনি আপনার অ্যাপ্লিকেশনের পারফরম্যান্স এবং লোড টেস্টিং করতে পারেন। Thread Group এর মধ্যে থাকা থ্রেডগুলি নির্দিষ্ট সংখ্যক রিকোয়েস্ট এক্সিকিউট করে, এবং এর মাধ্যমে আপনি বিভিন্ন ধরনের লোড টেস্ট পরিচালনা করতে পারেন।
এখানে আমরা JMeter এর Thread Group সেটআপ করার জন্য উদাহরণ সহ বিশদভাবে আলোচনা করব।
1. Thread Group কি?
Thread Group হচ্ছে JMeter এর একটি উপাদান যা একাধিক থ্রেড তৈরি করে। প্রতিটি থ্রেড একটি ভার্চুয়াল ইউজারের মতো কাজ করে এবং নির্দিষ্ট সংখ্যক HTTP রিকোয়েস্ট সিমুলেট করে।
- Thread (Users): এটি মোট কন্ট্রোল করে কতজন ভার্চুয়াল ইউজার একসাথে কাজ করবে।
- Ramp-Up Period: এটি নির্ধারণ করে, কত সময়ের মধ্যে থ্রেডগুলো একসাথে চালু হবে।
- Loop Count: প্রতিটি থ্রেড কতবার রিকোয়েস্ট করবে, সেটি নির্ধারণ করে।
2. Thread Group সেটআপ করার ধাপ
JMeter এ Thread Group সেটআপ করতে নিচের ধাপগুলো অনুসরণ করুন:
Step 1: JMeter GUI ওপেন করুন
JMeter GUI ওপেন করার জন্য আপনি jmeter.bat (Windows) অথবা jmeter (Mac/Linux) স্ক্রিপ্ট রান করতে পারেন।
Step 2: Thread Group যোগ করা
- Test Plan এ রাইট ক্লিক করুন এবং Add > Threads (Users) > Thread Group নির্বাচন করুন।
- এটি আপনার Test Plan এ একটি নতুন Thread Group তৈরি করবে।
Step 3: Thread Group কনফিগারেশন
Thread Group এর মধ্যে তিনটি মূল সেটিংস থাকে:
- Number of Threads (Users): এখানে আপনি মোট কতজন ভার্চুয়াল ইউজার সিমুলেট করতে চান তা নির্ধারণ করেন। উদাহরণস্বরূপ, যদি আপনি ৫০ জন ইউজার চান, তবে এখানে ৫০ প্রদান করবেন।
- Ramp-Up Period (in seconds): এটি নির্ধারণ করে যে, কত সেকেন্ডে এই ৫০ জন ইউজার একে একে চালু হবে। উদাহরণস্বরূপ, যদি আপনি ৫০ ইউজার চান এবং Ramp-Up ১০ সেকেন্ড দিতে চান, তাহলে JMeter ১০ সেকেন্ডের মধ্যে ইউজারগুলোকে একে একে চালু করবে। এটি মানে, প্রতি সেকেন্ডে ৫ ইউজার শুরু হবে।
- Loop Count: প্রতিটি ইউজার কতবার রিকোয়েস্ট করবে, এটি নির্ধারণ করে। আপনি
foreverঅপশনও ব্যবহার করতে পারেন, যেখানে থ্রেডগুলো যতক্ষণ না আপনি থামাচ্ছেন, চলতে থাকবে।
Step 4: Sample Requests যোগ করা
Thread Group এর মধ্যে কিছু HTTP Request যোগ করতে হবে, যা থ্রেডগুলো এক্সিকিউট করবে।
- Thread Group এ রাইট ক্লিক করুন এবং Add > Sampler > HTTP Request নির্বাচন করুন।
- HTTP Request কনফিগার করুন:
- Server Name or IP: ওয়েবসাইটের URL বা IP (যেমন,
www.example.com)। - Path: আপনি যে রিসোর্সে রিকোয়েস্ট পাঠাতে চান, তার পাথ (যেমন,
/loginবা/home)।
- Server Name or IP: ওয়েবসাইটের URL বা IP (যেমন,
Step 5: Listener যোগ করা
এখন, ফলাফল দেখতে Listener যোগ করতে হবে। Listener আপনাকে টেস্টের ফলাফল দেখতে এবং বিশ্লেষণ করতে সাহায্য করে।
- Thread Group এ রাইট ক্লিক করুন এবং Add > Listener > View Results Tree বা Graph Results নির্বাচন করুন।
- এটি আপনার টেস্টের বিভিন্ন ফলাফল প্রদর্শন করবে।
3. Thread Group উদাহরণ
এখন, চলুন একটি বাস্তব উদাহরণ দেখি, যেখানে আমরা ৫০ জন ইউজারকে ১০ সেকেন্ডের মধ্যে একে একে চালু করে এবং প্রতিটি ইউজারের জন্য /login URL এ ১০ বার রিকোয়েস্ট পাঠাতে বলব।
Step-by-Step Configuration:
- Thread Group কনফিগার করুন:
- Number of Threads (Users): ৫০
- Ramp-Up Period (in seconds): ১০
- Loop Count: ১০
- HTTP Request কনফিগার করুন:
- Server Name or IP:
www.example.com - Path:
/login
- Server Name or IP:
- Listener কনফিগার করুন:
- View Results Tree (যাতে রিকোয়েস্ট এবং রেসপন্স দেখা যায়)
এখন, আপনি Start বাটনে ক্লিক করে টেস্ট রান করতে পারবেন। এটি ৫০ জন ইউজারের মাধ্যমে /login URL এ ১০ বার রিকোয়েস্ট পাঠাবে।
4. Thread Group সেটআপের উদাহরণ স্ক্রিনশট
Thread Group কনফিগারেশন:
- Number of Threads (Users): ৫০
- Ramp-Up Period: ১০ সেকেন্ড
- Loop Count: ১০
HTTP Request কনফিগারেশন:
- Server Name or IP:
www.example.com - Path:
/login
Listener: View Results Tree
5. Thread Group কনফিগারেশনের ব্যাখ্যা
- Number of Threads (Users): ৫০ ইউজার সিমুলেট করার মানে হলো ৫০টি থ্রেড তৈরি হবে এবং প্রতিটি থ্রেড আলাদা ভার্চুয়াল ইউজারের মতো কাজ করবে।
- Ramp-Up Period: যদি Ramp-Up Period ১০ সেকেন্ড দেওয়া হয়, তাহলে ৫০টি থ্রেড ১০ সেকেন্ডে ধীরে ধীরে শুরু হবে, প্রতি সেকেন্ডে ৫টি থ্রেড।
- Loop Count: এটি নির্ধারণ করে কতবার প্রতিটি থ্রেডের HTTP রিকোয়েস্ট করা হবে। এখানে ১০ বার দেয়া হলে, প্রতি থ্রেড ১০ বার
/loginরিকোয়েস্ট পাঠাবে।
সারাংশ
JMeter এর Thread Group সঠিকভাবে কনফিগার করা হলে এটি ভার্চুয়াল ইউজারদের মাধ্যমে আপনার অ্যাপ্লিকেশনে লোড সৃষ্টি করতে সাহায্য করে। Thread Group কনফিগারেশন এর মাধ্যমে আপনি কতজন ইউজার, কত দ্রুত ইউজার শুরু হবে এবং প্রতিটি ইউজার কতবার রিকোয়েস্ট পাঠাবে, তা নিয়ন্ত্রণ করতে পারেন। উদাহরণ হিসেবে ৫০ জন ইউজারকে ১০ সেকেন্ডের মধ্যে চালু করে, প্রতিটি ইউজারের জন্য /login URL এ ১০ বার রিকোয়েস্ট পাঠানোর মাধ্যমে আপনি সিমুলেটেড লোড টেস্ট করতে পারবেন। JMeter এর Thread Group সেটআপ আপনাকে শক্তিশালী পারফরম্যান্স টেস্টিংয়ের সুযোগ দেয়।
Read more