Điểm chuẩn ssd trên linux: Cách đo lường những thứ tương tự như crystaldiskmark làm trong windows


26

Tôi muốn điểm chuẩn một ssd (có thể với các hệ thống tập tin được mã hóa) và so sánh nó với các điểm chuẩn được thực hiện bởi Crystaldiskmark trên windows.

CrystalDiskMark trên Windows

Vì vậy, làm thế nào tôi có thể đo khoảng những điều tương tự như Crystaldiskmark?

Đối với hàng đầu tiên (Seq) tôi nghĩ rằng tôi có thể làm một cái gì đó như

LC_ALL=C dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc

sudo su -c "echo 3 > /proc/sys/vm/drop_caches"
LC_ALL=C dd if=tempfile of=/dev/null bs=1M count=1024

Nhưng tôi không chắc chắn về các ddthông số.

Đối với các bài kiểm tra tốc độ 512KB, 4KB, 4KB (Queue Depth = 32) ngẫu nhiên, tôi không biết làm thế nào để tái tạo các phép đo trong linux? Vì vậy, làm thế nào tôi có thể làm điều này?

Để kiểm tra tốc độ đọc, một cái gì đó sudo hdparm -Tt /dev/sdadường như không có ý nghĩa đối với tôi vì tôi muốn ví dụ điểm chuẩn một cái gì đó như encfsgắn kết.

Chỉnh sửa

@ Alko, @iain

Có lẽ tôi nên viết một cái gì đó về động lực của câu hỏi này: Tôi đang cố gắng điểm chuẩn ssd của tôi và so sánh một số giải pháp mã hóa. Nhưng đó là một câu hỏi khác ( Cách tốt nhất để đánh giá các giải pháp mã hóa khác nhau trên hệ thống của tôi ). Trong khi lướt web trên web về ssd và điểm chuẩn, tôi thường thấy người dùng đăng kết quả CrystelDiskMark của họ trên các diễn đàn. Vì vậy, đây là động lực duy nhất cho câu hỏi. Tôi chỉ muốn làm như vậy trên linux. Đối với điểm chuẩn cụ thể của tôi xem câu hỏi khác của tôi.


Tại sao bạn không sử dụng một công cụ đo điểm chuẩn, hoạt động trên cả hai hệ thống?
Alko

Tìm thấy điều này, có vẻ rất hữu ích và trong thử nghiệm ngắn gọn của tôi trên ba ổ đĩa riêng biệt đã cho những con số rất giống với Crystaldiskmark thực tế ... github.com/buty4649/fio-cdm
ljwobker

2019: Q này xứng đáng có một khởi đầu mới - chủ đề quan trọng, nhưng đã mất một chút trọng tâm ở đây. "Chấp nhận và lưu trữ".
rastafile

Câu trả lời:


22

Tôi muốn nói rằng fio sẽ không gặp khó khăn khi tạo ra những khối lượng công việc đó. Lưu ý rằng mặc dù tên của nó CrystalDiskMark thực sự là một điểm chuẩn của một hệ thống tập tin trên một đĩa cụ thể - nó không thể làm I / O thô cho đĩa. Như vậy, nó sẽ luôn có hệ thống tập tin trong đó (không nhất thiết là điều xấu nhưng cần phải biết điều gì đó, ví dụ như vì các hệ thống tập tin được so sánh có thể không giống nhau).

Một ví dụ dựa trên việc sao chép đầu ra trong ảnh chụp màn hình ở trên được bổ sung bởi thông tin từ hướng dẫn sử dụng CrystalDiskMark (điều này không hoàn thành nhưng sẽ đưa ra ý tưởng chung):

fio --loops=5 --size=1000m --filename=/mnt/fs/fiotest.tmp --stonewall --ioengine=libaio --direct=1 \
  --name=Seqread --bs=1m --rw=read \
  --name=Seqwrite --bs=1m --rw=write \
  --name=512Kread --bs=512k --rw=randread \
  --name=512Kwrite --bs=512k --rw=randwrite \
  --name=4kQD32read --bs=4k --iodepth=32 --rw=randread \
  --name=4kQD32write --bs=4k --iodepth=32 --rw=randwrite
rm -f /mnt/fs/fiotest.tmp 

HÃY CẨN THẬN - ví dụ này phá hủy vĩnh viễn dữ liệu trong /mnt/fs/fiotest.tmp!

Một danh sách các tham số fio có thể được nhìn thấy trên http://fio.readthedocs.io/en/latest/fio_doc.html .


