iperf3 Tutorial: Linux & Windows

10 λεπτά ανάγνωσης - 7 Μαΐου 2026

hero section cover
Πίνακας περιεχομένων
  • iperf3 Tutorial: Linux και Windows
  • Εγκατάσταση του iperf3
  • Ρύθμιση του διακομιστή
  • Εκτέλεση δοκιμών πελάτη
  • Προχωρημένες δοκιμές
  • Ρύθμιση και αντιμετώπιση προβλημάτων
  • Σύσταση βίντεο
Κοινοποίηση

Εγκαταστήστε το iperf3, εκτελέστε δοκιμές εύρους ζώνης και ρυθμίστε τα buffers TCP για ακριβή αποτελέσματα σε Linux και Windows. Καλύπτει δοκιμές UDP, αμφίδρομης και 10GbE+

iperf3 Tutorial: Linux και Windows

το iperf3 είναι ένα εργαλείο γραμμής εντολών για τη μέτρηση του εύρους ζώνης δικτύου, του jitter και της απώλειας πακέτων μεταξύ δύο μηχανημάτων. Χρησιμοποιεί ένα μοντέλο πελάτη-εξυπηρετητή: το ένα μηχάνημα ακούει, το άλλο στέλνει κίνηση και λαμβάνετε ακριβείς αριθμούς ρυθμού μετάδοσης. Αυτός ο οδηγός καλύπτει την εγκατάσταση, τις βασικές και προηγμένες δοκιμές και τον τρόπο ρύθμισης του συστήματός σας για ακριβή αποτελέσματα σε συνδέσεις υψηλής ταχύτητας.

Εγκατάσταση του iperf3

Debian / Ubuntu

sudo apt update
sudo apt install iperf3

Επιβεβαιώστε την εγκατάσταση με την εντολή iperf3 --version. Εγκαταστήστε το τόσο στον διακομιστή όσο και στον υπολογιστή-πελάτη.

Fedora / CentOS / Rocky / Alma

Σε Fedora 22+ ή CentOS 8+, Rocky ή AlmaLinux:

sudo dnf install iperf3

Στο CentOS 7, χρησιμοποιήστε αντί αυτού το yum. Αν το πακέτο δεν βρεθεί, ενεργοποιήστε πρώτα το αποθετήριο EPEL:

sudo yum install epel-release
sudo yum install iperf3

Εάν το τείχος προστασίας σας είναι ενεργό, ανοίξτε τη θύρα 5201:

sudo firewall-cmd --add-port=5201/tcp --permanent
sudo firewall-cmd --reload

Windows

Κατεβάστε το αυτόνομο εκτελέσιμο αρχείο από το iperf.fr ή το ar51an/iperf3-win-builds GitHub repo. Αποσυμπιέστε το σε έναν φάκελο όπως C:\iperf3 και, στη συνέχεια, επαληθεύστε το:

cd C:\iperf3
iperf3.exe -v

Για να εκτελέσετε το iperf3 από οποιονδήποτε κατάλογο, προσθέστε το φάκελο στο PATH του συστήματός σας μέσω της διαδρομής Ιδιότητες συστήματος > Για προχωρημένους > Μεταβλητές περιβάλλοντος. Θα χρειαστεί επίσης να δημιουργήσετε έναν κανόνα εισερχόμενου τείχους προστασίας που να επιτρέπει το TCP στη θύρα 5201 στο τείχος προστασίας των Windows Defender.

Ρύθμιση του διακομιστή

Ξεκινήστε τον διακομιστή με:

iperf3 -s

Αυτός ακούει στη θύρα TCP 5201 από προεπιλογή. Για να τον εκτελέσετε στο παρασκήνιο με καταγραφή:

iperf3 -s -D --logfile /var/log/iperf3.log

Επιβεβαιώστε ότι εκτελείται με ss -tulpn | grep 5201.

Αν η θύρα 5201 είναι μπλοκαρισμένη στο δίκτυό σας, χρησιμοποιήστε -p για να επιλέξετε μια διαφορετική θύρα. Για να συνδεθείτε σε μια συγκεκριμένη διασύνδεση, χρησιμοποιήστε -B:

iperf3 -s -B 192.168.1.10

Για εφάπαξ δοκιμές, το iperf3 -s -1 χειρίζεται μία μόνο σύνδεση πελάτη και στη συνέχεια τερματίζει. Σε συνδέσεις υψηλού εύρους ζώνης (40 Gbps+), εκτελέστε πολλαπλές περιπτώσεις διακομιστή σε διαφορετικές θύρες για να παρακάμψετε τα όρια της CPU ενός νήματος.

Βεβαιωθείτε ότι το τείχος προστασίας σας επιτρέπει την κυκλοφορία στην επιλεγμένη θύρα. Σε Ubuntu/Debian με UFW:

sudo ufw allow 5201/tcp
sudo ufw allow 5201/udp   # if testing UDP

Εκτέλεση δοκιμών πελάτη

Βασική δοκιμή TCP

iperf3 -c 192.168.1.10

Αυτό μετράει το εύρος ζώνης μεταφόρτωσης μέσω TCP για 10 δευτερόλεπτα. Επεκτείνετε τη διάρκεια με -t:

iperf3 -c 192.168.1.10 -t 30

Σε συνδέσεις 10 Gbps ή 25 Gbps, μια μεμονωμένη ροή TCP συχνά φτάνει τα 3-5 Gbps λόγω των ορίων της CPU ενός πυρήνα. Χρησιμοποιήστε παράλληλες ροές για να κορεστεί η σύνδεση:

iperf3 -c 192.168.1.10 -P 8

Ανάγνωση των αποτελεσμάτων

Κάθε γραμμή διαστήματος δείχνει Transfer (δεδομένα που αποστέλλονται) και Bitrate (ρυθμός μετάδοσης). Για το TCP, παρακολουθήστε επίσης:

  • Retr (αναμεταδόσεις). Υψηλοί αριθμοί σημαίνουν απώλεια πακέτων ή συμφόρηση.
  • Cwnd (παράθυρο συμφόρησης). Αν είναι χαμηλό ή κολλημένο, τα όρια μεγέθους ρυθμιστικού διαύλου ή παραθύρου περιορίζουν την απόδοση.

Σε μια καθαρή σύνδεση 1 Gbps, περιμένετε περίπου 940 Mbps μετά την επιβάρυνση του πρωτοκόλλου. Η δοκιμή ολοκληρώνεται με συνοπτικές γραμμές αποστολέα και παραλήπτη. Σε ένα σταθερό δίκτυο, αυτές θα πρέπει να ταιριάζουν πολύ.

Για τις δοκιμές UDP( σημαία-u ), η έξοδος προσθέτει jitter (διακύμανση άφιξης πακέτων) και χαμένα/συνολικά datagrams. Τσιμπήματα κάτω από 1 ms και 0% απώλεια είναι ιδανικά για κίνηση σε πραγματικό χρόνο όπως το VoIP.

Χρήσιμες σημαίες

ΣημαίαΣκοπός
-c <IP>Σύνδεση με διακομιστή
-p <port>Χρήση συγκεκριμένης θύρας (προεπιλογή: 5201)
-t <sec>Διάρκεια δοκιμής σε δευτερόλεπτα (προεπιλογή: 10)
-i <sec>Διάστημα αναφοράς
-P <αριθμός>Παράλληλες ροές
-uΛειτουργία UDP
-b <n>MΕύρος ζώνης στόχου (UDP- προεπιλογή σε 1 Mbps εάν παραλειφθεί)
-RΑντίστροφη λειτουργία (ο διακομιστής στέλνει, ο πελάτης λαμβάνει)
-w <n>KΜέγεθος παραθύρου TCP / ρυθμιστικού διαύλου υποδοχής
-JΈξοδος JSON
-ZZerocopy (μειώνει τη CPU σε γρήγορες συνδέσεις)

Προχωρημένες δοκιμές

Δοκιμές διπλής κατεύθυνσης

Η σημαία --bidir (iperf3 3.7+) δοκιμάζει ταυτόχρονα τη μεταφόρτωση και τη λήψη:

iperf3 -c 192.168.1.10 --bidir

Και οι δύο συνδέσεις προέρχονται από τον πελάτη, οπότε αυτό λειτουργεί μέσω NAT χωρίς άνοιγμα επιπλέον θυρών. Εάν τα αποτελέσματα της αμφίδρομης δοκιμής είναι πολύ χαμηλότερα από τις δοκιμές μονής κατεύθυνσης, ο δρομολογητής ή το καλωδιακό μόντεμ σας μπορεί να δυσκολεύεται με την κίνηση πλήρους διπλής όψης.

Αντίστροφη λειτουργία

Η σημαία -R αντιστρέφει τη ροή δεδομένων έτσι ώστε ο διακομιστής να στέλνει και ο πελάτης να λαμβάνει. Με αυτόν τον τρόπο μετράται η ταχύτητα λήψης χωρίς εναλλαγή ρόλων:

iperf3 -c 192.168.1.10 -t 30 -i 5 -R

Οι μεγάλες διαφορές μεταξύ των αποτελεσμάτων προς τα εμπρός και προς τα πίσω υποδεικνύουν ασύμμετρες διαδρομές, συμφόρηση ή λανθασμένες ρυθμίσεις ρυθμιστικού διαύλου.

Δοκιμή UDP

Οι δοκιμές UDP αποκαλύπτουν το τρεμούλιασμα και την απώλεια πακέτων, τα οποία το TCP κρύβει πίσω από τις επαναμεταδόσεις. Ορίζετε πάντα ένα εύρος ζώνης-στόχο με την επιλογή -b, καθώς το iperf3 έχει ως προεπιλογή 1 Mbps για το UDP:

iperf3 -c 192.168.1.10 -u -b 1G

Για την προσομοίωση της κυκλοφορίας VoIP (100 κλήσεις, πακέτα 200 byte):

iperf3 -c 192.168.1.10 -u -b 8M -l 200

Συγκριτικά στοιχεία ποιότητας: jitter κάτω από 5 ms είναι καλό για VoIP, πάνω από 30 ms προκαλεί ακουστικά προβλήματα. Απώλεια πακέτων πάνω από 0,1% υποβαθμίζει αισθητά τα μέσα πραγματικού χρόνου.

Ρύθμιση και αντιμετώπιση προβλημάτων

Συνήθη προβλήματα

Λαμβάνετε μόνο 100 Mbps σε μια σύνδεση gigabit Ελέγξτε την ταχύτητα της φυσικής σας διασύνδεσης με το ethtool eth0. Η αυτόματη διαπραγμάτευση μερικές φορές αποτυγχάνει και ρίχνει τη σύνδεση σε χαμηλότερη ταχύτητα.

Το MSS εμφανίζει 536 bytes στο Ethernet Το Path MTU Discovery είναι πιθανώς απενεργοποιημένο. Η προεπιλεγμένη MSS για μια MTU 1.500 bytes είναι 1.460 bytes. Χρησιμοποιήστε το -m κατά τη διάρκεια της δοκιμής για να το ελέγξετε. Ένα MSS 536 byte σπαταλάει εύρος ζώνης και προσθέτει επιβάρυνση.

Η CPU εξαντλείται σε γρήγορες συνδέσεις Χρησιμοποιήστε το -Z (zerocopy) για να μειώσετε το φορτίο της CPU. Για 40 Gbps+, εκτελέστε πολλαπλές περιπτώσεις διακομιστών σε διαφορετικές θύρες και κατανείμετε τις σε πυρήνες CPU.

Ασυνεπή αποτελέσματα Χρησιμοποιήστε -O 3 για να παραλείψετε τα πρώτα δευτερόλεπτα, ενώ το παράθυρο συμφόρησης TCP αυξάνεται. Αφήστε 30 δευτερόλεπτα μεταξύ των εκτελέσεων δοκιμής για να καθαρίσετε τα buffers του δικτύου.

