Cài đặt và sử dụng nuttcp
1. Công cụ nuttcp.
Nuttcp là một công cụ đo lường hiệu năng mạng được sử dụng bởi các nhà quản lý mạng và hệ thống. Việc sử dụng cơ bản nhất của nó là xác định thông lượng mạng TCP (hoặc UDP) thô bằng cách truyền memory buffers từ một hệ thống nguồn qua mạng kết nối tới hệ thống đích, truyền dữ liệu cho một khoảng thời gian nhất định hoặc chuyển một số lượng cụ thể các bytes.
Ngoài việc báo cáo luồng dữ liệu đạt được trong Mbps, nuttcp cũng cung cấp thêm thông tin hữu ích liên quan đến việc truyền dữ liệu như người sử dụng, hệ thống, wall-clock time, mức độ sử dụng của CPU, tỷ lệ mất mát dữ liệu (đối với UDP).
Nuttcp dựa trên nttcp. Nttcp được nâng cấp từ ttcp.Ttcp được viết bởi Mike Muuss vào năm 1984 để so sánh hiệu năng của TCP stacks. Nuttcp có một số tính năng hữu ích ngoài các tính năng ttcp / nttcp cơ bản, chẳng hạn như chế độ máy chủ, tỷ lệ giới hạn, nhiều luồng song song và sử dụng bộ đếm thời gian. Những thay đổi gần đây bao gồm hỗ trợ IPv6, multicast IPv4 và khả năng thiết lập kích thước phân đoạn tối đa hoặc bit TOS / DSCP. Nuttcp đang tiếp tục phát triển để đáp ứng các yêu cầu mới phát sinh và để thêm các tính năng mới mong muốn. Nuttcp đã được xây dựng thành công và chạy trên nhiều hệ thống Solaris, SGI, và PPC / X86 Linux, và có thể hoạt động tốt trên hầu hết các distributions của Unix. Nó cũng đã được sử dụng thành công trên các phiên bản khác nhau của hệ điều hành Windows.
2. Các option chính.
nuttcp
có hai mode cơ bản:
-
Mode transmitter/receiver: cũng là mod mà ttcp, ntcp hoạt động. Ở mode này máy nhận sẽ khởi tạo trước với lệnh
nuttcp -r
, sau đó máy gửi sẽ chạy lệnhnuttcp -t
để bắt đầu gửi các gói tin. -
Mode client/server: là mod được khuyến khích sử dụng. Ở mode này, phía server sẽ chạy câu lệnh
nuttcp -S
, sau đó phía client sẽ chạy câu lệnhnuttcp -t
để truyền dữ liệu lên server hoặcnuttcp -r
để nhận dữ liệu từ server. Các thông tin từ nuttcp sẽ được hiển thị trên máy client.
Các option: |Options |Mô tả| |——–|—–| |-h | Hiển thị thông tin về các option| |-V | Hiển thị thông tin phiên bản| |-t | Chỉ định máy sẽ truyền dữ liệu| |-r | Chỉ định máy sẽ nhận dữ liệu| |-S | Chỉ định server| |-1 | Giống -S | |-b | Định dạng output theo kiểu one-line | |-B | Buộc receiver phải đọc toàn bộ buffer | |-u | Sử dụng UDP (mặc định là TCP) | |-v | Cung cấp thêm thông tin | |-w | window size | |-p | port sử dụng để kết nối dữ liệu, mặc định là 5001 | |-P | với mode client-server, đây là port để kiểm soát kết nối, mặc định là 5000 | |-n | Số lượng bufers | |-N | Số lượng luồng dữ liệu truyền | |-R | Tốc độ truyền | |-l | packet length | |-T | thời gian, mặc định là 10 giây | |-i | thời gian gửi báo cáo (giây) |
3. Cài đặt và sử dụng cơ bản nuttcp
Cài đặt
Trên Ubuntu:
sudo apt install nuttcp
Trên CentOS:
sudo yum install epel-release -y
sudo yum install nuttcp
Một số trường hợp sử dụng
Server
nuttcp -S
Client
nuttcp <serverhost>
Câu lệnh này sử dụng phương thức test mặc định đó là gửi các gói tin tcp trong vòng 10 giây
lamth@m4700:~$ nuttcp 192.168.50.181
7.6629 MB / 10.53 sec = 6.1048 Mbps 0 %TX 1 %RX 0 retrans 6.97 msRTT
%TX và %RX là mức độ sử dụng CPU trên transmitter và receiver.
Server
nuttcp -S
Client
nuttcp -w6m <serverhost>
Gần giống câu lệnh trên nhưng window size sẽ được đẩy lên cao hơn
Server
nuttcp -S
Client
nuttcp -u -i -Ri50m <serverhost>
Thường sử dụng để test số lượng packet bị mất. Câu lệnh trên sẽ truyền trong 10 giây các gói tin udp với tốc độ 50 Mbps. Nó sẽ trả về 1 report mỗi giây.
lamth@m4700:~$ nuttcp -u -i1 -Ri50m 192.168.50.181
0.2041 MB / 1.00 sec = 1.7120 Mbps 3204 / 3413 ~drop/pkt 93.88 ~%loss
0.4766 MB / 1.00 sec = 3.9976 Mbps 6879 / 7367 ~drop/pkt 93.38 ~%loss
0.2090 MB / 1.00 sec = 1.7532 Mbps 2692 / 2906 ~drop/pkt 92.64 ~%loss
0.9883 MB / 1.00 sec = 8.2897 Mbps 8927 / 9939 ~drop/pkt 89.82 ~%loss
1.0449 MB / 1.00 sec = 8.7661 Mbps 5289 / 6359 ~drop/pkt 83.17 ~%loss
0.8086 MB / 1.00 sec = 6.7829 Mbps 5202 / 6030 ~drop/pkt 86.27 ~%loss
0.9619 MB / 1.00 sec = 8.0692 Mbps 4281 / 5266 ~drop/pkt 81.30 ~%loss
1.1074 MB / 1.00 sec = 9.2898 Mbps 5827 / 6961 ~drop/pkt 83.71 ~%loss
0.9033 MB / 1.00 sec = 7.5776 Mbps 4133 / 5058 ~drop/pkt 81.71 ~%loss
1.0996 MB / 1.00 sec = 9.2242 Mbps 6053 / 7179 ~drop/pkt 84.32 ~%loss
7.9326 MB / 10.00 sec = 6.6537 Mbps 99 %TX 1 %RX 52912 / 61035 drop/pkt 86.69 %loss
Client
nuttcp -w1m 127.0.0.1
Dùng để test tốc độ bên trong của host.
[root@thaonv ~]# nuttcp -w1m 127.0.0.1
21836.0000 MB / 10.00 sec = 18317.4542 Mbps 98 %TX 92 %RX 0 retrans 0.18 msRTT
tài liệu tham khảo: https://github.com/meditechopen/meditech-thuctap/blob/master/ThaoNV/Tim%20hieu%20command/docs/nuttcp.md