iPerf পরিচিতি
IPerf একটি ওপেন-সোর্স টুল যা দুটি নেটওয়ার্ক নোডের মাঝপথে ব্যান্ডউইডথ টেস্ট করে। iPerf TCP এবং UDP ট্রাফিক/লোড জেনারেট করে দুটি হোস্টের মাঝপথে। এটি দিয়ে সার্ভার-ক্লায়েন্ট মাঝপথে সর্বোচ্চ নেটওয়ার্ক ব্যান্ডউইডথ (থ্রুপুট), ISP কমিউনিকেশন চ্যানেল, রাউটার, নেটওয়ার্ক গেটওয়ে (ফায়ারওয়াল), ইথারনেট বা Wi-Fi নেটওয়ার্কের স্ট্রেস টেস্ট করা যায়।
এই আর্টিকেলে iPerf টুল ইন্সটল ও ব্যবহার করে Windows এবং Linux CentOS-এ নেটওয়ার্ক থ্রুপুট চেক করার পদ্ধতি দেখানো হলো (Android, MacOS, MikroTik RouterOS-ও ভერსন আছে)।
iPerf ভার্সন: iPerf2 vs iPerf3
IPerf ক্রস-প্ল্যাটফর্ম টুল, ইনস্টলেশন লাগে না। কপি করে দুটি ডিভাইসে রান করলেই চলে।
IPerf সার্ভার-ক্লায়েন্ট মোডে কাজ করে। প্রথম ডিভাইসে সার্ভার মোড (iPerf ক্লায়েন্টের ট্রাফিক অপেক্ষা করে)। দ্বিতীয় কম্পিউটারে ক্লায়েন্ট মোড, TCP/UDP ট্রাফিক জেনারেট করে সর্বোচ্চ ডেটা ট্রান্সফার রেট মাপে।
দুটি স্বতন্ত্র iPerf ব্রাঞ্চ সমান্তরাল ডেভেলপ হচ্ছে: iPerf2 এবং iPerf3। ফাংশনালিটি প্রায় একই, কিন্তু ডিফল্ট পোর্ট ভিন্ন। iPerf1/2-তে 5001, iPerf3-তে 5201।
- iPerf2: প্যারালেল থ্রেড, বাইডিরেকশনাল টেস্ট, উইন্ডোজে অফিসিয়ালি সাপোর্টেড।
- iPerf3: হাই-স্পিড UDP টেস্টে ভালো ইমপ্লিমেন্টেশন। কোড ছোট ও অপ্টিমাইজড।
বাকি পার্থক্য তেমন বড় নয়, CLI প্যারামিটারও একই। এই আর্টিকেলে iperf3 ব্যবহার করা হয়েছে।
Windows-এ iPerf ইন্সটলেশন
iPerf 3.1.3 উইন্ডোজ용: https://iperf.fr/iperf-download.php
iPerf 2.0: আলাদা লিংক।
ইন্সটল লাগে না, আর্কাইভ এক্সট্র্যাক্ট করে লোকাল ডিরেক্টরিতে রাখুন। দুটি ফাইল: cygwin1.dll এবং iperf3.exe।
Windows용 iPerf GUI:
- Iperf3-Cygwin-GUI
- jperf (Java VM লাগে, রিয়েল-টাইম ব্যান্ডউইডথ চার্ট বানায়)
PowerShell Gallery-তে iPerfAutomate মডিউল আছে পাওয়ারশেল স্ক্রিপ্ট থেকে নেটওয়ার্ক পারফরম্যান্স মেট্রিক্স নেওয়ার জন্য:
Install-Module -Name iPerfAutomate
CentOS Linux-এ iPerf ইন্সটলেশন
CentOS 8-এ iperf3 প্যাকেজ AppStream বেস রিপোতে আছে (CentOS 7-এ EPEL রিপোতে)। ইন্সটল:
# dnf install iperf3
Debian/Ubuntu-তে:
sudo apt install iperf3
Linux কে iperf3 সার্ভার হিসেবে ব্যবহার করতে firewalld-এ পোর্ট 5201 খুলুন:
# firewall-cmd --permanent --add-port=5201/udp
# firewall-cmd --permanent --add-port=5201/tcp
# firewall-cmd --reload
iPerf কমান্ড দিয়ে নেটওয়ার্ক স্পিড/ব্যান্ডউইডথ মাপা
Linux CentOS হোস্টকে iPerf সার্ভার হিসেবে ব্যবহার করুন। সার্ভার মোডে রান করুন:
# iperf3 –s
সার্ভার 5201 TCP পোর্টে লিসেন করবে।
ফায়ারওয়াল সেটিং অনুযায়ী পোর্ট পরিবর্তন করতে -p [port_number] ব্যবহার করুন। বড় TCP উইন্ডো সাইজ ও আলাদা পোর্টে সার্ভার রান করুন:
# iperf3 -s -w 32768 –p 5200
- -w 32768 – TCP উইন্ডো সাইজ 32 kB (ডিফল্ট ~8 kB)
- –p 5200 – লিসেনিং পোর্ট (iperf2 ডিফল্ট 5001, iperf3 ডিফল্ট 5201)
Windows 10 ক্লায়েন্ট থেকে টেস্ট:
cd c:\tools\iperf
iperf3.exe -c 192.168.1.200
বড় TCP উইন্ডো সাইজ সহ সর্বোচ্চ লোডের জন্য:
iperf3.exe -c 192.168.1.200 -P 8 -t 30 -w 32768
- -c 192.168.1.200 – iPerf সার্ভার IP
- -w 32768 – TCP উইন্ডো সাইজ বাড়ান
- -t 30 – টেস্ট সময় ৩০ সেকেন্ড (ডিফল্ট ১০ সেকেন্ড)
- -P 8 – ৮টি প্যারালেল থ্রেড (স্ট্রিম) সর্বোচ্চ চ্যানেল লোডের জন্য
ফাইনাল রিপোর্টে Bandwidth কলামের লাস্ট [SUM] লাইনটি দেখুন। আমার উদাহরণে গড় ব্যান্ডউইডথ 85.9 Mbit/s। ৩০৭ MB ডেটা ট্রান্সফার (Transfer কলাম) সিমেট্রিক স্পিডে (sender=receiver)।
-f আর্গুমেন্ট দিয়ে স্পিড ফরম্যাট বদলান (bits, kilobits, megabits)। দীর্ঘ সময়ের টেস্টে ইন্টারমিডিয়েট রেজাল্ট দেখতে –i অপশন।
রিভার্স মোড (সার্ভার পাঠায়, ক্লায়েন্ট রিসিভ করে): ক্লায়েন্টে –R অপশন।
UDP টেস্ট: –u অপশন (সার্ভার: iperf3 -s –u)।
পাবলিক iPerf সার্ভার দিয়ে ISP ব্যান্ডউইডথ টেস্ট: iperf3 -c iperf.scottlinux.com
ডুপ্লেক্স মোড (দুই দিকেই সর্বোচ্চ স্পিড): ক্লায়েন্টে –d অপশন।
iperf3.exe -c IP -P 8 -t 30 -w 32768 –d
টেস্ট চলাকালীন Task Manager-এ নেটওয়ার্ক থ্রুপুট চার্ট মনিটর করুন।
পুরো অপশন লিস্ট: iperf3 –help
Iperf একটি সহজ ও সুবিধাজনক নেটওয়ার্ক ইউটিলিটি যা দুটি ডিভাইসের মাঝপথে নেটওয়ার্ক কানেকশন পারফরম্যান্স ও সর্বোচ্চ ডেটা ট্রান্সফার স্পিড মাপতে সাহায্য করে।