3
Tôi đã thử fio trong Ubuntu 16.04 và CrystalDiskMark trong Windows 7. Một số số trùng khớp trong khi những số khác thì không. R / w tuần tự bị tắt bởi hệ số 2. Có nghĩa là, các giá trị Linux là 50% trong số đó được báo cáo bởi CDM v3.0.4 (lưu ý: phiên bản hiện tại là 6.0.0, nhưng phiên bản cũ vẫn có sẵn để tải xuống). Để fiddle w / sự chênh lệch tôi đặt bs = 4m thay vì 1m. Điều đó làm cho các con số gần hơn. Cố gắng 8m và 32m làm cho nó gần hơn nữa. Cuối cùng như Anon nói rằng câu trả lời của anh ấy chưa đầy đủ và giống như @Alko, chúng tôi cần cùng một công cụ trên cả hai hệ điều hành. Cũng lưu ý rằng CDM 6 mới nhất sử dụng các thử nghiệm khác với OP. Thông tin hay Anon
Vahid Pazirandeh

2
@VahidPazirandeh Thú vị, github.com/buty4649/fio-cdm/blob/master/fio-cdm có cùng cài đặt 1m, có thể tài liệu về cdm không đủ tốt.
inf3rno

@ vahid-pazirandeh Bạn được chào đón. Lưu ý: nếu bạn muốn cùng một công cụ trên cả hai hệ điều hành thì lưu ý rằng cũng có phiên bản fio dành cho Windows.
Anon

8

Tôi đã tạo ra một kịch bản cố gắng tái tạo hành vi của Crystaldiskmark với fio. Kịch bản thực hiện tất cả các thử nghiệm có sẵn trong các phiên bản khác nhau của Crystaldiskmark cho đến Crystaldiskmark 6 bao gồm các thử nghiệm 512K và 4KQ8T8.

Kịch bản phụ thuộc vào fiodf . Nếu bạn không muốn cài đặt df, hãy xóa dòng 19 đến 21 (tập lệnh sẽ không còn hiển thị ổ đĩa nào đang được kiểm tra) hoặc thử phiên bản sửa đổi từ một người bình luận . (Cũng có thể giải quyết các vấn đề khác có thể)

#!/bin/bash

LOOPS=5 #How many times to run each test
SIZE=1024 #Size of each test, multiples of 32 recommended for Q32 tests to give the most accurate results.
WRITEZERO=0 #Set whether to write zeroes or randoms to testfile (random is the default for both fio and crystaldiskmark); dd benchmarks typically only write zeroes which is why there can be a speed difference.

QSIZE=$(($SIZE / 32)) #Size of Q32Seq tests
SIZE+=m
QSIZE+=m

if [ -z $1 ]; then
    TARGET=$HOME
    echo "Defaulting to $TARGET for testing"
else
    TARGET="$1"
    echo "Testing in $TARGET"
fi

DRIVE=$(df $TARGET | grep /dev | cut -d/ -f3 | cut -d" " -f1 | rev | cut -c 2- | rev)
DRIVEMODEL=$(cat /sys/block/$DRIVE/device/model)
DRIVESIZE=$(($(cat /sys/block/$DRIVE/size)*512/1024/1024/1024))GB

echo "Configuration: Size:$SIZE Loops:$LOOPS Write Only Zeroes:$WRITEZERO
Running Benchmark on: /dev/$DRIVE, $DRIVEMODEL ($DRIVESIZE), please wait...
"

fio --loops=$LOOPS --size=$SIZE --filename=$TARGET/.fiomark.tmp --stonewall --ioengine=libaio --direct=1 --zero_buffers=$WRITEZERO --output-format=json \
  --name=Bufread --loops=1 --bs=$SIZE --iodepth=1 --numjobs=1 --rw=readwrite \
  --name=Seqread --bs=$SIZE --iodepth=1 --numjobs=1 --rw=read \
  --name=Seqwrite --bs=$SIZE --iodepth=1 --numjobs=1 --rw=write \
  --name=512kread --bs=512k --iodepth=1 --numjobs=1 --rw=read \
  --name=512kwrite --bs=512k --iodepth=1 --numjobs=1 --rw=write \
  --name=SeqQ32T1read --bs=$QSIZE --iodepth=32 --numjobs=1 --rw=read \
  --name=SeqQ32T1write --bs=$QSIZE --iodepth=32 --numjobs=1 --rw=write \
  --name=4kread --bs=4k --iodepth=1 --numjobs=1 --rw=randread \
  --name=4kwrite --bs=4k --iodepth=1 --numjobs=1 --rw=randwrite \
  --name=4kQ32T1read --bs=4k --iodepth=32 --numjobs=1 --rw=randread \
  --name=4kQ32T1write --bs=4k --iodepth=32 --numjobs=1 --rw=randwrite \
  --name=4kQ8T8read --bs=4k --iodepth=8 --numjobs=8 --rw=randread \
  --name=4kQ8T8write --bs=4k --iodepth=8 --numjobs=8 --rw=randwrite > $TARGET/.fiomark.txt

