Đã cấu hình QoS, dựng VPN/DMVPN hay vừa đổi MTU/MSS nhưng chưa biết đường truyền thực tế được bao nhiêu Mbps? iPerf3 là công cụ dòng lệnh nhỏ gọn để tạo traffic có kiểm soát giữa hai điểm IP và đo throughput trực tiếp trên đường đi đó. Nó không đo “tốc độ gói cước” trên giấy, mà cho số liệu trong đúng bối cảnh mạng, tunnel, firewall và thiết bị anh đang vận hành.
iPerf3 là dự án mã nguồn mở do ESnet/Lawrence Berkeley National Laboratory phát triển, giấy phép BSD 3-clause. Công cụ hỗ trợ đo TCP, UDP và SCTP; báo throughput, loss và những thông số liên quan. Lưu ý: iPerf3 không tương thích ngược giao thức với iPerf 2 — hai đầu test phải cùng dùng iPerf3.
iPerf3 dùng để làm gì?
- Đo băng thông TCP/UDP thực tế giữa chi nhánh, server, VM, router lab hoặc hai đầu tunnel.
- Kiểm chứng QoS shaping/policing có chạm mức kỳ vọng hay không.
- So sánh trước và sau khi thay đổi MTU, MSS clamping, route, firewall hoặc policy.
- Tìm bottleneck: vấn đề nằm ở network, host, NIC, CPU hay ứng dụng.
- Đo UDP kèm jitter và packet loss — đặc biệt hữu ích cho voice/video.

