IPerf दो नेटवर्क नोड्स के बीच नेटवर्क बैंडविड्थ का परीक्षण करने के लिए डिज़ाइन किया गया एक ओपन-सोर्स टूल है। iPerf दो होस्ट के बीच TCP और UDP ट्रैफिक/लोड उत्पन्न करने की अनुमति देता है। आप iPerf का उपयोग सर्वर और क्लाइंट के बीच अधिकतम नेटवर्क बैंडविड्थ (थ्रूपुट) को तुरंत मापने, ISP संचार चैनल, राउटर, नेटवर्क गेटवे (फ़ायरवॉल), आपके ईथरनेट या वाई-फाई नेटवर्क के स्ट्रेस परीक्षण के लिए कर सकते हैं।
इस लेख में, हम आपको दिखाएंगे कि iPerf टूल को विंडोज और लिनक्स CentOS पर नेटवर्क थ्रूपुट की जांच के लिए कैसे इंस्टॉल और उपयोग करें (एंड्रॉइड, मैकओएस, मिक्रोटिक से RouterOS और अन्य प्लेटफॉर्म के लिए iPerf संस्करण हैं)।
iPerf संस्करण: iPerf2 बनाम iPerf3
IPerf एक क्रॉस-प्लेटफॉर्म टूल है और इसके लिए इंस्टॉलेशन की आवश्यकता नहीं है, बस इसे दो डिवाइस पर कॉपी करें और चलाएं, जिनके बीच आप नेटवर्क थ्रूपुट का परीक्षण करना चाहते हैं।
IPerf सर्वर-क्लाइंट मोड में काम करता है। पहले डिवाइस पर, iPerf सर्वर मोड में शुरू होता है (यह iPerf क्लाइंट से ट्रैफिक की प्रतीक्षा करता है)। दूसरे कंप्यूटर पर, iPerf क्लाइंट मोड में शुरू होता है, TCP या UDP ट्रैफिक उत्पन्न करता है और अधिकतम डेटा ट्रांसफर दर को मापता है।
वर्तमान में दो स्वतंत्र iPerf शाखाएं समानांतर में विकसित हो रही हैं: iPerf2 और iPerf3। इन उपकरणों की कार्यक्षमता ज्यादातर संगत है, लेकिन वे डिफ़ॉल्ट रूप से अलग नेटवर्क पोर्ट का उपयोग करते हैं। iPerf1/2 में यह 5001 है, iPerf3 में यह 5201 है।
- iPerf2 को समानांतर थ्रेड्स, द्विदिश परीक्षण के लिए प्राथमिकता दी जाती है, और यह संस्करण आधिकारिक तौर पर विंडोज OS पर समर्थित है;
- iPerf3 में हाई-स्पीड UDP परीक्षण का बेहतर कार्यान्वयन है। iPerf3 कोड काफी छोटा और बेहतर अनुकूलित है।
शेष अंतर इतने महत्वपूर्ण नहीं हैं, इसलिए iPerf के किसी विशिष्ट संस्करण का उपयोग करने की आवश्यकता नहीं है (यहां तक कि CLI पैरामीटर भी समान हैं)। इस लेख में हम iperf3 का उपयोग करेंगे।
iPerf3 आधिकारिक तौर पर विंडोज प्लेटफॉर्म के लिए समर्थित नहीं है, लेकिन यह काफी ठीक काम करता है। मुझे कोई स्पष्ट बग नहीं दिखा। आप अपनी बग रिपोर्ट https://github.com/esnet/iperf पर भेज सकते हैं।
विंडोज पर iPerf कैसे इंस्टॉल करें?
आप https://iperf.fr/iperf-download.php लिंक से विंडोज के लिए iPerf 3.1.3 डाउनलोड कर सकते हैं। यदि आप iPerf 2.0 उपयोग करना चाहते हैं – आप इसे यहां प्राप्त कर सकते हैं। आपको टूल इंस्टॉल करने की आवश्यकता नहीं है, iPerf आर्काइव डाउनलोड करना और इसे ड्राइव पर स्थानीय निर्देशिका में निकालना पर्याप्त है। आर्काइव में केवल दो फाइलें हैं: cygwin1.dll और iperf3.exe।

