Kiểm tra hiệu năng

Kiểm tra hiệu năng

Phần này sẽ kiểm tra hiệu năng của STG326 - SAZ.

Có rất nhiều công cụ kiểm tra hiệu suất đĩa. Chúng tôi đã cài đặt sẵn DiskSpdfio bật Session trên Windows Instance 0 instance. Nếu bạn quen với công cụ khác và muốn sử dụng nó để kiểm tra hiệu suất, hãy tải về và sử dụng nó.

$client = new-object System.Net.WebClient


$client.DownloadFile("https://lab.com/microsoft/diskspd/releases/download/v2.0.21a/DiskSpd.zip","C:\Tools\DiskSpd-2.0.21a\DiskSpd-2.0.21a.zip")


Expand-Archive -LiteralPath C:\Tools\DiskSpd-2.0.21a\DiskSpd-2.0.21a.zip -DestinationPath C:\Tools\DiskSpd-2.0.21a

Lưu ý

Sẽ mất khoảng 30 phút để hoàn thành phần này.

Quan trọng

Đọc qua tất cả các bước bên dưới và xem video nhanh trước khi tiếp tục.

test-performance.gif

DiskSpd Read tests

  1. Truy cập remote desktop tới Windows Instance 0.

  2. Nhấp Start >> Windows PowerShell.

    Quan trọng

    Phần này giả định rằng STG326 - SAZ được ánh xạ (map) dưới dạng Ổ đĩa Z:/. Nếu Windows Instance 0 của bạn không có ổ đĩa Z:/ được ánh xạ, bạn hãy ánh xạ STG326 - SAZ thành ổ đĩa Z:/ (xem phần trước để biết hướng dẫn từng bước).

  3. Run script bên dưới trong phần PowerShell để tạo ngẫu nhiên 100 GB dữ liệu.

$random = $(Get-Random)
fsutil file createnew Z:\${env:computername}-$random.dat 100000000000
  1. Run tập lệnh DiskSpeed ​​bên dưới để kiểm tra hiệu suất đọc (test read performance) của ổ đĩa Z: đã được map
C:\Tools\DiskSpd-2.0.21a\amd64\DiskSpd.exe -d120 -w0 -r -t1 -o32 -b64K -Su -L Z:\${env:computername}-$random.dat

Amazon Fsx for Windows Server

Trong khi script đang Run, hãy mở Task Manager và theo dõi hiệu suất mạng (ví dụ: Start >> Task Manager >> More details >>Performance (tab) >> Ethernet).

  • Đường cơ sở thông lượng (baseline throughput) của hệ thống file là gì? - Điều này đã được định cấu hình khi hệ thống file được tạo và khả dụng từ bảng điều khiển Amazon FSx.
    • Thông lượng đọc cao nhất mà bạn đạt được là bao nhiêu?

    • P99 (99th %-tile) trong bài kiểm tra của bạn là gì?

    • Tổng số IO MiB/s đã đọc là bao nhiêu?

    • I/O mỗi giây là bao nhiêu?

    • AvgLat là gì?

    • Tại sao thông lượng hiện tại của bạn lớn hơn đường cơ sở thông lượng?

Amazon Fsx dành cho Windows Server

Amazon Fsx dành cho Windows Server

  1. Thử nghiệm với các cài đặt tham số DiskSpd khác nhau. Sử dụng bảng dưới đây như một hướng dẫn. Thử nghiệm với các kích thước khối (block) khác nhau (-b), số lượng yêu cầu outstanding I/O (-o), số luồng (thread) trên mỗi file (-t) và bật/tắt bộ nhớ đệm phần mềm (-Su).
    Parameter (tham số) Miêu tả
    -b<size>[K|M|G] Kích thước Block tính bằng bytes hoặc KiB, MiB, hay GiB (mặc định = 64K).
    -o<count> Số lượng yêu cầu outstanding I/O trên mỗi mục tiêu trên mỗi luồng (per-target per-thread). (1 = synchronous I/O, trừ khi có nhiều hơn một luồng được chỉ định bằng cách dùng -F.) (mặc định = 2)
    -r<size>[K|M|G] Random I/O được căn chỉnh theo số bytes hoặc KiB, MiB, GiB, hay blocks đã được chỉ định. Ghi đè -s (stride mặc định = block size).
    -s<size>[K|M|G] Kích thước stride tuần tự, bù đắp giữa các hoạt động I/O tiếp theo tính bằng bytes hay KiB, MiB, GiB, hoặc blocks. Bỏ qua nếu -r được chỉ định (default access = sequential, default stride = block size).
    -t<count> Số lượng luồng (thread) trên mỗi mục tiêu (target). Conflicts với -F, trong đó chỉ định tổng số luồng.
    -Su Vô hiệu hóa bộ nhớ đệm phần mềm (Disable software caching).
  • Bạn đã kiểm tra các tham số khác nhau nào?
  • Các tùy chọn tham số khác nhau đã thay đổi kết quả như thế nào?

