hướng dẫn sử dụng iperf3: Kiểm tra tốc độ mạng trên Linux & Windows
10 phút đọc - 7 tháng 5, 2026

Cài đặt iperf3, chạy các bài kiểm tra băng thông và điều chỉnh bộ đệm TCP để có kết quả chính xác trên Linux và Windows. Bao gồm kiểm tra UDP, hai chiều và 10GbE+
hướng dẫn iperf3: Đo lường hiệu suất mạng trên Linux và Windows
iperf3 là một công cụ dòng lệnh để đo băng thông mạng, độ trễ và mất gói tin giữa hai máy. Nó sử dụng mô hình máy khách-máy chủ: một máy lắng nghe, máy kia gửi lưu lượng và bạn sẽ nhận được các số liệu thông lượng chính xác. Hướng dẫn này bao gồm cài đặt, các bài kiểm tra cơ bản và nâng cao, cũng như cách điều chỉnh hệ thống để có kết quả chính xác trên các liên kết tốc độ cao.
Cài đặt iperf3
Debian / Ubuntu
sudo apt update
sudo apt install iperf3
Xác nhận cài đặt bằng lệnh iperf3 --version. Cài đặt trên cả máy chủ và máy khách.
Fedora / CentOS / Rocky / Alma
Trên Fedora 22 trở lên hoặc CentOS 8 trở lên, Rocky hoặc AlmaLinux:
sudo dnf install iperf3
Trên CentOS 7, hãy sử dụng yum thay thế. Nếu không tìm thấy gói phần mềm, hãy kích hoạt kho lưu trữ EPEL trước:
sudo yum install epel-release
sudo yum install iperf3
Nếu tường lửa của bạn đang hoạt động, hãy mở cổng 5201:
sudo firewall-cmd --add-port=5201/tcp --permanent
sudo firewall-cmd --reload
Windows
Tải xuống tệp thực thi độc lập từ iperf.fr hoặc kho GitHub ar51an/iperf3-win-builds. Giải nén tệp vào một thư mục như C:\iperf3, sau đó xác minh:
cd C:\iperf3
iperf3.exe -v
Để chạy iperf3 từ bất kỳ thư mục nào, hãy thêm thư mục đó vào biến môi trường PATH của hệ thống qua Thuộc tính Hệ thống > Nâng cao > Biến môi trường. Bạn cũng cần tạo một quy tắc tường lửa cho phép kết nối TCP trên cổng 5201 trong Tường lửa Windows Defender.
Cài đặt máy chủ
Khởi động máy chủ bằng cách:
iperf3 -s
Theo mặc định, máy chủ này lắng nghe trên cổng TCP 5201. Để chạy nó ở chế độ nền với tính năng ghi nhật ký:
iperf3 -s -D --logfile /var/log/iperf3.log
Kiểm tra xem nó có đang chạy không bằng lệnh ss -tulpn | grep 5201.
Nếu cổng 5201 bị chặn trên mạng của bạn, hãy sử dụng -p để chọn một cổng khác. Để kết nối với một giao diện cụ thể, hãy sử dụng -B:
iperf3 -s -B 192.168.1.10
Đối với các thử nghiệm một lần, iperf3 -s -1 xử lý một kết nối máy khách duy nhất và sau đó thoát ra. Trên các liên kết băng thông cao (40 Gbps+), hãy chạy nhiều phiên bản máy chủ trên các cổng khác nhau để khắc phục các giới hạn CPU đơn luồng.
Đảm bảo tường lửa của bạn cho phép lưu lượng trên cổng đã chọn. Trên Ubuntu/Debian với UFW:
sudo ufw allow 5201/tcp
sudo ufw allow 5201/udp # if testing UDP
Chạy các bài kiểm tra khách hàng
Kiểm tra TCP cơ bản
iperf3 -c 192.168.1.10
Thử nghiệm này đo băng thông tải lên qua TCP trong 10 giây. Mở rộng thời gian bằng -t:
iperf3 -c 192.168.1.10 -t 30
Trên các kết nối 10 Gbps hoặc 25 Gbps, một luồng TCP duy nhất thường đạt đỉnh ở mức 3–5 Gbps do giới hạn của CPU lõi đơn. Sử dụng các luồng song song để khai thác hết băng thông của kết nối:
iperf3 -c 192.168.1.10 -P 8
Đọc kết quả
Mỗi dòng khoảng thời gian hiển thị Dung lượng truyền (dữ liệu đã gửi) và Tốc độ bit (thông lượng). Đối với TCP, cũng cần theo dõi:
- Retr (số lần truyền lại). Số liệu cao có nghĩa là mất gói tin hoặc tắc nghẽn.
- Cwnd (cửa sổ tắc nghẽn). Nếu giá trị này thấp hoặc bị kẹt, giới hạn kích thước bộ đệm hoặc cửa sổ đang hạn chế thông lượng.
Trên một liên kết 1 Gbps sạch, dự kiến khoảng 940 Mbps sau khi trừ đi chi phí giao thức. Thử nghiệm kết thúc với các dòng tóm tắt của người gửi và người nhận. Trên một mạng ổn định, các giá trị này sẽ gần như trùng khớp.
Đối với các thử nghiệm UDP (cờ-u ), kết quả sẽ thêm jitter (biến động thời gian đến của gói tin) và số datagram bị mất/tổng số datagram. Jitter dưới 1 ms và 0% mất mát là lý tưởng cho lưu lượng thời gian thực như VoIP.
Các cờ hữu ích
| Tham số | Mục đích |
|---|---|
-c <IP> | Kết nối với máy chủ |
-p <cổng> | Sử dụng cổng cụ thể (mặc định: 5201) |
-t <giây> | Thời gian kiểm tra tính bằng giây (mặc định: 10) |
-i <giây> | Khoảng thời gian báo cáo |
-P <num> | Luồng song song |
-u | Chế độ UDP |
-b <n>M | Băng thông mục tiêu (UDP; mặc định là 1 Mbps nếu không được chỉ định) |
-R | Chế độ ngược (máy chủ gửi, máy khách nhận) |
-w <n>K | Kích thước cửa sổ TCP / bộ đệm socket |
-J | Đầu ra JSON |
-Z | Zerocopy (giảm tải CPU trên các kết nối nhanh) |
Các bài kiểm tra nâng cao
Kiểm tra hai chiều
Cờ --bidir (iperf3 3.7+) kiểm tra tải lên và tải xuống đồng thời:
iperf3 -c 192.168.1.10 --bidir
Cả hai kết nối đều bắt nguồn từ máy khách, do đó, tính năng này hoạt động thông qua NAT mà không cần mở thêm cổng. Nếu kết quả hai chiều thấp hơn nhiều so với các bài kiểm tra một chiều, bộ định tuyến hoặc modem cáp của bạn có thể đang gặp khó khăn với lưu lượng truy cập song công.
Chế độ đảo ngược
Tham số -R đảo ngược luồng dữ liệu để máy chủ gửi và máy khách nhận. Điều này đo tốc độ tải xuống mà không cần hoán đổi vai trò:
iperf3 -c 192.168.1.10 -t 30 -i 5 -R
Sự chênh lệch lớn giữa kết quả tiến và lùi cho thấy đường truyền không đối xứng, tắc nghẽn hoặc cấu hình bộ đệm không chính xác.
Kiểm tra UDP
Các bài kiểm tra UDP cho thấy độ dao động và mất gói tin, những điều mà TCP che giấu đằng sau các lần truyền lại. Luôn đặt băng thông mục tiêu bằng -b, vì iperf3 mặc định là 1 Mbps cho UDP:
iperf3 -c 192.168.1.10 -u -b 1G
Để mô phỏng lưu lượng VoIP (100 cuộc gọi, gói tin 200 byte):
iperf3 -c 192.168.1.10 -u -b 8M -l 200
Tiêu chuẩn chất lượng: độ trễ dưới 5 ms là tốt cho VoIP, trên 30 ms gây ra các vấn đề có thể nghe thấy. Mất gói trên 0,1% làm suy giảm đáng kể chất lượng phương tiện truyền thông thời gian thực.
Điều chỉnh và khắc phục sự cố
Các vấn đề thường gặp
Chỉ nhận được 100 Mbps trên liên kết gigabit? Kiểm tra tốc độ giao diện vật lý của bạn bằng ethtool eth0. Đôi khi, quá trình tự động thương lượng không thành công và làm giảm tốc độ liên kết xuống mức thấp hơn.
MSS hiển thị 536 byte trên Ethernet? Chức năng Path MTU Discovery có thể bị tắt. Giá trị MSS mặc định cho MTU 1.500 byte là 1.460 byte. Sử dụng tùy chọn -m khi kiểm tra để xác minh. Giá trị MSS 536 byte gây lãng phí băng thông và tăng tải hệ thống.
CPU đạt công suất tối đa trên các kết nối nhanh? Sử dụng -Z (zerocopy) để giảm tải CPU. Đối với 40 Gbps trở lên, hãy chạy nhiều phiên bản máy chủ trên các cổng khác nhau và phân bổ chúng trên các lõi CPU.
Kết quả không nhất quán? Sử dụng -O 3 để bỏ qua vài giây đầu tiên khi cửa sổ tắc nghẽn TCP tăng dần. Để khoảng 30 giây giữa các lần chạy thử nghiệm để xóa bộ đệm mạng.
Luồng đơn chậm hơn nhiều so với tổng các luồng song song? Nếu một luồng đạt 200 Mbps nhưng tám luồng cộng lại đạt 1,6 Gbps, thì cửa sổ TCP hoặc bộ đệm hệ điều hành đang giới hạn luồng đơn. Điều chỉnh các bộ đệm dưới đây.
Điều chỉnh bộ đệm TCP
Bắt đầu bằng cách tính toán Sản phẩm Băng thông-Trễ (BDP): băng thông x RTT. Một liên kết 10 Gbps với RTT 50 ms cho BDP là 62,5 MB. Đặt bộ đệm tối đa ít nhất gấp 2 lần BDP.
Thêm các thông số này vào /etc/sysctl.d/99-tcp-tuning.conf và áp dụng bằng lệnh sudo sysctl -p:
| Tham số | Khuyến nghị (1–10 Gbps) |
|---|---|
net.core.rmem_max | 134217728 (128 MB) |
net.core.wmem_max | 134217728 (128 MB) |
net.ipv4.tcp_rmem | 4096 131072 134217728 |
net.ipv4.tcp_wmem | 4096 131072 134217728 |
net.core.default_qdisc | fq |
net.ipv4.tcp_kiểm_soát_tắc_nghẽn | bbr |
Giữ net.ipv4.tcp_moderate_rcvbuf ở mức 1 để kernel tự động điều chỉnh trong các phạm vi này. Kích hoạt net.ipv4.tcp_window_scaling (đặt thành 1) cho các cửa sổ TCP lớn hơn 64 KB.
Bạn cũng có thể chuyển từ thuật toán tắc nghẽn CUBIC mặc định sang BBR của Google. Trên các liên kết có độ trễ cao với một số mất gói, BBR luôn mang lại thông lượng cao hơn CUBIC.
Sử dụng cờ -w trong iperf3 để kiểm tra các kích thước bộ đệm cụ thể, nhưng lưu ý rằng giá trị này không được vượt quá rmem_max hoặc wmem_max của kernel. Bắt đầu với 8 MB cho các kết nối gigabit, 512 KB cho 100 Mbps.
Nếu bạn đang cung cấp máy chủ chuyên dụng và muốn xác thực hiệu suất mạng, hãy chạy các bài kiểm tra cơ bản iperf3 ngay sau khi thiết lập và sau bất kỳ thay đổi mạng nào để phát hiện sớm các sự suy giảm.
Đề xuất video

hướng dẫn sử dụng iperf3: Kiểm tra tốc độ mạng trên Linux & Windows
Cài đặt iperf3, chạy các bài kiểm tra băng thông và điều chỉnh bộ đệm TCP để có kết quả chính xác trên Linux và Windows. Bao gồm kiểm tra UDP, hai chiều và 10GbE+
10 phút đọc - 7 tháng 5, 2026
Bản sao lưu ZFS: Cách tạo, khôi phục và tự động hóa
10 phút đọc - 5 tháng 5, 2026

Bạn có thắc mắc hoặc cần giải pháp tùy chỉnh?
Các tùy chọn linh hoạt
Phạm vi toàn cầu
Triển khai ngay lập tức
Các tùy chọn linh hoạt
Phạm vi toàn cầu
Triển khai ngay lập tức