Bạn có muốn biết ổ đĩa cứng nào của mình có tốc độ nhanh nhất và nó có thực sự nhanh như cam kết của các nhà sản xuất hay không? Dù là máy tính PC hay Server đi nữa, tiện ích miễn phí Diskspd sẽ Stress Test và benchmark các ổ đĩa cứng của bạn.
Lưu ý:
Stress Test là một cách để kiểm tra (độ) tính tin cậy.
Trước đây người dùng hay sử dụng tiện ích cũ SQLIO của Microsoft để Stress Test. Tuy nhiên hiện nay Microsoft chỉ cung cấp tiện ích Diskspd thay thế SQLIO.
1. Tại sao lại sử dụng Diskspd?
Diskspd sẽ nói cho bạn biết dung lượng tối đa ổ đĩa cứng của bạn có thể xử lý được hoặc điểm nhanh nhất trên ổ đĩa cứng bạn nên sử dụng cho những mục đích như chơi game,... trên máy tính.
Bạn có thể tham khảo ở ví dụ dưới đây, giả sử có 3 ổ trên một server: ổ F, ổ G và ổ C. Nếu ổ F có MDF, ổ G có LDF và hệ điều hành nằm trên ổ, chúng ta có thể đánh giá thiết lập nào là hiệu quả.
Nếu sử dụng Diskspd để phân tích, ổ F sẽ là ổ nhanh nhất, do đó chúng ra sẽ "nhét" file MDF vào ổ F.
2. Download Diskspd
Microsoft cung cấp công cụ Diskspd miễn phí, và bạn có thể tải công cụ từ Microsoft Technet. Ngoài ra Diskspd là mã nguồn mở, do đó bạn có thể tải và kiểm tra hoặc chỉnh sửa mã nguồn từ GitHub.
Tải Diskspd về máy và cài đặt tại đây.
Diskspd hoạt động trên các phiên bản Windows 7,8,8.1 và 10 cũng như trên Windows Server 2012, 2012 R2 và 2016 Technical Preview 5.
Sau khi đã tải xong, bạn tiến hành giải nén file .zip thành thư mục. Lưu ý rằng trong thư mục giải nén có chứa 3 file “diskapd.exe” khác nhau. Một thư mục là "amd64fre" dành cho Windows 64-bit, thư mục “x86fre” dành chon Windows 32-bit.
3. Thực hiện Stress Test như thế nào?
Để thực hiện một phần test, bạn chỉ có thể gọi lệnh Diskspd từ Command Prompt đã được kích hoạt quyền Admin.
Trên Windows 10 hoặc 8.1, kích chuột phải vào nút Start ở góc dưới cùng bên trái rồi chọn Command Prompt (Admin).
Trên Windows 7, tìm shortcut Command Prompt trên Start menu, sau đó chọn Run as administrator.
Đầu tiên sử dụng cd để chuyển đổi thư mục có chứa Diskspd.exe mà bạn muốn sử dụng:
cd c:\path\to\diskspd\amd64fre
Tiếp theo chạy lệnh Diskspd có chứa các tùy chọn mà bạn muốn sử dụng. Bạn sẽ tìm thấy một danh sách chứa các tùy chọn lệnh và sử dụng thông tin trong file 30-page DiskSpd_Documentation.pdf được đính kèm Diskspd mà bạn đã tải về.
Tuy nhiên nếu muốn chạy câu lệnh nhanh chóng, dưới đây là một ví dụ:
Câu lệnh dưới đây thiết lập block size 16K (-b16K), chạy thử nghiệm trong vòng 30 giây (-d30), vô hiệu hóa phần cứng và phần mềm (-Sh), các biện pháp thống kê độ trễ (-L), sử dụng hai yêu cầu IO cho mỗi thread (- o2) và bốn threads (-t4) trên mỗi target, sử dụng truy cập ngẫu nhiên chứ không phải viết tuần tự (r), thực hiện 30% hoạt động viết và 70% hoạt động đọc (-w30).
Nó sẽ tạo ra một file tại c: \ testfile.dat 50 MB trong size (-c50M). Nếu bạn muốn benchmark ổ D: thay vào đó, bạn xác định d: \ testfile.dat
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c:\testfile.dat
Sau 30 giây, kết quả test câu lệnh trên sẽ hiển thị trên Command Prompt và bạn có thể xem kết quả tại đó.
Khi tra cứu kết quả bạn sẽ nhìn tháy trung bình MB/s ổ đĩa đã đạt được trong quá trình test – bao nhiêu hoạt động ghi được thực hiện trong 1 giây, bao nhiêu hoạt động đọc được thực hiện trong 1 giây và tổng sổ hoạt động Input/Output (IO) được thực hiện mỗi giây.
Các thống kê này cực kỳ hữu ích trong trường hợp khi so sánh nhiều ổ đĩa để đánh giá xem ổ đĩa nào nhanh hơn cho các hoạt động cụ thể, ngoài ra nó cũng cung cấp chính xác cho bạn biết có bao nhiêu IO trên một ổ đĩa cứng có thể xử lý được.
Ngoài ra bạn có thể xuất kết quả thành một file văn bản để xem sau. Chẳng hạn, chạy câu lệnh dưới đây cùng câu lệnh trên và kết quả được hiển thị trong file C:\testresults.txt.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c:\testfile.dat > c:\testresults.txt
Thực hiện tương tự với các ổ đĩa khác và so sánh.
4. Tùy chỉnh lệnh Stress Test
Nếu đang cố gắng tìm xem ổ cứng nào nhanh nhấ để thực hiện các công việc có trọng tải lớn, bạn nên tạo một lệnh phù hợp nhất cho khối công việc. Chẳng hạn, nếu một server chỉ đọc dữ liệu và không viết, bạn nên thực hiện một bài test 100% đọc và không thực hiện bất kỳ phần kiểm tra hiệu suất viết. Chạy Stress Test trên nhiều ổ đĩa và so sánh kết quả để xem ổ nào nhanh hơn, phù hợp với công việc bạn cần thực hiện.
Lưu ý rằng có rất nhiều các tùy chọn dòng lệnh khác nhau mà bạn có thể chỉ định cho Diskspd.exe. Dưới đây là một số tùy chọn quan trọng:
- -w biểu thị tỷ lệ phần trăm của hoạt động viết và đọc. Ví dụ, nhập -w40 sẽ thực hiện 40% hoạt động viết và còn lại là 60% các hoạt động đọc. Nhập -w100 sẽ thực hiện 100% hoạt động viết. Bỏ qua những -w hoặc nhập vào -w0 sẽ thực hiện 0% hoạt động viết và thực hiện 100% các hoạt động đọc.
- -r hoặc –s quyết định việc kiểm tra sử dụng hoặc truy cập ngẫu nhiên hoặc các hoạt động tuần tự. Chỉ định -r để truy cập ngẫu nhiên hay -s cho tuần tự. Điều này giúp bạn kiểm tra hoặc truy cập ngẫu nhiên tập tin (thường là một loạt các tập tin nhỏ) hoặc truy cập file tuần tự (thường là một tập tin lớn đọc hay viết tất cả cùng một lúc).
- -t biểu thị số lượng các threads sẽ được chạy cùng một lúc, chẳng hạn như -t2 cho 2 threads hoặc -t6 cho 6 threads.
- -o biểu thị số lượng yêu cầu nổi bật mỗi threads, chẳng hạn như -o4 cho 4 yêu cầu hoặc -o2 cho 2 kết quả.
- -d là thời gian của các phần test trong vài giây, chẳng hạn như -d90 cho 90 giây hoặc -d120 cho 120 giây.
- -b là block size của các hoạt động như đọc hoặc viết, chẳng hạn như -b16K cho block size 16K hoặc -b64K cho block size 64K.
Tham khảo thêm một số bài viết dưới đây:
Chúc các bạn thành công!