Η μεμονωμένη ροή είναι πολύ πιο αργή από τις παράλληλες ροές σε συνδυασμό Εάν μια ροή λαμβάνει 200 Mbps αλλά οκτώ ροές συνδυαστικά φτάνουν τα 1,6 Gbps, το παράθυρο TCP ή τα buffers του λειτουργικού συστήματος περιορίζουν τη μεμονωμένη ροή. Ρυθμίστε τους ρυθμιστικούς διαύλους παρακάτω.

Ρύθμιση ρυθμιστικού διαύλου TCP

Ξεκινήστε υπολογίζοντας το γινόμενο εύρους ζώνης-καθυστέρησης: εύρος ζώνης x RTT. Μια σύνδεση 10 Gbps με 50 ms RTT δίνει ένα BDP 62,5 MB. Ρυθμίστε το μέγιστο ρυθμιστικό σας διάλυμα σε τουλάχιστον 2 φορές το BDP.

Προσθέστε αυτά στο αρχείο /etc/sysctl.d/99-tcp-tuning.conf και εφαρμόστε τα με sudo sysctl -p:

ΠαράμετροςΣυνιστώμενη (1-10 Gbps)
net.core.rmem_max134217728 (128 MB)
net.core.wmem_max134217728 (128 MB)
net.ipv4.tcp_rmem4096 131072 134217728
net.ipv4.tcp_wmem4096 131072 134217728
net.core.default_qdiscfq
net.ipv4.tcp_congestion_controlbbr

Διατηρήστε το net.ipv4.tcp_moderate_rcvbuf σε 1, ώστε ο πυρήνας να συντονίζεται αυτόματα μέσα σε αυτές τις περιοχές. Ενεργοποιήστε το net.ipv4.tcp_window_scaling (σε 1) για παράθυρα TCP μεγαλύτερα από 64 KB.

Μπορείτε επίσης να μεταβείτε από τον προεπιλεγμένο αλγόριθμο συμφόρησης CUBIC στον αλγόριθμο BBR της Google. Σε συνδέσεις υψηλής καθυστέρησης με κάποια απώλεια πακέτων, ο BBR παρέχει σταθερά υψηλότερη απόδοση από τον CUBIC.

Χρησιμοποιήστε τη σημαία -w στο iperf3 για να δοκιμάσετε συγκεκριμένα μεγέθη buffer, αλλά σημειώστε ότι αυτό δεν μπορεί να υπερβαίνει τα rmem_max ή wmem_max του πυρήνα. Ξεκινήστε με 8 MB για συνδέσεις gigabit, 512 KB για 100 Mbps.

Αν παρέχετε αποκλειστικούς διακομιστές και θέλετε να επικυρώσετε την απόδοση του δικτύου, εκτελέστε τις βασικές δοκιμές iperf3 αμέσως μετά την εγκατάσταση και μετά από οποιεσδήποτε αλλαγές στο δίκτυο για να εντοπίσετε νωρίς τις παλινδρομήσεις.

Σύσταση βίντεο

Blog

Προτεινόμενα αυτή την εβδομάδα

Περισσότερα άρθρα
iperf3 Tutorial: Linux & Windows

iperf3 Tutorial: Linux & Windows

Εγκαταστήστε το iperf3, εκτελέστε δοκιμές εύρους ζώνης και ρυθμίστε τα buffers TCP για ακριβή αποτελέσματα σε Linux και Windows. Καλύπτει δοκιμές UDP, αμφίδρομης και 10GbE+

10 λεπτά ανάγνωσης - 7 Μαΐου 2026

Στιγμιότυπα ZFS: Πώς να τα δημιουργήσετε, να τα επαναφέρετε και να τα αυτοματοποιήσετε

10 λεπτά ανάγνωσης - 5 Μαΐου 2026

Περισσότερα άρθρα
background image

Έχετε ερωτήσεις ή χρειάζεστε μια προσαρμοσμένη λύση

icon

Ευέλικτες επιλογές

icon

Παγκόσμια εμβέλεια

icon

Άμεση ανάπτυξη

icon

Ευέλικτες επιλογές

icon

Παγκόσμια εμβέλεια

icon

Άμεση ανάπτυξη