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

hero section cover
Mục lục
  • hướng dẫn iperf3: Đo lường hiệu suất mạng trên Linux và Windows
  • Cài đặt iperf3
  • Cài đặt máy chủ
  • Chạy các bài kiểm tra khách hàng
  • Các bài kiểm tra nâng cao
  • Điều chỉnh và khắc phục sự cố
  • Đề xuất video
Chia sẻ

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
-uChế độ UDP
-b <n>MBăng thông mục tiêu (UDP; mặc định là 1 Mbps nếu không được chỉ định)
-RChế độ ngược (máy chủ gửi, máy khách nhận)
-w <n>KKích thước cửa sổ TCP / bộ đệm socket
-JĐầu ra JSON
-ZZerocopy (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_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_kiểm_soát_tắc_nghẽnbbr

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

Blog

Nổi bật trong tuần

Các bài viết khác
hướng dẫn sử dụng iperf3: Kiểm tra tốc độ mạng trên Linux & Windows

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

Các bài viết khác
background image

Bạn có thắc mắc hoặc cần giải pháp tùy chỉnh?

icon

Các tùy chọn linh hoạt

icon

Phạm vi toàn cầu

icon

Triển khai ngay lập tức

icon

Các tùy chọn linh hoạt

icon

Phạm vi toàn cầu

icon

Triển khai ngay lập tức