SEQR="$(($(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "Seqread"' | grep bw_bytes | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "Seqread"' | grep -m1 iops | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
SEQW="$(($(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "Seqwrite"' | grep bw_bytes | sed '2!d' | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "Seqwrite"' | grep iops | sed '7!d' | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
F12KR="$(($(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "512kread"' | grep bw_bytes | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "512kread"' | grep -m1 iops | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
F12KW="$(($(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "512kwrite"' | grep bw_bytes | sed '2!d' | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "512kwrite"' | grep iops | sed '7!d' | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
SEQ32R="$(($(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "SeqQ32T1read"' | grep bw_bytes | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "SeqQ32T1read"' | grep -m1 iops | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
SEQ32W="$(($(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "SeqQ32T1write"' | grep bw_bytes | sed '2!d' | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "SeqQ32T1write"' | grep iops | sed '7!d' | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
FKR="$(($(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "4kread"' | grep bw_bytes | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "4kread"' | grep -m1 iops | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
FKW="$(($(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "4kwrite"' | grep bw_bytes | sed '2!d' | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "4kwrite"' | grep iops | sed '7!d' | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
FK32R="$(($(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "4kQ32T1read"' | grep bw_bytes | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "4kQ32T1read"' | grep -m1 iops | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
FK32W="$(($(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "4kQ32T1write"' | grep bw_bytes | sed '2!d' | cut -d: -f2 | sed s:,::g)/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "4kQ32T1write"' | grep iops | sed '7!d' | cut -d: -f2 | cut -d. -f1 | sed 's: ::g')"
FK8R="$(($(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "4kQ8T8read"' | grep bw_bytes | sed 's/        "bw_bytes" : //g' | sed 's:,::g' | awk '{ SUM += $1} END { print SUM }')/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A15 '"name" : "4kQ8T8read"' | grep iops | sed 's/        "iops" : //g' | sed 's:,::g' | awk '{ SUM += $1} END { print SUM }' | cut -d. -f1)"
FK8W="$(($(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "4kQ8T8write"' | grep bw_bytes | sed 's/        "bw_bytes" : //g' | sed 's:,::g' | awk '{ SUM += $1} END { print SUM }')/1024/1024))MB/s IOPS=$(cat $TARGET/.fiomark.txt | grep -A80 '"name" : "4kQ8T8write"' | grep '"iops" '| sed 's/        "iops" : //g' | sed 's:,::g' | awk '{ SUM += $1} END { print SUM }' | cut -d. -f1)"