DiskSpd Write tests

  1. Từ Desktop Session, bạn remote đến Windows Instance 0, mở cửa sổ PowerShell.

    Quan trọng

    Phần này giả định rằng STG326 - SAZ được ánh xạ (map) dưới dạng Ổ đĩa Z:/. Nếu Windows Instance 0 của bạn không có ổ đĩa Z:/ đã ánh xạ, ta cần ánh xạ STG326 - SAZ thành ổ đĩa Z:/ (xem phần trước để biết hướng dẫn từng bước).

  2. Run script DiskSpeed ​​bên dưới để kiểm tra hiệu suất ghi của ổ đĩa Z: được ánh xạ

$random = $(Get-Random)
C:\Tools\DiskSpd-2.0.21a\AMD64\DiskSpd.exe -d120 -c2G -s64K -w100 -t1 -o32 -b64K -Sh -L Z:\${env:computername}-$random.dat

Amazon Fsx dành cho Windows Server

Trong khi script đang Run, hãy mở Task Manager và theo dõi hiệu suất mạng (ví dụ: Start >> Task Manager >> Hiệu suất (tab) >> Ethernet).

  • Đường cơ sở thông lượng của hệ thống file là gì? - Điều này được định cấu hình khi hệ thống file được tạo và khả dụng từ bảng điều khiển Amazon FSx.

    • Thông lượng ghi cao nhất mà bạn đạt được là gì?

    • P99 (99th %-tile) trong bài kiểm tra của bạn là gì?

    • Tổng số Write IO MiB/s là bao nhiêu?

    • I/O mỗi giây là bao nhiêu?

    • AvgLat là gì?

    • Tại sao thông lượng hiện tại của bạn lớn hơn đường cơ sở thông lượng?

  1. Thử nghiệm với các cài đặt tham số DiskSpd khác nhau. Sử dụng bảng dưới đây như một hướng dẫn. Kiểm tra với các kích thước file khác nhau (-c), kích thước block (-b) khác nhau, số lượng yêu cầu outstanding I/O (-o), số lượng luồng trên mỗi file (-t), I/O ngẫu nhiên (-r) hoặc I/O tuần tự (-s) và bật/tắt bộ nhớ đệm ghi phần mềm và phần cứng (-Sh).
    Parameter (tham số) Miêu tả
    -d<seconds> Thời lượng tính bằng giây.
    -b<size>[K|M|G] Block size tính bằng bytes hay KiB, MiB, hoặc GiB (mặc định = 64K).
    -c<size>[K|M|G] Tạo các files có kích thước được chỉ định. Kích thước có thể là bytes hay KiBs, MiBs, GiBs, hoặc blocks.
    -r<size>[K|M|G] Random I/O được căn chỉnh theo số bytes hay KiB, MiB, GiB, hoặc blocks được chỉ định. Ghi đè -s.
    -s<size>[K|M|G] Stride size tuần tự, bù đắp giữa các hoạt động I/O kế tiếp tính theo bytes hay KiB, MiB, GiB, hoặc blocks. Bỏ qua nếu -r được chỉ định (default access = sequential, default stride = block size).
    -o<count> Số lượng yêu cầu outstanding I/O trên mỗi mục tiêu mỗi luồng (per-target per-thread). (1 = synchronous I/O, trừ khi có nhiều hơn một luồng được chỉ định bằng cách dùng -F.) (mặc định = 2)
    -t<count> Số lượng luồng trên mỗi mục tiêu (target). Conflicts với -F, điều này chỉ định tổng số luồng (thread).
    -Sh Vô hiệu hóa cả bộ nhớ đệm ghi (write caching) phần mềm và phần cứng.
  • Bạn đã kiểm tra các thông số khác nhau nào?

  • Các tùy chọn tham số khác nhau đã thay đổi kết quả như thế nào?

fio read tests

  1. Từ desktop session bạn remote đến Windows Instance 0, open cửa sổ PowerShell.

    Quan trọng

    Phần này giả định rằng STG326 - SAZ được ánh xạ (map) dưới dạng Ổ đĩa Z:/. Nếu Windows Instance 0 của bạn không có ổ đĩa Z:/ đã ánh xạ, ta cần ánh xạ STG326 - SAZ thành ổ đĩa Z:/ (xem phần trước để biết hướng dẫn từng bước).

  2. Chạy (run) fio script bên dưới để kiểm tra hiệu suất đọc của ổ đĩa Z: được ánh xạ.

$random = $(Get-Random)
C:\Tools\fio-3.16-x64\fio --randrepeat=1 --direct=1 --name="Z:\${env:computername}-$random.dat" --numjobs=1 --bs=64K --iodepth=32 --size=1024M --readwrite=read --rwmixread=100 --thread --time_based --runtime=120

