Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

iPerf3 - लिनक्स के लिए सटीक नेटवर्क थ्रूपुट और स्पीड टेस्ट

परिचय

iperf3 रियल-टाइम नेटवर्क थ्रूपुट माप करने के लिए एक मुफ्त ओपन-सोर्स, क्रॉस-प्लेटफॉर्म कमांड-लाइन-आधारित प्रोग्राम है। यह IP नेटवर्क ( IPv4 और IPv6 का समर्थन करता है) में अधिकतम प्राप्त करने योग्य बैंडविड्थ का परीक्षण करने के लिए सबसे शक्तिशाली टूल में से एक है।

[ आप यह भी पसंद कर सकते हैं: लिनक्स के लिए 17 उपयोगी बैंडविड्थ मॉनिटरिंग टूल ]

iperf के साथ, आप टाइमिंग, बफ़र्स, और प्रोटोकॉल जैसे TCP, UDP, और SCTP से जुड़े कई पैरामीटर्स को ट्यून कर सकते हैं। यह नेटवर्क प्रदर्शन ट्यूनिंग ऑपरेशन के लिए काम आता है।

अधिकतम या बल्कि बेहतर नेटवर्क प्रदर्शन प्राप्त करने के लिए, आपको अपने नेटवर्क की प्राप्ति और भेजने की क्षमताओं के थ्रूपुट के साथ-साथ लेटेंसी को बढ़ाने की आवश्यकता है।

हालाँकि, वास्तविक ट्यूनिंग में जाने से पहले, आपको कुछ परीक्षण करने की आवश्यकता है ताकि समग्र नेटवर्क प्रदर्शन आंकड़े एकत्र किए जा सकें जो आपकी ट्यूनिंग प्रक्रिया का मार्गदर्शन करेंगे।

इसके परिणामों में सेकंड में समय अंतराल, स्थानांतरित डेटा, बैंडविड्थ (स्थानांतरण दर), हानि, और अन्य उपयोगी नेटवर्क प्रदर्शन पैरामीटर शामिल हैं। यह मुख्य रूप से एक विशेष पथ पर TCP कनेक्शन को ट्यून करने में सहायता करने के लिए अभिप्रेत है और यही हम इस गाइड में ध्यान केंद्रित करेंगे।

आवश्यकताएं:

  • दो नेटवर्क कंप्यूटर जिन दोनों पर iperf3 इंस्टॉल हो।

लिनक्स सिस्टम में iPerf3 कैसे इंस्टॉल करें

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

