Coder Social home page Coder Social logo

iperf's Introduction

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

Trang chủ

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
-c chỉ ra địa chỉ IP của server để iperf kết nối đến
-f, --format Chỉ ra định dạng của kết quả hiển thị. 'b' = bps, 'B' = Bps, 'k' = Kbps, 'K' = KBps,...
-i, --interval Thờ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, --udp Sử dụng giao thức UDP, mặc định iperf sử dụng TCP
-P, --parallel Chỉ 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
-t Tổng thời gian của kết nối, tính bằng giây
-M Max segment size
-l Buffer size
-w, --window Trườ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.

iperf's People

Contributors

ducnc avatar

Stargazers

Vô Tình avatar

Watchers

James Cloos avatar  avatar Vô Tình avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.