hướng dẫn 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, độ dao động 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 iperf3 --version. Cài đặt nó 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 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 PATH 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 quy tắc tường lửa vào cho phép 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:
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 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. Để gán vào 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 khách hàng duy nhất và sau đó thoát. 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 giới hạn CPU một luồng.
Đảm bảo tường lửa của bạn cho phép lưu lượng truy cập 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 liên kết 10 Gbps hoặc 25 Gbps, một luồng TCP duy nhất thường đạt mức tối đa 3–5 Gbps do giới hạn CPU lõi đơn. Sử dụng các luồng song song để bão hòa liên kết:
iperf3 -c 192.168.1.10 -P 8
Đọc kết quả
Mỗi dòng khoảng thời gian hiển thị Dữ liệu truyền (dữ liệu đã gửi) và Tốc độ bit (thông lượng). Đối với TCP, cũng cần chú ý:
- 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 (-u flag), kết quả hiển thị thêm jitter (biến động thời gian đến của gói tin) và số gói tin bị mất/tổng số gói tin. Jitter dưới 1 ms và tỷ lệ mất gói tin 0% là lý tưởng cho lưu lượng thời gian thực như VoIP.
Các cờ hữu ích
| Cờ | Mục đích |
|---|---|
-c <IP> | Kết nối với máy chủ |
-p <port> | Sử dụng cổng cụ thể (mặc định: 5201) |
-t <sec> | Thời gian kiểm tra tính bằng giây (mặc định: 10) |
-i <sec> | 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ế độ đảo 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 cờ (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 đó, thử nghiệm 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 thử nghiệm 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
Cờ -R cờ này đả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 bằng việc truyền lại. Luôn đặt băng thông mục tiêu với -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 tin 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 kết nối gigabit? Kiểm tra tốc độ giao diện vật lý của bạn bằng ethtool eth0. Tự động thương lượng đôi khi không thành công và làm giảm tốc độ kết nối xuống mức thấp hơn.
MSS hiển thị 536 byte trên Ethernet? Có thể tính năng Path MTU Discovery đã bị tắt. MSS mặc định cho MTU 1.500 byte là 1.460 byte. Sử dụng -m trong quá trình kiểm tra để xác minh. MSS 536 byte gây lãng phí băng thông và tăng thêm tải hệ thống.
CPU hoạt động hết công suất trên các kết nối nhanh? Sử dụng -Z (zerocopy) để giảm tải CPU. Đối với tốc độ 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 trong 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 kết hợp đạ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 bên dưới.
Đ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ễ: 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 của bạn ít nhất gấp 2 lần BDP.
Thêm các giá trị này vào /etc/sysctl.d/99-tcp-tuning.conf và áp dụng với sudo sysctl -p:
| Tham số | Đề xuất (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_congestion_control | bbr |
Giữ net.ipv4.tcp_moderate_rcvbuf đặt thành 1 để nhân hệ thống tự động điều chỉnh trong các phạm vi này. Bậ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 -w cờ trong iperf3 để kiểm tra các kích thước bộ đệm cụ thể, nhưng lưu ý rằng điều này không được vượt quá rmem_max hoặc wmem_max. 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 triển khai các 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ơ sở 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 hiệu suất.
Đề xuất video
XDP và eBPF cho xử lý gói tin trên Linux
Cách XDP và eBPF xử lý hàng triệu gói tin mỗi giây ở cấp trình điều khiển NIC. Các bài kiểm tra hiệu năng, trường hợp sử dụng DDoS, thiết lập chuỗi công cụ và yêu cầu phần cứng
14 phút đọc - 27 tháng 5, 2026
Tại sao việc sở hữu một VPS mạnh mẽ và không giới hạn băng thông lại quan trọng
3 phút đọc - 9 tháng 5, 2025

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