$ sudo apt install iperf3 [On Debian, Ubuntu and Mint]
$ sudo yum install iperf3 [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a net-misc/iperf [On Gentoo Linux]
$ sudo apk add iperf3 [On Alpine Linux]
$ sudo pacman -S iperf3 [On Arch Linux]
$ sudo zypper install iperf3 [On OpenSUSE]

एक बार जब आप दोनों मशीनों पर iperf3 इंस्टॉल कर लेते हैं, तो आप नेटवर्क थ्रूपुट का परीक्षण शुरू कर सकते हैं।

दो लिनक्स सर्वर के बीच नेटवर्क स्पीड कैसे टेस्ट करें

पहले, उस रिमोट मशीन से कनेक्ट करें जिसे आप सर्वर के रूप में उपयोग करेंगे, और -s फ्लैग का उपयोग करके iperf3 को सर्वर मोड में चालू करें, यह डिफ़ॉल्ट रूप से पोर्ट 5201 पर सुनेगा।

आप -f स्विच का उपयोग करके रिपोर्ट करने के लिए फॉर्मेट (k, m, g Kbits, Mbits, Gbits के लिए या K, M, G KBytes, Mbytes, Gbytes के लिए) निर्दिष्ट कर सकते हैं जैसा कि नीचे दिखाया गया है।

$ iperf3 -s -f K

यदि पोर्ट 5201 आपके सर्वर पर किसी अन्य प्रोग्राम द्वारा उपयोग किया जा रहा है, तो आप -p स्विच का उपयोग करके एक अलग पोर्ट (जैसे 3000) निर्दिष्ट कर सकते हैं जैसा कि नीचे दिखाया गया है।

$ iperf3 -s -p 3000

वैकल्पिक रूप से, आप सर्वर को डेमॉन के रूप में चला सकते हैं, -D फ्लैग का उपयोग करके और सर्वर संदेशों को लॉग फाइल में लिख सकते हैं, जैसा कि नीचे दिखाया गया है।

$ iperf3 -s -D > iperf3log

फिर अपनी स्थानीय मशीन पर जिसे हम क्लाइंट के रूप में मानेंगे (जहां वास्तविक बेंचमार्किंग होती है), -c फ्लैग का उपयोग करके iperf3 को क्लाइंट मोड में चलाएं और उस होस्ट को निर्दिष्ट करें जिस पर सर्वर चल रहा है (या तो इसके IP एड्रेस या डोमेन या होस्टनाम का उपयोग करके)।

$ iperf3 -c 192.168.10.1 -f K

लगभग 18 से 20 सेकंड के बाद, क्लाइंट समाप्त होना चाहिए और बेंचमार्क के लिए औसत थ्रूपुट दर्शाने वाले परिणाम उत्पन्न करना चाहिए, जैसा कि निम्न स्क्रीनशॉट में दिखाया गया है।

iPerf3 - लिनक्स के लिए सटीक नेटवर्क थ्रूपुट और स्पीड टेस्ट

बेंचमार्क परिणामों से, जैसा कि उपरोक्त स्क्रीनशॉट में दिखाया गया है, सर्वर और क्लाइंट से प्राप्त मूल्यों में भिन्नता है। लेकिन, आपको हर टेस्ट में हमेशा iperf क्लाइंट मशीन से प्राप्त परिणामों का उपयोग करने पर विचार करना चाहिए।

लिनक्स में उन्नत नेटवर्क टेस्ट थ्रूपुट कैसे करें

क्लाइंट-विशिष्ट विकल्पों की एक संख्या है जो उन्नत टेस्ट करने के लिए है, जैसा कि नीचे बताया गया है।

एक महत्वपूर्ण कारक जो किसी दिए गए समय में नेटवर्क में डेटा की मात्रा निर्धारित करता है वह है TCP विंडो साइज - यह TCP कनेक्शन को ट्यून करने में महत्वपूर्ण है। आप -w फ्लैग का उपयोग करके विंडो साइज/सॉकेट बफ़र साइज सेट कर सकते हैं जैसा कि नीचे दिखाया गया है।

$ iperf3 -c 192.168.10.1 -f K -w 500K

इसे रिवर्स मोड में चलाने के लिए जहां सर्वर भेजता है और क्लाइंट प्राप्त करता है, -R स्विच जोड़ें।

$ iperf3 -c 192.168.10.1 -f K -w 500K -R

द्वि-दिशात्मक टेस्ट चलाने के लिए, जिसका अर्थ है कि आप दोनों दिशाओं में एक साथ बैंडविड्थ मापते हैं, -d विकल्प का उपयोग करें।

$ iperf3 -c 192.168.10.1 -f K -w 500K -d

यदि आप क्लाइंट आउटपुट में सर्वर परिणाम प्राप्त करना चाहते हैं, तो --get-server-output विकल्प का उपयोग करें।

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
iPerf3 - लिनक्स के लिए सटीक नेटवर्क थ्रूपुट और स्पीड टेस्ट

समानांतर क्लाइंट स्ट्रीम की संख्या सेट करना भी संभव है (इस उदाहरण में दो), जो -P विकल्प का उपयोग करके एक ही समय में चलते हैं।

$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2

अधिक जानकारी के लिए, iperf3 मैन पेज देखें।

$ man iperf3

बस इतना ही! वास्तविक नेटवर्क प्रदर्शन ट्यूनिंग के लिए जाने से पहले हमेशा नेटवर्क प्रदर्शन परीक्षण करना याद रखें। iperf3 एक शक्तिशाली टूल है, जो नेटवर्क थ्रूपुट टेस्ट चलाने के लिए काम आता है।

क्या आपके पास साझा करने के लिए कोई विचार है या पूछने के लिए प्रश्न हैं, नीचे टिप्पणी फॉर्म का उपयोग करें।

  1. Matplotlib का उपयोग करके Seaborn प्लॉट में लीजेंड का फॉन्ट साइज़ कैसे बढ़ाएं? Matplotlib का उपयोग करके Seaborn प्लॉट में लीजेंड का फॉन्ट साइज़ कैसे बढ़ाएं?

    Seaborn प्लॉट में लीजेंड का फॉन्ट साइज़ बढ़ाने के लिए, हम फॉन्टसाइज़ वेरिएबल का उपयोग कर सकते हैं और इसे legend() मेथड आर्गुमेंट में उपयोग कर सकते हैं। चरण Pandas का उपयोग करके डेटा फ्रेम बनाएं। कीज़ हैं नंबर, काउंट, और सेलेक्ट। barplot() मेथड का उपयोग करके Seaborn में बार प्लॉट करें। fontsiz

  1. C प्रोग्राम में दिए गए विकर्ण लंबाई के साथ षट्कोण का क्षेत्रफल C प्रोग्राम में दिए गए विकर्ण लंबाई के साथ षट्कोण का क्षेत्रफल

    समस्या विवरण यहां हम देखेंगे कि विकर्ण लंबाई का उपयोग करके एक षट्कोण का क्षेत्रफल कैसे प्राप्त करें। षट्कोण की विकर्ण लंबाई d है। सूत्र एक नियमित षट्कोण के आंतरिक कोण 120° प्रत्येक होते हैं। सभी आंतरिक कोणों का योग 720° होता है। यदि विकर्ण d है, तो क्षेत्रफल = (3 * √3 * d²) / 8 C++ प्रोग्राम उदाह

  1. एंड्रॉइड में स्टेटस बार नोटिफिकेशन कैसे इंटरसेप्ट/पढ़ें? एंड्रॉइड में स्टेटस बार नोटिफिकेशन कैसे इंटरसेप्ट/पढ़ें?

    NotificationListenerService के साथ नोटिफिकेशन मॉनिटरिंग NotificationListenerService एक सिस्टम सर्विस है जो ऐप को सभी पोस्टेड/रिमूव्ड नोटिफिकेशन पढ़ने देती है। यूजर को सेटिंग्स में अनुमति देनी पड़ती है। चरण 1: नया प्रोजेक्ट बनाएं चरण 2: लिस्टनर इंटरफेस (src/MyListener.java) public interface MyListe