Hôm nay Cloud365 sẽ giới thiệu đến các bạn 2 công cụ dùng để đo lường dữ liệu mạng và hiển thị mức sử dụng mạng hiện tại, là lệnh iperf và lệnh nload.

1. Lệnh nload

Lệnh nload hiển thị mức sử dụng mạng hiện tại.

Cài đặt:

Trên Centos / RHEL

yum install epel-release
yum install nload

Trên Ubuntu / Debian

apt install nload

Trên Fedora

dnf install nload

Sử dụng:

nload
hoặc
nload eth0
Imgur

Key Shortcuts:

  • Sử dụng các nút mũi tên, Tab, Enter để chuyển đổi giữa các interface mạng
  • F2: Hiển thị cửa sổ option
  • F5: Lưu setting hiện tại vào file cấu hình của người dùng
  • F6: reload settings từ file cấu hình
  • Dùng q hoặc Ctrl + C để thoát.

Các option:

-m: Hiển thị nhiều card cùng lúc

nload -m

-a: đặt độ dài tính bằng giây của cửa sổ thời gian để tính trung bình (mặc định là 300)

nload -a 400

-t: Thay đổi thời gian làm mới interval theo mili giây. Mặc định là 500 (nếu giảm xuống dưới 100 thì giá trị sẽ không chính xác.)

nload -ma 400 -t 600

devices: Có thể chỉ định card mạng cụ thể bằng lệnh sau: (Mặc định là tất cả các card mạng)

nload devices ens33

2. Lệnh iperf

Iperf là một công cụ miễn phí, dùng để đo lường lượng dữ liệu mạng (throughput) tối đa mà một server có thể xử lý. Công cụ này rất hữu ích để truy tìm ra các vấn đề đối với hệ thống mạng bởi Iperf có thể xác định được server nào không xử lý được lượng dữ liệu mạng (throughput) mà người quản trị mạng mong đợi.

Iperf rất hữu ích và có thể được sử dụng để đo lường throughput giữa hai máy chủ có sự khác biệt về vị trí địa lý.

Cài đặt:

Trên Debian/Ubuntu

apt-get install iperf

Trên CentOS/Fedora

yum install epel-release -y
yum install iperf -y

Các option:

-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

Sử dụng:

Iperf phải được cài đặt trên hai máy chủ sử dụng cho việc kiểm tra network throughput. Trong trường hợp bạn sử dụng Iperf để kiểm tra giữa máy chủ tại vHost và máy tính cá nhân của bạn, bạn phải cài đặt Iperf trên máy tính của bạn. Bạn nên sử dụng Iperf để kiểm tra giữa máy chủ của bạn và một máy chủ tại đặt tại vị trí khác để có đánh giá chính xác nhất bởi kết quả của việc kiểm tra có thể bị tác động bởi sự giới hạn của các nhà mạng.

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

Iperf yêu cầu cần có hai máy chủ để kiểm tra, một sẽ đóng vai trò và hoạt động như server, máy chủ còn lại sẽ là client kết nối tới máy chủ mà bạn đang kiểm tra tốc độ mạng.

Mô hình chung:

  • Client: 10.10.34.177
  • Server: 10.10.34.173

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.

Trên Server:

iperf -s
Imgur

Trên Client, thực hiện đẩy gói TCP tới server, kiểm tra traffic network trên card ens3 của Client. Thực hiện đẩy iperf TCP.

iperf -c 10.10.34.173
Imgur

Bạn cũng sẽ thấy kết quả tương tự trên Iperf server

Imgur

Sử dụng UDP

Trên server:

iperf -s -u
Imgur

Kết nối client tới Iperf server, thay thế “10.10.34.173” với IP của server mà bạn kiểm tra. Tham số -u mang ý nghĩa chỉ định thực hiện kết nối thông qua giao thức UDP

iperf -c 10.10.34.173 -u
Imgur

Kết quả trả về là 1.05 Mbits/sec thấp hơn khá nhiều so với việc kiểm tra với kết nối TCP trước đó. Có điều này là bởi mặc định Iperf giới hạn băng thông cho kết nối UDP là 1 Mb/s.

Bạn có thể 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 10.10.34.173 -u -b 100m
Imgur

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 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 10.10.34.173 -d
Imgur

3. Kết hợp sử dụng 2 lệnh

  • Client: 10.10.34.179
  • Server: 10.10.34.173

2 máy này đặt ở 2 cụm KVM khác nhau.

Trên server:

iperf -s -u

Trên Client, thực hiện đẩy gói TCP tới server, kiểm tra traffic network trên card ens3 của Client. Thực hiện đẩy iperf TCP

iperf -c 10.10.34.173 -u -b 1000m -i1 -t 100 -m

Giải thích tham số câu lệnh :

-c : địa chỉ host của iperf server (10.10.34.173)

-u: dùng giao thức UDP

-b: giá trị băng thông tối đa là 1000 Mbits

-i : khoảng thời gian giữa 2 lần report kết quả theo giây (1s)

-t : thời gian thực hiện đẩy traffic theo giây (100s)

-m : in ra MTU header

Kiểm tra trên network traffic của cả client và server. Sử dụng câu lệnh để nload để xem traffic network.

nload

Trên client, interface sẽ có Outgoing traffic ~900 Mbits/sec.

Imgur

Trên server, interface sẽ có Incoming traffic ~900 Mbits/sec.

Imgur

Kết luận

Như vậy Cloud 365 đã giới thiệu đến bạn cách sử dụng lệnh iperf và nload.

Chúc các bạn thành công!