Cài đặt iPerf3 trên macOS, Linux và Windows
Trên macOS và Linux, ưu tiên package manager của hệ điều hành. Trên Windows, trang iperf.fr tổng hợp link tới các Windows build pre-compiled của bên thứ ba; trang iPerf3 chính thức cho biết các nền tảng được hỗ trợ chính thức chủ yếu là Ubuntu Linux, FreeBSD và macOS. Vì vậy khi dùng Windows build, chỉ tải từ link đáng tin cậy, kiểm tra checksum/chữ ký nếu nhà phát hành cung cấp và cập nhật theo nguồn build đó.
# macOS (Homebrew)
brew install iperf3
# Ubuntu / Debian / Linux Mint
sudo apt update
sudo apt install iperf3
# Fedora / RHEL-family (tên package thường là iperf3)
sudo dnf install iperf3Windows: tải bản build từ trang tổng hợp nói trên, giải nén, mở Command Prompt/PowerShell tại thư mục chứa iperf3.exe rồi chạy lệnh. iPerf3 là chương trình portable, thường không cần trình cài đặt. Đừng nhầm iPerf3 với iPerf 2 khi lấy binary.
Cách test cơ bản: server trước, client sau
Cần hai máy có thể đi tới nhau qua IP. Một máy chạy server để nhận traffic; máy còn lại chạy client để khởi tạo phiên đo.
Bước 1: bật server
iperf3 -sMặc định iPerf3 lắng nghe TCP port 5201. Sau khi kết thúc một test, server tiếp tục chờ test tiếp theo; không cần khởi động lại server cho mỗi lần đo.
Bước 2: chạy client trỏ tới IP server
iperf3 -c 192.168.3.53Lệnh mặc định chạy khoảng 10 giây và in thống kê theo từng khoảng một giây. Ví dụ TCP có thể kết thúc như sau:
[ 5] 0.00-10.01 sec 111 MBytes 92.7 Mbits/sec sender
[ 5] 0.00-10.12 sec 110 MBytes 91.2 Mbits/sec receiverĐọc kết quả TCP cho đúng
Ở phía client, tổng kết TCP thường có hai dòng: sender là số liệu phía máy gửi, còn receiver phản ánh số byte/băng thông phía nhận báo lại. Khi mục tiêu là biết traffic thực sự đến được đầu bên kia bao nhiêu, ưu tiên nhìn dòng receiver.
- Chênh nhỏ sender/receiver là điều có thể xảy ra do thời điểm lấy mẫu, overhead và cách hai đầu thống kê.
- Nếu chênh lớn, hoặc throughput giảm mạnh/dao động bất thường, xem thêm retransmissions (trong output TCP khi có), CPU/NIC, duplex, queue, policy QoS, MTU/MSS và ứng dụng khác đang chiếm băng thông.
- Không nên kết luận “link lỗi” chỉ từ một lần chạy 10 giây. Hãy lặp lại, chạy lâu hơn và đổi chiều test.
Các option hay dùng
# chạy TCP trong 30 giây
iperf3 -c 192.168.3.53 -t 30
# UDP, mục tiêu gửi 100 Mbps
iperf3 -c 192.168.3.53 -u -b 100M
# 4 luồng TCP song song
iperf3 -c 192.168.3.53 -P 4
# đảo chiều: server gửi về client (gần với test download)
iperf3 -c 192.168.3.53 -R
# hai chiều đồng thời
iperf3 -c 192.168.3.53 --bidir
# dùng port 5202 thay vì port mặc định 5201
iperf3 -c 192.168.3.53 -p 5202Nếu đổi port ở client, server cũng phải lắng nghe đúng port đó, ví dụ iperf3 -s -p 5202. Tùy chọn --bidir có trong các bản iPerf3 hiện đại; nếu binary quá cũ không nhận option này, cập nhật hoặc chạy hai lượt: một lượt bình thường và một lượt -R.
Vì sao cần test UDP?
TCP có cơ chế điều khiển tắc nghẽn và retransmit, nên có thể che bớt tác động packet loss ở tầng ứng dụng. Với -u, iPerf3 báo thêm jitter và datagram loss. Đây là hai chỉ số đáng chú ý khi đánh giá voice, video, streaming hoặc traffic thời gian thực. Tuy nhiên đừng đặt -b quá cao rồi coi loss là lỗi link: UDP sẽ cố gửi theo mục tiêu; khi vượt khả năng của đường truyền/host/queue, loss là kết quả có thể dự đoán được.
Ứng dụng thực tế trong networking
- Verify QoS: test nhiều mức
-bvới UDP hoặc nhiều luồng TCP, sau đó đối chiếu counters/class-map/policy trên thiết bị. - Test tunnel VPN/DMVPN: đo cả hai chiều, lặp lại sau khi đổi MTU/MSS clamping; kiểm tra fragmentation, retransmit/loss và CPU encrypt.
- Baseline trước/sau thay đổi: lưu command, thời gian, hai endpoint, kết quả receiver, loss/jitter và thông số interface để có số liệu so sánh khách quan.
- Troubleshooting bottleneck: test cùng subnet trước, rồi qua từng hop/tunnel để khoanh vùng. Đừng test qua public iPerf server khi mục tiêu là đánh giá mạng nội bộ.
Lưu ý vận hành và an toàn
- Mở firewall/security group cho TCP port 5201 mặc định; với UDP test, mở thêm UDP cùng port. Chỉ mở theo IP nguồn cần thiết, không mở rộng ra Internet nếu không cần.
- iPerf3 có thể tạo tải lớn. Đặt thời lượng, số luồng và bitrate phù hợp; không chạy saturate đường production vào giờ cao điểm khi chưa có phê duyệt.
- Tắt hoặc ghi nhận các ứng dụng đang dùng băng thông, VPN client, backup, update và traffic nền ở cả hai đầu.
- Kiểm tra CPU host/VM. Một endpoint yếu, NIC virtual, antivirus hoặc mã hóa tunnel có thể là giới hạn thay vì bản thân đường link.
- Giữ hai đầu cùng major tool: iPerf3 client chỉ làm việc với iPerf3 server, không tương thích ngược iPerf 2.
Kết luận
iPerf3 không thay thế monitoring dài hạn, nhưng là dụng cụ cực hiệu quả để trả lời câu hỏi “đường này chạy thật được bao nhiêu?”. Với workflow đơn giản server → client, thêm test đảo chiều, UDP, nhiều luồng và lưu baseline, anh sẽ có dữ liệu thực tế để xác minh QoS, tunnel và troubleshooting thay vì tranh luận bằng cảm tính.
Nguồn và mốc kiểm chứng
Thông tin kiểm tra ngày 17/07/2026 từ tài liệu iPerf3 chính thức của ESnet, hướng dẫn invocation/manual, mã nguồn esnet/iperf và trang tổng hợp binary iPerf.fr.