echo -e "
Results from /dev/$DRIVE, $DRIVEMODEL ($DRIVESIZE):  
\033[0;33m
Sequential Read: $SEQR
Sequential Write: $SEQW
\033[0;32m
512KB Read: $F12KR
512KB Write: $F12KW
\033[1;36m
Sequential Q32T1 Read: $SEQ32R
Sequential Q32T1 Write: $SEQ32W
\033[0;36m
4KB Read: $FKR
4KB Write: $FKW
\033[1;33m
4KB Q32T1 Read: $FK32R
4KB Q32T1 Write: $FK32W
\033[1;35m
4KB Q8T8 Read: $FK8R
4KB Q8T8 Write: $FK8W
"

rm $TARGET/.fiomark.txt $TARGET/.fiomark.tmp

Mà sẽ cho kết quả như thế này:

Results from /dev/sdb, Corsair Force GT (111GB):  

Sequential Read: 533MB/s IOPS=0
Sequential Write: 125MB/s IOPS=0

512KB Read: 457MB/s IOPS=914
512KB Write: 133MB/s IOPS=267

Sequential Q32T1 Read: 534MB/s IOPS=16
Sequential Q32T1 Write: 134MB/s IOPS=4

4KB Read: 32MB/s IOPS=8224
4KB Write: 150MB/s IOPS=38460

4KB Q32T1 Read: 195MB/s IOPS=49951
4KB Q32T1 Write: 121MB/s IOPS=31148

4KB Q8T8 Read: 129MB/s IOPS=33149
4KB Q8T8 Write: 132MB/s IOPS=33796

(Các kết quả được mã hóa màu, để loại bỏ mã màu, loại bỏ tất cả các trường hợp \033[x;xxm(trong đó x là một số) khỏi lệnh echo ở dưới cùng của tập lệnh.)

Kịch bản khi chạy mà không có đối số sẽ kiểm tra tốc độ của ổ đĩa / phân vùng nhà của bạn. Bạn cũng có thể nhập một đường dẫn đến một thư mục trên một ổ cứng khác nếu bạn muốn kiểm tra điều đó thay vào đó. Trong khi chạy tập lệnh sẽ tạo các tệp tạm thời bị ẩn trong thư mục đích mà nó sẽ dọn sạch sau khi chạy xong (.fiomark.tmp và .fiomark.txt)

Bạn không thể xem kết quả kiểm tra khi chúng hoàn thành, nhưng nếu bạn hủy lệnh trong khi nó đang chạy trước khi hoàn thành tất cả các bài kiểm tra, bạn sẽ thấy kết quả của các bài kiểm tra đã hoàn thành và các tệp tạm thời cũng sẽ bị xóa.

Sau một số nghiên cứu, tôi thấy rằng kết quả điểm chuẩn Crystaldiskmark trên cùng một mô hình ổ đĩa mà tôi dường như tương đối gần với kết quả của điểm chuẩn fio này, ít nhất là trong nháy mắt. Vì tôi không có cài đặt windows nên tôi không thể xác minh mức độ thực sự của chúng trên cùng một ổ đĩa.

Lưu ý rằng đôi khi bạn có thể nhận được một chút kết quả, đặc biệt nếu bạn đang làm gì đó trong nền trong khi các bài kiểm tra đang chạy, do đó, chạy thử nghiệm hai lần liên tiếp để so sánh kết quả là điều nên làm.

Những bài kiểm tra này mất một thời gian để chạy. Các cài đặt mặc định trong tập lệnh hiện phù hợp với SSD thông thường (SATA).

Cài đặt SIZE được đề xuất cho các ổ đĩa khác nhau:

  • (SATA) SSD: 1024 (mặc định)
  • (BẤT K)) Ổ cứng: 256
  • (NVME cao cấp) SSD: 4096
  • Ổ SSD (NVME cấp thấp): 1024 (mặc định)

Một NVME High End thường có tốc độ đọc khoảng ~ 2GB / giây (Intel Optane và Samsung 960 EVO là ví dụ; nhưng trong trường hợp sau, tôi muốn giới thiệu 2048 thay vì tốc độ 4kb chậm hơn.), Low-Mid End có thể có bất cứ nơi nào giữa ~ 500-1800MB / s tốc độ đọc.

Lý do chính tại sao các kích thước này phải được điều chỉnh là do các thử nghiệm sẽ mất bao lâu, ví dụ, đối với các ổ cứng cũ / yếu hơn, bạn có thể có tốc độ Đọc thấp tới 0,4 MB / giây. Bạn thử chờ 5 vòng 1GB ở tốc độ đó, các bài kiểm tra 4kb khác thường có tốc độ khoảng 1MB / s. Chúng tôi có 6 người trong số họ. Mỗi vòng chạy 5 vòng, bạn có đợi 30 GB dữ liệu được truyền ở các tốc độ đó không? Hoặc bạn muốn hạ thấp xuống 7,5 GB dữ liệu thay vào đó (ở mức 256 MB / giây, đó là thử nghiệm 2-3 giờ)

Tất nhiên, phương pháp lý tưởng để xử lý tình huống đó là chạy các bài kiểm tra tuần tự & 512k tách biệt với các bài kiểm tra 4k (vì vậy hãy chạy các bài kiểm tra tuần tự và 512k với nội dung như 512m, rồi chạy các bài kiểm tra 4k ở 32m)

Nhiều mô hình ổ cứng gần đây là cao cấp hơn và có thể nhận được kết quả tốt hơn nhiều.

Và bạn có nó rồi đấy! Thưởng thức!


Bạn đã kiểm tra tập lệnh của bạn ứng xử với fio trên Windows chưa?
Anon

1
(Một lưu ý cho độc giả không phải là Cestarian: nếu bạn đang tạo một công cụ mới sử dụng fio thì nếu không, có thể không cạo đầu ra fio có thể đọc được của con người - sử dụng --output-format=jsonvà phân tích JSON. Đầu ra có thể đọc được của Fio không dành cho máy móc và không ổn định giữa các phiên bản fio. Xem video YouTube này về một trường hợp mà việc loại bỏ sản lượng con người của fio dẫn đến một kết quả không mong muốn )
Anon

Cảm ơn, tôi sẽ ghi nhớ điều đó, thật đáng buồn là tôi không còn cài đặt windows nữa nên tôi không thể kiểm tra điều đó ... nhưng, tôi đã quyết định tra cứu kết quả của Crystaldiskmark cho ssd của tôi và có vẻ như bộ nhớ của tôi đã sai, vì kết quả cộng với những gì tôi nhận được trên fio sau khi tất cả. Đó là một sự hiểu lầm về kết thúc của tôi khiến tôi nghĩ rằng kết quả chậm hơn: / Tôi sẽ sửa nó. Tôi cũng sẽ sớm cập nhật câu trả lời này để sử dụng đầu ra json cho tương lai, và có lẽ là một phiên bản GUI (tôi đã bắt đầu làm việc với nó, nhưng gtkdialog được ghi chép kém và không có giới hạn nên tôi gặp khó khăn)
Cestarian

1
@Cestarian, kịch bản tuyệt vời, nhưng không hoạt động "ngoài luồng" trên CentOS7. Tôi đã phải sửa đổi nó một chút.
Igor

1
@Igor Thú vị, vâng tôi đã làm nó trên manjaro và tôi không thực sự là một chuyên gia về bash :) Tôi đã đề cập đến phiên bản sửa đổi của bạn trong câu trả lời chỉ trong trường hợp người khác gặp vấn đề.
Cestarian

5

Bạn có thể sử dụng iozonebonnie. Họ có thể làm những gì mà đĩa tinh thể có thể làm và hơn thế nữa.

Cá nhân tôi đã sử dụng iozonerất nhiều trong khi đo điểm chuẩn và kiểm tra các thiết bị từ máy tính cá nhân đến hệ thống lưu trữ doanh nghiệp. Nó có một chế độ tự động làm mọi thứ nhưng bạn có thể điều chỉnh nó theo nhu cầu của mình.


5
Làm thế nào để tái tạo với các phép đo Crystalmark một cách chi tiết?
sinh viên

2
Tôi sẽ cố gắng hết sức để viết một hướng dẫn, nhưng tôi cần danh sách các bài kiểm tra mà Crystal Disk Mark tiến hành. Có bất kỳ thử nghiệm nào khác mà phần mềm chạy bên cạnh các thử nghiệm hiển thị trên ảnh chụp màn hình.
bayindirh

1
Chỉ là những người trong ảnh chụp màn hình.
trr

1

Tôi không chắc các bài kiểm tra sâu hơn khác nhau có ý nghĩa thực sự khi xem xét những gì bạn đang làm chi tiết.

Các cài đặt như kích thước khối và độ sâu hàng đợi là các tham số để kiểm soát các tham số đầu vào / đầu ra mức thấp của giao diện ATA mà SSD của bạn đang ngồi.

Đó là tất cả tốt và tốt khi bạn chỉ đang chạy một số thử nghiệm cơ bản đối với một ổ đĩa khá trực tiếp, như một tệp lớn trong một hệ thống tệp được phân vùng đơn giản.

Khi bạn bắt đầu nói về việc điểm chuẩn một bảng mã, các tham số này không đặc biệt áp dụng cho hệ thống tệp của bạn nữa, hệ thống tệp chỉ là một giao diện vào một thứ khác cuối cùng sao lưu vào hệ thống tệp sao lưu vào ổ đĩa.

Tôi nghĩ sẽ rất hữu ích khi hiểu chính xác những gì bạn đang cố gắng đo, bởi vì có hai yếu tố đang diễn ra ở đây - tốc độ IO của đĩa thô, bạn có thể kiểm tra bằng cách định thời gian cho các lệnh DD khác nhau (có thể đưa ra ví dụ nếu đây là những gì bạn muốn) / không có / mã hóa, hoặc quá trình sẽ bị CPU giới hạn bởi mã hóa và bạn đang cố kiểm tra thông lượng tương đối của thuật toán mã hóa. Trong trường hợp đó, các tham số cho độ sâu hàng đợi, vv không đặc biệt có liên quan.

Về cả hai mặt, lệnh DD được định thời sẽ cung cấp cho bạn các số liệu thống kê thông lượng cơ bản mà bạn tìm kiếm, nhưng bạn nên xem xét những gì bạn dự định đo và các tham số liên quan cho điều đó.

Liên kết này dường như cung cấp một hướng dẫn tốt để kiểm tra tốc độ ổ đĩa bằng cách sử dụng các lệnh DD được định thời bao gồm cả phạm vi bảo hiểm cần thiết về 'đánh bại bộ đệm / bộ đệm', v.v. Có khả năng điều này sẽ cung cấp thông tin bạn cần. Quyết định xem bạn quan tâm đến tho, hiệu suất đĩa hay hiệu suất mã hóa, một trong hai sẽ là nút cổ chai và điều chỉnh nút không tắc nghẽn sẽ không mang lại lợi ích gì.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.