Hôm nay Onet 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
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ổ optionF5
: Lưu setting hiện tại vào file cấu hình của người dùngF6
: reload settings từ file cấu hình- Dùng
q
hoặcCtrl + 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
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
Bạn cũng sẽ thấy kết quả tương tự trên Iperf server
Sử dụng UDP
Trên server:
iperf -s -u
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
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
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
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.
Trên server, interface sẽ có Incoming traffic ~900 Mbits/sec.
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!