विंडोज के लिए कई iPerf GUI कार्यान्वयन हैं। उदाहरण के लिए, Iperf3-Cygwin-GUI या jperf।
jperf जावा पर लिखा गया है (jperf चलाने के लिए कंप्यूटर पर जावा VM इंस्टॉल होना चाहिए)। CLI इंटरफेस के ग्राफिकल फॉर्म के अलावा, Jperf संचार चैनल के बैंडविड्थ चार्ट को रीयल-टाइम में बना सकता है।
इसका उपयोग करने के लिए, बस iPerf सर्वर पता निर्दिष्ट करें और स्कैन चलाएं।
पावरशेल स्क्रिप्ट गैलरी में एक अलग iPerfAutomate मॉड्यूल है जिसका उपयोग आपके पावरशेल स्क्रिप्ट से नेटवर्क प्रदर्शन मेट्रिक्स प्राप्त करने के लिए किया जा सकता है। आप मॉड्यूल को कमांड के साथ इंस्टॉल कर सकते हैं: Install-Module -Name iPerfAutomate
CentOS लिनक्स पर iPerf इंस्टॉल करना
CentOS 8 में, iperf3 पैकेज AppStream बेस रिपॉजिटरी में शामिल है (CentOS 7 में आप iperf3 को EPEL रिपो में पा सकते हैं)। आप इसे dnf (yum) कमांड से इंस्टॉल कर सकते हैं:
# dnf install iperf3
Debian/Ubuntu डिस्ट्रो पर आप iperf3 को कमांड से इंस्टॉल कर सकते हैं:
sudo apt install iperf3

यदि आप अपने लिनक्स इंस्टेंस को iperf3 सर्वर के रूप में उपयोग करना चाहते हैं, तो आपको firewalld (iptables) में TCP/UDP पोर्ट 5201 खोलने की आवश्यकता है:
# firewall-cmd --permanent --add-port=5201/udp
# firewall-cmd --permanent --add-port=5201/tcp
# firewall-cmd --reload
नेटवर्क गति/बैंडविड्थ मापने के लिए iPerf कमांड का उपयोग करना
आइए नेटवर्क थ्रूपुट का परीक्षण करने के लिए iPerf का उपयोग करने के कुछ उदाहरण देखें। इस उदाहरण में, हम लिनक्स CentOS होस्ट को iPerf सर्वर के रूप में उपयोग करेंगे। iPerf3 टूल को सर्वर मोड में चलाएं:
# iperf3 –s
iPerf सर्वर चल रहा है, यह 5201 TCP पोर्ट पर कनेक्शन की प्रतीक्षा कर रहा है।
सर्वर 5201 पर सुन रहा है।संकेत. iPerf आर्गुमेंट केस-सेंसिटिव हैं!

क्लाइंट और सर्वर के बीच फ़ायरवॉल सेटिंग्स के आधार पर, आप आर्गुमेंट -p [पोर्ट_नंबर] का उपयोग करके सुनने वाले पोर्ट को बदल सकते हैं। आप iPerf सर्वर को बड़े TCP विंडो आकार और अलग TCP पोर्ट पर चला सकते हैं। कमांड का उपयोग करें:
# iperf3 -s -w 32768 –p 5200
- -w 32768 – TCP विंडो आकार को 32 kB पर सेट करें (डिफ़ॉल्ट रूप से यह लगभग 8 kB है)
- –p 5200 – वह पोर्ट जिस पर iPerf कनेक्शन की प्रतीक्षा कर रहा है (मैं आपको याद दिलाता हूं कि iperf2 डिफ़ॉल्ट रूप से पोर्ट 5001 पर और iperf3 5201 पर सुनता है)।
मैं विंडोज 10 इंस्टॉल वाले कंप्यूटर को iPerf क्लाइंट के रूप में उपयोग कर रहा हूं। कमांड प्रॉम्प्ट चलाएं और iPerf एक्जीक्यूटेबल वाली निर्देशिका पर जाएं:
cd c:\tools\iperf
क्लाइंट से नेटवर्क बैंडविड्थ परीक्षण चलाने के लिए, iPerf सर्वर पता (या DNS नाम) निर्दिष्ट करें:
iperf3.exe -c 192.168.1.200
यदि आपने बढ़े हुए TCP विंडो आकार के साथ iPerf सर्वर शुरू किया है, तो आप अधिकतम नेटवर्क लोड प्राप्त करने के लिए निम्न कमांड का उपयोग कर सकते हैं:
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 – परीक्षण के लिए समय सेकंड में (डिफ़ॉल्ट रूप से, यह 10 सेकंड है);
- -P 8 – अधिकतम चैनल लोड प्राप्त करने के लिए समानांतर थ्रेड्स (स्ट्रीम) की संख्या;

