Cách đo hiệu suất mạng sử dụng iPerf và PowerShell

iPerf cho phép quản trị viên thiết lập một chương trình nhận trên máy tính từ xa và một chương trình phát trên một máy khác để bắt đầu truyền dữ liệu giữa chúng.

Nếu bạn đã từng gặp vấn đề độ trễ mạng hoặc băng thông thấp trong các mạng diện rộng WAN hoặc thậm chí trên một mạng cục bộ, một công cụ tuyệt vời có thể được sử dụng ở đây là iPerf. Đây là một công cụ miễn phí cho phép quản trị viên thiết lập một chương trình nhận trên một máy tính từ xa và một chương trình phát trên một máy tính khác để chuyển dữ liệu giữa chúng. iPerf là một công cụ tuyệt vời, nhưng hơi khó sử dụng một chút. Đây là một ví dụ về một lệnh iPerf điển hình.

iperf -c 10.12.240.32 -u -p 12345 -t 30 -b 250M

Trên Windows, iPerf sử dụng các thông số cũ, một chữ vì đó là EXE. Tuy nhiên hiện giờ chúng ta đã có PowerShell để làm việc với các công cụ như thế này, nhưng vấn đề ở đây là iPerf là một EXE và không phải là một hàm của PowerShell. Chúng ta có thể khắc phục vấn đề này bằng cách tạo ra một vài hàm wrapper biên dịch tất cả các giá trị mà iPerf.exe cần thông qua hàm PowerShell.

Sử dụng PowerShell viws iPerf để đo hiệu suất mạng

Để làm việc với iPerf theo cách PowerShell, tải một module cộng đồng được gọi là iPerfAutomate. Module này có trên PowerShell Gallery và có thể được cài đặt bằng cách chạy Install-Module -Name iPerfAutomate. Sau khi cài đặt, bạn có thể thấy chỉ hai lệnh, nhưng hai lệnh này có rất nhiều code phía sau.

PS C:> Get-Command -Module iPerfAutomate

Command Type Name Version Source
----------- ---- ------- ------
Function New-IperfSchedule 1.0.2 iPerfAutomate
Function Start-IPerfMonitorTest 1.0.2 iPerfAutomate

Về mặt kỹ thuật, chỉ các lệnh iPerf cụ thể nằm trong Start-IperfMonitorTest. Đây là lệnh thực hiện tất cả các thiết lập cần thiết để thực hiện kiểm tra mạng giữa hai nơi. New-IperfSchedule là một lệnh cho phép người dùng thiết lập các tác vụ theo lịch trình để chạy Start-IperfMonitorTest.

Start-iPerfMonitorTest có hai bộ tham số: Site và Server. Về cơ bản nhất, trong một lệnh, bạn cần cung cấp FromServerName và ToServerName. Sau đó Start-iPerfMonitorTest sẽ sao chép iPerf cho cả hai máy chủ, bắt đầu chuyển, trả lại kết quả và dọn sạch.

Start-iPerfMonitorTest -FromServerName SQLSRV1 -ToServerName WEBSRV1

Connecting to host SQLSRV1, port 5201
[ 4] local 2607:fcc8:ace7:1700:60d4:c299:d02e:3c43 port 55739
connected to 2607:fcc8:ace7:1700:e4e1:c511:e38b:4f05 port
5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 208 MBytes 1.73 Gbits/sec
[ 4] 1.00-2.00 sec 223 MBytes 1.87 Gbits/sec
[ 4] 2.00-3.00 sec 218 MBytes 1.83 Gbits/sec
[ 4] 3.00-4.00 sec 220 MBytes 1.85 Gbits/sec
[ 4] 4.00-5.00 sec 245 MBytes 2.05 Gbits/sec
[ 4] 5.00-6.00 sec 251 MBytes 2.10 Gbits/sec
[ 4] 6.00-7.00 sec 248 MBytes 2.09 Gbits/sec
[ 4] 7.00-8.00 sec 266 MBytes 2.23 Gbits/sec
[ 4] 8.00-9.00 sec 243 MBytes 2.04 Gbits/sec
[ 4] 9.00-10.00 sec 255 MBytes 2.14 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 2.32 GBytes 1.99 Gbits/sec
sender
[ 4] 0.00-10.00 sec 2.32 GBytes 1.99 Gbits/sec
receive

r iperf Done.

Bạn có thể thấy rằng thay vì phải tự bảo đảm iPerf EXE nằm trên máy tính cục bộ và từ xa, bạn chỉ cần chạy một hàm PowerShell để bắt đầu kiểm tra nhanh. Start-IPerfMonitorTest cũng hỗ trợ thiết lập các bài kiểm tra từ toàn bộ trang web thay vì máy chủ riêng. Có lẽ bạn không thể nhớ máy chủ trong SITE A hoặc SITE B, thay vì thiết lập kiểm tra theo tên máy chủ, bạn có thể "ánh xạ" tên máy chủ vào một trang web và chỉ cần thiết lập các bài kiểm tra theo các trang web.

Start-iPerfMonitorTest -FromSite Main -ToSite Vegas

Module iPerfAutomate đơn giản hoá rất nhiều công cụ tuyệt vời và cho phép người dùng nhanh chóng và dễ dàng thiết lập một hoặc nhiều kiểm tra hiệu năng mạng.

Xem thêm:

Thứ Hai, 15/01/2018 15:16
11 👨 3.931
0 Bình luận
Sắp xếp theo
    ❖ Mạng LAN - WAN