Thứ Năm, 23 tháng 3, 2017

Hướng dẫn sử dụng iperf


Iperf

Hướng dẫn sử dụng iperf
Iperf là một công cụ hữu hiệu giúp chúng ta tính toán băng thông của mạng

1. Cài đặt

Trên Ubuntu:
apt-get install iperf
Trên CentOS:
yum install iperf

2. Một số tham số phổ biến của iperf

Tham sốTác dụng
-cchỉ ra địa chỉ IP của server để iperf kết nối đến
-f, --formatChỉ ra định dạng của kết quả hiển thị. 'b' = bps, 'B' = Bps, 'k' = Kbps, 'K' = KBps,...
-i, --intervalThời gian lấy mẫu để hiển thị kết quả tại thời điểm đó ra màn hình
-p, --portĐịnh ra cổng để nghe, mặc định nếu không sử dụng tham số này là cổng 5001
-u, --udpSử dụng giao thức UDP, mặc định iperf sử dụng TCP
-P, --parallelChỉ ra số kết nối song song được tạo, nếu là Server mode thì đây là giới hạn số kết nối mà server chấp nhận
-bĐịnh ra băng thông tối ta có thể truyền, chỉ sử dụng với UDP, client mode
-tTổng thời gian của kết nối, tính bằng giây
-MMax segment size
-lBuffer size
-w, --windowTrường Windows size của TCP

3. Thực hiện các bài test với IPerf

Mô hình chung

Để kiểm tra băng thông của mạng ta có thể sử dụng một trong hai giao thức TCP hoặc UDP, nhưng điểm chung giữa hai phương pháp này là đều cần 1 máy làm server để lắng nghe, một máy client kết nối đến giống như hình trên. IPerf sẽ tính toán và đưa ra được băng thông của mạng giữa Server và client.

Sử dụng TCP

Cả máy server và client đều cần cài iperf. Nếu sử dụng tham số cổng (-p) thì trên cả Server và client đều phải giống cổng nhau.
  • Ví dụ một bài test đơn giản
Server:
iperf -s
Client:
iperf -c ip-server
Sau 10 giây kết quả sẽ trả về trên màn hình.
  • Ví dụ bài test TCP với Buffer size: 16 MB, Window Size: 60 Mbps, Max segment size 5 trong thời gian 5 phút, kết quả hiển thị dưới dạng mbps
Server:
iperf -s -P 0 -i 1 -p 5001 -w 60.0m -l 16.0M -f m
Client:
iperf -c ip-server -i 1 -p 5001 -w 60.0m -M 1.0K -l 16.0M -f m -t 300

Sử dụng UDP

  • Ví dụ một bài test đơn giản
Server:
iperf -s -u
Client:
iperf -c ip-server -u
Sau 10 giây kết quả sẽ trả về trên màn hình.
  • Ví dụ bài test UDP với Bandwidth 600 Mbps Packet size 500 Bytes trong 300s
Server:
iperf -s -u -P 0 -i 1 -p 5001 -f m
Client:
iperf -c ip-server -u -i 1 -p 5001 -l 500B -f m -b 600m -t 300
  • Kiểm tra tốc độ của một cổng mạng
Để làm việc này ta có thể đẩy tải liên lục bằng UDP tại máy chủ, do UDP truyền file mà không cần phải bắt tay 3 bước như TCP nên ta có thể đẩy UDP liên lục từ client, thay đổi băng thông và quan sát băng thông tối đa mà nó đạt được, đó cũng chính là giới hạn của card mạng.
Giả sử có một máy chủ card eth0 có ip 10.10.10.10 và tôi muốn kiểm tra xem tốc độ eth0 tối đa là bao nhiêu, tôi thực hiện như sau:
iperf -c 10.10.10.1 -u -b 100m -t 100 -i 1
iperf -c 10.10.10.1 -u -b 500m -t 100 -i 1
iperf -c 10.10.10.1 -u -b 1g -t 100 -i 1
iperf -c 10.10.10.1 -u -b 2g -t 100 -i 1
Quan sát kết quả thu được, lấy giá trị băng thông cao nhất do tham số -b là giới hạn băng thông UDP, nên ta có thể tăng giới hạn này lên để xác định tốc độ thật của card.

4. Jperf = iperf + GUI

Đây là một công cụ tương tự như iperf nhưng có thêm giao diện đồ họa, có thể download tại
Để sử dụng nó thì ta cần cài Java trên máy, sau đó chạy file jperf.bat (trên Windows) hay jperf.sh (trên Linux)
Giao diện của Jperf
Sau đó ta tích chọn vào những tham số cần dùng (bandwidth, windowsize,...), mode (server hay client),... Jperf cung cấp một biểu đồ để ta có thể theo dõi kết quả trực tiếp.

Không có nhận xét nào:

Đăng nhận xét