Trong khi script đang chạy, mở Task Manager và theo dõi hiệu suất mạng (e.g. Start >> Task Manager >> Performance (tab) >> Ethernet).

  • Thông lượng (throughput) cao nhất là bao nhiêu?
  • Thông lượng đọc trung bình (average read throughput) là bao nhiêu?
  • IOPS trung bình là bao nhiêu?
  • Bạn đã read bao nhiêu GB trong 120 giây?
  1. Thử nghiệm với các cài đặt fio parameter khác nhau. Sử dụng bảng bên dưới như một hướng dẫn. Kiểm tra với direct I/O được bật hay tắt (–direct), block sizes (–bs) khác nhau, số lượng yêu cầu outstanding I/O (–iodepth), số lượng jobs (–numjobs), random read, random write, sequential read, sequential write (–readwrite), và hỗn hợp reads và writes (–rwmixread).
Parameter (tham số) Miêu tả
--direct=[0|1] Dùng buffered (0) hoặc non-buffered (1) I/O.
--bs=<size>[K|M|G] Block size tính theo bytes hay KiB, MiB, hoặc GiB (mặc định = 64K).
--numjobs=<count> Số bản sao (quy trình/luồng thực hiện cùng khối lượng công việc) của job này. Mặc định: 1.
--readwrite=[read|write|randread|randwrite] Kiểu I/O pattern (read = sequential read; write = sequential write; randread = random read; randwrite = random write).
--iodepth=<count> Number of I/O units to keep in flight against the file.
--rwmixread=<percent> Tỷ lệ phần trăm của một workload hỗn hợp nên được read. Tỷ lệ phần trăm outstanding sẽ được write.
  • Những tham số khác nhau bạn đã kiểm tra?

  • Các tùy chọn tham số khác nhau đã thay đổi kết quả ra sao?

fio write tests

  1. Từ desktop session, bạn remote đến Windows Instance 0, open một cửa sổ PowerShell.

    Quan trọng

    Phần này giả định rằng STG326 - SAZ được ánh xạ (map) dưới dạng Ổ đĩa Z:/. Nếu Windows Instance 0 của bạn không có ổ đĩa Z:/ đã ánh xạ, ta cần ánh xạ STG326 - SAZ thành ổ đĩa Z:/ (xem phần trước để biết hướng dẫn từng bước).

  2. Chạy (Run) fio script bên dưới để kiểm tra hiệu suất ghi của ổ đĩa Z: được ánh xạ

$random = $(Get-Random)
C:\Tools\fio-3.16-x64\fio --randrepeat=1 --direct=1 --name="Z:\${env:computername}-$random.dat" --numjobs=1 --bs=64K --iodepth=32 --size=1024M --readwrite=write --rwmixwrite=100 --thread --time_based --runtime=120

Trong khi script đang chạy, mở Task Manager và theo dõi hiệu suất mạng (e.g. Start >> Task Manager >> Performance (tab) >> Ethernet).

  • Thông lượng ghi cao nhất (peak write throughput) là bao nhiêu?
  • Thông lượng ghi trung bình (average write throughput) là bao nhiêu?
  • IOPS trung bình là bao nhiêu?
  • Bạn đã write bao nhiêu GB trong 120 giây?
  1. Thử nghiệm với các cài đặt fio parameter khác nhau. Dùng bảng bên dưới như một hướng dẫn. Kiểm tra với direct I/O được bật hay tắt (–direct), block sizes khác nhau (–bs), số yêu cầu outstanding I/O (–iodepth), số lượng jobs (–numjobs), random read, random write, sequential read, sequential write (–readwrite), và hỗn hợp reads và writes (–rwmixwrite).
Parameter (Tham số) Miêu tả
--direct=[0|1] Dùng buffered (0) hay non-buffered (1) I/O.
--bs=<size>[K|M|G] Block size tính theo bytes hay KiB, MiB, hoặc GiB (mặc định = 64K).
--numjobs=<count> Số bản sao (quy trình/luồng thực hiện cùng khối lượng công việc) của job này. Mặc định: 1.
--readwrite=[read|write|randread|randwrite] Kiểu I/O pattern (read = sequential read; write = sequential write; randread = random read; randwrite = random write).
--iodepth=<count> Number of I/O units to keep in flight against the file.
--rwmixwrite=<percent> Tỷ lệ phần trăm của một workload hỗn hợp nên được write. Tỷ lệ phần trăm outstanding sẽ được read.
  • Những tham số khác nhau bạn đã kiểm tra?

  • Các tùy chọn tham số khác nhau đã thay đổi kết quả ra sao?

    1. Đóng tất cả các cửa sổ PowerShell. Run exit.

    2. Đóng cửa sổ File Explorer.

    3. Đóng cửa sổ Task Manager.