Hướng dẫn kiểm tra băng thông mạng với Iperf
Hôm nay Bizfly Cloud sẽ cùng các bạn tìm hiểu và thực hiện kiểm tra và đo lường băng thông mạng với phần mềm Iperf. Thông qua đó mọi người có thể tự đánh giá được tình trạng băng thông sử dụng của mình để có những điều chỉnh phù hợp nhé!
Iperf – Công cụ kiểm thử hiệu năng mạng dành cho kỹ sư
Iperf là một công cụ mã nguồn mở, hoàn toàn miễn phí, được sử dụng rộng rãi trong giới quản trị hệ thống để đo throughput – tức lượng dữ liệu mạng tối đa mà một máy chủ có thể xử lý trong một kết nối.
Điểm mạnh của Iperf nằm ở chỗ nó không chỉ cho bạn thấy “tốc độ mạng” đơn thuần, mà còn giúp khoanh vùng sự cố: nếu một máy chủ không đạt được mức throughput như kỳ vọng, bạn có cơ sở để xác định vấn đề nằm ở đâu trong hạ tầng mạng.
Ngoài ra, Iperf còn đặc biệt hữu ích khi kiểm tra kết nối giữa hai máy chủ đặt ở những vị trí địa lý khác nhau. Nhờ vậy, quản trị viên có thể đánh giá chất lượng đường truyền thực tế, thay vì chỉ dựa trên thông số lý thuyết từ nhà cung cấp dịch vụ.
Cài đặt Iperf
Trước tiên chúng ta sẽ thực hiện cài đặt phần mềm để tiến hành kiểm tra:
Debian/Ubuntu
apt-get install iperf
CentOS/Fedora
yum install epel-release -y yum install iperf -y
Sử dụng Iperf để kiểm tra hiệu năng mạng
Để bắt đầu, bạn cần cài đặt Iperf trên cả hai máy tham gia kiểm thử. Ví dụ, nếu bạn muốn đo throughput giữa một máy chủ tại Bizfly Cloud và máy tính cá nhân, thì chỉ cần cài Iperf trên máy tính của bạn, trong khi phía máy chủ đã được chuẩn bị sẵn.
Một lưu ý quan trọng: để có cái nhìn chính xác và toàn diện hơn về hiệu năng đường truyền, bạn nên chạy thử nghiệm với nhiều máy chủ ở các vị trí địa lý khác nhau. Bởi lẽ, kết quả đo có thể bị ảnh hưởng bởi các yếu tố bên ngoài như giới hạn băng thông từ ISP hoặc đặc thù hạ tầng mạng tại từng khu vực.
TCP Clients & Servers
Cách chạy Iperf: Server và Client
Iperf hoạt động theo mô hình hai máy:
Một máy đóng vai trò server, lắng nghe và chờ kết nối.
Máy còn lại đóng vai trò client, kết nối đến server để thực hiện kiểm thử tốc độ.
Bước 1: Khởi chạy Iperf trên server Trên máy chủ mà bạn chọn làm server, chạy lệnh:
iperf -s
Sau khi khởi chạy, màn hình sẽ hiển thị thông báo xác nhận rằng Iperf đang chạy ở chế độ server và sẵn sàng nhận kết nối.

Bước 2: Kết nối từ client Trên máy còn lại (client), bạn thực hiện kết nối tới server bằng lệnh:
iperf -c 14.225.44.178
Trong đó, "14.225.44.178" cần được thay bằng địa chỉ IP thật của máy chủ mà bạn muốn kiểm tra.
Bạn sẽ thấy kết quả xuất ra gần giống như sau:

Bước 3: Bạn cũng sẽ thấy kết quả tương tự trên Iperf server
Bước 4: Để stop Iperf trên server, nhấn CTRL + C
UDP Clients & Servers
Với Iperf, bạn có thể kiểm tra lượng dữ liệu mạng có thể đạt được thông qua kết nối UDP
Bước 1: Chạy Iperf trên server
iperf -s -u

Bước 2: Kết nối client tới Iperf server
Từ phía client, bạn cần kết nối tới Iperf server bằng địa chỉ IP của máy chủ đích. Ví dụ:
iperf -c 14.225.44.178
Trong lệnh trên, "14.225.44.178" chính là IP của server bạn muốn kiểm tra, bạn hãy thay thế bằng IP thực tế trong hệ thống của mình.
Ngoài ra, nếu bạn muốn kiểm tra hiệu năng mạng với giao thức UDP thay vì mặc định là TCP, hãy thêm tham số "-u":
iperf -c 14.225.44.178 -u
Tham số "-u" giúp mô phỏng và đo lường chất lượng kết nối UDP (ví dụ cho các ứng dụng như VoIP hay video streaming), trong đó bạn có thể thấy rõ các chỉ số như jitter và packet loss – vốn là những yếu tố ảnh hưởng trực tiếp đến trải nghiệm người dùng.

Khi chạy thử nghiệm với UDP, bạn có thể nhận thấy kết quả trả về chỉ khoảng 1.05 Mbits/sec, thấp hơn khá nhiều so với lần kiểm tra bằng TCP trước đó. Điều này hoàn toàn bình thường, không phải do mạng của bạn yếu đi.
Nguyên nhân là bởi Iperf mặc định giới hạn băng thông cho các phiên UDP ở mức 1 Mb/s. Nghĩa là, trừ khi bạn chỉ định rõ ràng, Iperf sẽ không “đẩy hết công suất” khi test UDP.
Nếu muốn kiểm tra với tốc độ cao hơn, bạn có thể sử dụng tham số "-b" để đặt mức băng thông mong muốn.
Bước 3: Tùy chỉnh kết quả trên với tham số -b, thay thế với giá trị băng thông tối đa mà bạn muốn kiểm tra:
iperf -c 14.225.44.178 -u -b 100m
Câu lệnh trên thực hiện kiểm tra với băng thông 100Mb nếu có thể đạt được. Tham số -b chỉ sử dụng cho kết nối UDP, bởi mặc định Iperf không giới hạn với việc kiểm tra bằng kết nối TCP.

Kiểm tra kết nối 2 chiều
Với tham số -d bạn có thể thực hiện kiểm tra tốc độ mạng hai chiều, sau khi kiểm tra tốc mạng lần thứ nhất giữa client và server, thì hai máy chủ này sẽ đổi vai trò cho nhau và thực hiện lại việc kiểm tra lần hai.
iperf -c 14.225.44.178 -d

Phần hướng dẫn đến đây là hoàn thành, chúc bạn thực hiện kiểm tra thành công!