मेरे उदाहरण में, परीक्षण 30 सेकंड तक चला। अंतिम रिपोर्ट में, हम अंतिम [SUM] लाइन में सूचीबद्ध बैंडविड्थ कॉलम के मानों में रुचि रखते हैं। इस मामले में दो होस्ट के बीच औसत नेटवर्क बैंडविड्थ 85.9 Mbit/s है। 307 MB डेटा ट्रांसफर किया गया था (ट्रांसफर कॉलम) सममित गति के साथ (sender=receiver)।
-f आर्गुमेंट का उपयोग करके, आप गति प्रारूप (बिट्स, किलोबिट्स या मेगाबिट्स) बदल सकते हैं। निरंतर परीक्षणों में, जब आपको कई मिनटों (घंटों) के दौरान प्रदर्शन का अनुमान लगाना होता है, तो आप –i विकल्प का उपयोग करके मध्यवर्ती परिणाम प्रदर्शित करने की अवधि निर्धारित कर सकते हैं।

आप iPerf को रिवर्स मोड में चला सकते हैं (सर्वर डेटा भेजता है, और क्लाइंट स्वीकार करता है)। इसके लिए क्लाइंट पर –R विकल्प का उपयोग करें।
डिफ़ॉल्ट रूप से, उपयोगिता TCP ट्रैफिक उत्पन्न करती है, यदि आपको UDP पैकेट के लिए अपने नेटवर्क बैंडविड्थ की जांच करने की आवश्यकता है, तो आपको –u विकल्प का उपयोग करना होगा। इस मामले में, आपको iPerf सर्वर को कमांड से शुरू करना चाहिए: iperf3 -s –u)।
यदि आपको अपने इंटरनेट सेवा प्रदाता बैंडविड्थ का परीक्षण करने की आवश्यकता है, तो आप सार्वजनिक iPerf सर्वरों में से एक का उपयोग कर सकते हैं (iPerf सार्वजनिक होस्ट सूची यहां उपलब्ध है):
iperf3 -c iperf.scottlinux.com
यदि आपको डुप्लेक्स मोड में दोनों दिशाओं में अधिकतम नेटवर्क गति मापने की आवश्यकता है, तो क्लाइंट पर –d विकल्प का उपयोग करें:
iperf3.exe -c IP -P 8 -t 30 -w 32768 –d

iPerf का उपयोग करके नेटवर्क परीक्षण के दौरान, आप टास्क मैनेजर के माध्यम से अपने नेटवर्क कनेक्शन थ्रूपुट चार्ट की निगरानी कर सकते हैं।
यह ध्यान रखना महत्वपूर्ण है कि, परीक्षण के दौरान, iPerf क्लाइंट और सर्वर के बीच संचार चैनल के सभी उपलब्ध बैंडविड्थ का उपयोग करता है, जो उत्पादक ऐप्स और उपयोगकर्ताओं को नकारात्मक रूप से प्रभावित कर सकता है।

आप विकल्पों की पूरी सूची इस प्रकार प्रदर्शित कर सकते हैं:
iperf3 –help
Iperf एक उपयोग में आसान और सुविधाजनक नेटवर्क उपयोगिता है जो आपको दो डिवाइस के बीच नेटवर्क कनेक्शन प्रदर्शन और अधिकतम डेटा ट्रांसफर गति को मापने में मदद करती है।