Benchmark ssd บน linux: วิธีการวัดสิ่งเดียวกันกับ crystaldiskmark ทำใน windows


26

ฉันต้องการมาตรฐาน ssd (อาจมีระบบไฟล์ที่เข้ารหัส) และเปรียบเทียบกับมาตรฐานที่ทำโดย crystaldiskmark บน windows

CrystalDiskMark บน Windows

ดังนั้นฉันจะวัดประมาณสิ่งเดียวกันกับ crystaldiskmark ทำอย่างไร

สำหรับแถวแรก (Seq) ฉันคิดว่าฉันสามารถทำอะไรได้บ้าง

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

แต่ฉันไม่แน่ใจเกี่ยวกับddพารามิเตอร์

สำหรับการสุ่ม 512KB, 4KB, 4KB (ความลึกคิว = 32) การอ่าน / เขียนการทดสอบความเร็วฉันไม่มีความคิดใด ๆ ในการทำซ้ำการวัดใน linux? แล้วฉันจะทำสิ่งนี้ได้อย่างไร

สำหรับการทดสอบการอ่านความเร็วสิ่งที่ชอบsudo hdparm -Tt /dev/sdaไม่ได้ดูเหมือนจะทำให้ความรู้สึกของฉันตั้งแต่ฉันต้องการบางสิ่งบางอย่างเช่นมาตรฐานเหมือนencfsม้า

แก้ไข

@Alko, @iain

บางทีฉันควรเขียนบางสิ่งเกี่ยวกับแรงจูงใจเกี่ยวกับคำถามนี้: ฉันพยายามเปรียบเทียบมาตรฐานของฉันและเปรียบเทียบโซลูชันการเข้ารหัสบางอย่าง แต่นั่นเป็นอีกคำถามหนึ่ง ( วิธีที่ดีที่สุดในการเปรียบเทียบโซลูชันการเข้ารหัสที่แตกต่างกันในระบบของฉัน ) ในขณะที่ท่องเว็บเกี่ยวกับ ssd และการเปรียบเทียบฉันเห็นผู้ใช้โพสต์ผลการ CrystelDiskMark ในฟอรัมบ่อยครั้ง ดังนั้นนี่คือแรงจูงใจสำหรับคำถามเท่านั้น ฉันแค่ต้องการทำเช่นเดียวกันกับ linux สำหรับการเปรียบเทียบโดยเฉพาะของฉันโปรดดูคำถามอื่นของฉัน


ทำไมคุณไม่ใช้เครื่องมือเปรียบเทียบซึ่งทำงานกับทั้งสองระบบ
Alko

พบสิ่งนี้ดูเหมือนว่ามีประโยชน์มากและในการทดสอบสั้น ๆ ของฉันเกี่ยวกับไดรฟ์สามตัวที่แยกกันให้ตัวเลขที่คล้ายกันมากกับ crystaldiskmark จริง ... github.com/buty4649/fio-cdm
ljwobker

2019: คำถามนี้สมควรได้รับการเริ่มต้นใหม่ - หัวข้อสำคัญ แต่มีการสูญเสียโฟกัสเล็กน้อยที่นี่ "ยอมรับและเก็บถาวร"
rastafile

คำตอบ:


22

ฉันจะบอกว่าfioจะไม่มีปัญหาในการผลิตปริมาณงานเหล่านั้น โปรดทราบว่าแม้ว่าชื่อ CrystalDiskMark จะเป็นมาตรฐานของระบบไฟล์บนดิสก์ใด ๆ ก็ตาม แต่ก็ไม่สามารถทำ I / O แบบดิบให้กับดิสก์เพียงอย่างเดียวได้ เช่นนี้จะมีค่าใช้จ่ายระบบแฟ้มอยู่เสมอ (ไม่จำเป็นต้องเป็นสิ่งที่ไม่ดี แต่มีบางสิ่งที่ควรทราบเช่นเนื่องจากระบบไฟล์ที่เปรียบเทียบอาจไม่เหมือนกัน)

ตัวอย่างจากการจำลองเอาต์พุตในภาพหน้าจอด้านบนซึ่งเสริมด้วยข้อมูลจากคู่มือ CrystalDiskMark (สิ่งนี้ไม่สมบูรณ์ แต่ควรให้ความคิดทั่วไป):

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 

ระวัง - ตัวอย่างนี้ทำลายข้อมูลอย่างถาวร/mnt/fs/fiotest.tmp !

รายชื่อของพารามิเตอร์ FiO สามารถมองเห็นได้บนhttp://fio.readthedocs.io/en/latest/fio_doc.html


3
ฉันลอง fio ใน Ubuntu 16.04 และ CrystalDiskMark ใน Windows 7 ตัวเลขบางตัวตรงกันในขณะที่คนอื่นทำไม่ได้ ลำดับ r / w ถูกปิดโดยปัจจัยที่ 2 ความหมายค่า Linux คือ 50% ของค่าที่รายงานโดย CDM v3.0.4 (หมายเหตุ: เวอร์ชันปัจจุบันคือ 6.0.0 แต่เวอร์ชันเก่ายังคงพร้อมให้ดาวน์โหลด) เพื่อซอที่มีความแตกต่างฉันตั้ง bs = 4m แทน 1m นั่นทำให้ตัวเลขใกล้เคียงยิ่งขึ้น การลองใช้ 8m และ 32m ทำให้ยิ่งเข้าใกล้ ในที่สุดเช่นอานนท์กล่าวว่าคำตอบของเขาไม่สมบูรณ์และเช่นเดียวกับ @Alko เราต้องการเครื่องมือเดียวกันในทั้งสองระบบปฏิบัติการ โปรดทราบว่า CDM 6 ใหม่ล่าสุดใช้การทดสอบที่แตกต่างจาก OP ข้อมูลดี Anon
Vahid Pazirandeh

2
@VahidPazirandeh น่าสนใจ, github.com/buty4649/fio-cdm/blob/master/fio-cdmมีการตั้งค่าเดียวกัน 1m บางทีเอกสารของ cdm อาจไม่ดีพอ
inf3rno

@ vahid-pazirandeh ยินดีต้อนรับ หมายเหตุ: หากคุณต้องการเครื่องมือเดียวกันในทั้งสองระบบปฏิบัติการโปรดทราบว่ามีfio Windows รุ่นหนึ่งด้วย
Anon

8

ฉันสร้างสคริปต์ที่พยายามทำซ้ำพฤติกรรมของ crystaldiskmark ด้วย fio สคริปต์ทำการทดสอบทั้งหมดที่มีใน Crystaldiskmark เวอร์ชันต่างๆจนถึง Crystaldiskmark 6 รวมถึงการทดสอบ 512K และ 4KQ8T8

สคริปต์ขึ้นอยู่กับFiOและDF หากคุณไม่ต้องการที่จะติดตั้ง DF ลบ line 19 ผ่าน 21 (สคริปต์ที่จะไม่แสดงซึ่งไดรฟ์จะถูกทดสอบ) หรือลองรุ่นที่ปรับเปลี่ยนจากการแสดงความคิดเห็น (อาจแก้ไขปัญหาอื่น ๆ ที่เป็นไปได้)

#!/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

ซึ่งผลลัพธ์จะเป็นดังนี้:

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

(ผลลัพธ์เป็นรหัสสีเพื่อลบรหัสสีลบอินสแตนซ์ทั้งหมดของ\033[x;xxm(โดยที่ x คือตัวเลข) จากคำสั่ง echo ที่ด้านล่างของสคริปต์)

สคริปต์เมื่อทำงานโดยไม่มีข้อโต้แย้งจะทดสอบความเร็วของไดรฟ์ / พาร์ติชันภายในบ้านของคุณ นอกจากนี้คุณยังสามารถป้อนเส้นทางไปยังไดเรกทอรีในฮาร์ดไดรฟ์อื่นหากคุณต้องการทดสอบแทน ในขณะที่เรียกใช้สคริปต์จะสร้างไฟล์ชั่วคราวที่ซ่อนอยู่ในไดเรกทอรีเป้าหมายซึ่งจะล้างข้อมูลหลังจากรันเสร็จสิ้น (.fiomark.tmp และ. fiomark.txt)

คุณไม่สามารถเห็นผลการทดสอบเมื่อเสร็จสมบูรณ์ แต่ถ้าคุณยกเลิกคำสั่งในขณะที่มันกำลังทำงานก่อนที่จะเสร็จสิ้นการทดสอบทั้งหมดคุณจะได้เห็นผลลัพธ์ของการทดสอบที่เสร็จสมบูรณ์และไฟล์ชั่วคราวจะถูกลบในภายหลังเช่นกัน

หลังจากการวิจัยบางอย่างฉันพบว่า Crystaldiskmark benchmark ผลลัพธ์ในไดรฟ์รุ่นเดียวกันกับที่ฉันดูเหมือนจะค่อนข้างตรงกับผลลัพธ์ของ fio benchmark อย่างน้อยคร่าว ๆ เนื่องจากฉันไม่มีการติดตั้ง windows ฉันจึงไม่สามารถตรวจสอบว่ามีความใกล้ชิดกับไดรฟ์เดียวกันได้อย่างไร

โปรดทราบว่าบางครั้งคุณอาจได้รับผลลัพธ์เล็กน้อยโดยเฉพาะอย่างยิ่งถ้าคุณกำลังทำอะไรบางอย่างในพื้นหลังในขณะที่การทดสอบกำลังทำงานอยู่ดังนั้นให้รันการทดสอบสองครั้งติดต่อกันเพื่อเปรียบเทียบผลลัพธ์

การทดสอบเหล่านี้ใช้เวลาในการรันนาน การตั้งค่าเริ่มต้นในสคริปต์ปัจจุบันเหมาะสำหรับ SSD (SATA) ปกติ

ขนาด SI ที่แนะนำสำหรับไดรฟ์ต่าง ๆ :

  • (SATA) SSD: 1024 (ค่าเริ่มต้น)
  • (ANY) HDD: 256
  • (High End NVME) SSD: 4096
  • (NVME ต่ำสุดระดับกลาง) SSD: 1024 (ค่าเริ่มต้น)

โดยทั่วไปแล้ว High End NVME จะมีความเร็วในการอ่านประมาณ ~ 2GB / s (Intel Optane และ Samsung 960 EVO เป็นตัวอย่าง แต่ในกรณีหลังฉันจะแนะนำ 2048 แทนเนื่องจากความเร็ว 4kb ช้าลง) Low-Mid End สามารถอยู่ที่ใดก็ได้ระหว่าง ความเร็วในการอ่านประมาณ 500-1800MB / s

เหตุผลหลักว่าทำไมควรปรับขนาดเหล่านี้เป็นเพราะระยะเวลาการทดสอบจะใช้เป็นอย่างอื่นสำหรับ HDD ที่เก่ากว่าหรืออ่อนแอกว่าคุณสามารถมีความเร็วในการอ่านที่ต่ำเพียง 0.4MB / s 4kb คุณลองรอ 5 ลูปของ 1GB ที่ความเร็วนั้นโดยทั่วไปการทดสอบ 4kb อื่น ๆ จะมีความเร็วประมาณ 1MB / s เรามี 6 คน แต่ละลูปที่มีการทำงาน 5 ลูปคุณจะรอให้มีการถ่ายโอนข้อมูล 30GB ด้วยความเร็วเหล่านั้นหรือไม่? หรือคุณต้องการลดให้เหลือ 7.5GB ของข้อมูลแทน (ที่ 256MB / s เป็นการทดสอบ 2-3 ชั่วโมง)

แน่นอนว่าวิธีที่ดีที่สุดสำหรับการจัดการสถานการณ์นั้นคือการรันการทดสอบตามลำดับ & 512k แยกจากการทดสอบ 4k (ดังนั้นให้รันการทดสอบตามลำดับและ 512k ด้วยสิ่งที่คล้ายพูด 512m แล้วทำการทดสอบ 4k ที่ 32m)

รุ่น HDD ที่ใหม่กว่านั้นมีระดับที่สูงกว่าและสามารถได้ผลลัพธ์ที่ดีกว่านั้นมาก

และคุณมีมัน สนุก!


คุณตรวจสอบว่าสคริปต์ของคุณทำงานกับ fio บน Windows หรือไม่
Anon

1
(หมายเหตุถึงผู้อ่านอื่นที่ไม่ใช่ Cestarian: หากคุณกำลังสร้างเครื่องมือใหม่ที่ใช้ fio ถ้าเป็นไปได้อย่าขูดเอาท์พุท fio ที่มนุษย์อ่านได้ - ใช้--output-format=jsonและแยก JSON เอาต์พุตที่มนุษย์อ่านได้ของ Fio ไม่ได้มีไว้สำหรับเครื่องจักร และไม่เสถียรระหว่างรุ่น fio ดูวิดีโอ YouTube ของกรณีที่การคัดลอกผลลัพธ์จากมนุษย์ของ fio นำไปสู่ผลลัพธ์ที่ไม่พึงประสงค์ )
Anon

ขอบคุณฉันจะเก็บไว้ในใจเศร้าฉันไม่มีการติดตั้ง windows ดังนั้นฉันไม่สามารถทดสอบที่ ... แต่ฉันตัดสินใจที่จะค้นหาผลลัพธ์ crystaldiskmark สำหรับ ssd ของฉันและดูเหมือนว่าหน่วยความจำของฉันผิดตั้งแต่ ผลลัพธ์เพิ่มขึ้นกับสิ่งที่ฉันได้รับใน fio หลังจากทั้งหมด มันเป็นความเข้าใจผิดในตอนท้ายของฉันที่ทำให้ฉันคิดว่าผลลัพธ์ช้าลง: / ฉันจะแก้ไขให้ถูกต้อง ฉันจะอัปเดตคำตอบนี้ในเร็ว ๆ นี้เพื่อใช้เอาต์พุต json สำหรับการป้องกันในอนาคตและอาจเป็นรุ่น GUI (ฉันเริ่มต้นทำงาน แต่ gtkdialog นั้นมีเอกสารไม่ดีและ zenity ถูก จำกัด ดังนั้นฉันจึงลำบากใจ)
Cestarian

1
@Castarian สคริปต์ที่ยอดเยี่ยม แต่ไม่ทำงาน "นอกกรอบ" บน CentOS7 ฉันต้องแก้ไขมันสักหน่อย
อิกอร์

1
@Igor น่าสนใจใช่ฉันทำมันด้วย manjaro และฉันไม่ค่อยเชี่ยวชาญเรื่องทุบตี :) ฉันพูดถึงเวอร์ชั่นที่คุณแก้ไขในคำตอบในกรณีที่คนอื่นมีปัญหา
Cestarian

5

คุณสามารถใช้และiozone bonnieพวกเขาสามารถทำสิ่งที่คริสตัลดิสก์สามารถทำได้และอีกมากมาย

ฉันใช้เวลาส่วนตัวiozoneมากในขณะทำการเปรียบเทียบและทดสอบอุปกรณ์ความเครียดจากคอมพิวเตอร์ส่วนบุคคลไปจนถึงระบบจัดเก็บข้อมูลขององค์กร มันมีโหมดอัตโนมัติที่ทำทุกอย่าง แต่คุณสามารถปรับให้เข้ากับความต้องการของคุณ


5
วิธีการทำซ้ำด้วยการวัดรายละเอียดคริสตัล?
นักเรียน

2
ฉันจะพยายามทำให้ดีที่สุดในการเขียน howto แต่ฉันต้องการรายการทดสอบที่ Crystal Disk Mark ดำเนินการ มีการทดสอบอื่นใดอีกหรือไม่ซึ่งซอฟต์แวร์นี้ทำงานอยู่นอกเหนือจากรายการที่ปรากฏบนหน้าจอ
bayindirh

1
เพียงแค่คนที่อยู่ในภาพหน้าจอ
trr

1

ฉันไม่แน่ใจว่าการทดสอบที่ลึกกว่านั้นมีความหมายใด ๆ เมื่อพิจารณาถึงสิ่งที่คุณทำโดยละเอียด

การตั้งค่าเช่นขนาดบล็อกและความลึกของคิวเป็นพารามิเตอร์สำหรับการควบคุมพารามิเตอร์อินพุต / เอาต์พุตระดับต่ำของอินเตอร์เฟส ATA ที่ SSD ของคุณกำลังทำงานอยู่

นั่นคือทั้งหมดที่ดีและดีเมื่อคุณเพียงแค่ใช้การทดสอบขั้นพื้นฐานกับไดรฟ์โดยตรงค่อนข้างเช่นไฟล์ขนาดใหญ่ในระบบไฟล์พาร์ทิชันที่เรียบง่าย

เมื่อคุณเริ่มพูดคุยเกี่ยวกับการเปรียบเทียบการเข้ารหัสพารามิเตอร์เหล่านี้ไม่ได้นำไปใช้กับระบบไฟล์ของคุณอีกต่อไประบบไฟล์เป็นเพียงส่วนต่อประสานกับสิ่งอื่นที่ในที่สุดก็กลับเข้าสู่ระบบไฟล์

ฉันคิดว่ามันจะเป็นประโยชน์ในการทำความเข้าใจสิ่งที่คุณพยายามวัดเพราะมีสองปัจจัยในการเล่นที่นี่ - ความเร็ว IO ดิสก์ดิบซึ่งคุณสามารถทดสอบโดยกำหนดเวลาคำสั่ง DD ต่างๆ (สามารถยกตัวอย่างถ้านี่คือสิ่งที่คุณ ต้องการ) / ไม่ใช้ / encfs หรือกระบวนการจะเป็น CPU ที่ล้อมรอบด้วยการเข้ารหัสและคุณพยายามทดสอบทรูพุตสัมพัทธ์ของอัลกอริทึมการเข้ารหัส ในกรณีนี้พารามิเตอร์สำหรับคิวลึก ฯลฯ ไม่เกี่ยวข้องโดยเฉพาะ

ในทั้งสองกรณีคำสั่ง DD ที่กำหนดเวลาไว้จะให้สถิติปริมาณงานพื้นฐานที่คุณต้องการ แต่คุณควรพิจารณาสิ่งที่คุณต้องการวัดและพารามิเตอร์ที่เกี่ยวข้องสำหรับสิ่งนั้น

ลิงค์นี้จะให้คำแนะนำที่ดีสำหรับการทดสอบความเร็วดิสก์โดยใช้คำสั่ง DD ที่กำหนดเวลารวมถึงการครอบคลุมที่จำเป็นเกี่ยวกับ 'การเอาชนะบัฟเฟอร์ / แคช' เป็นต้น มีแนวโน้มที่จะให้ข้อมูลที่คุณต้องการ ตัดสินใจเลือกสิ่งที่คุณสนใจมากขึ้นประสิทธิภาพของดิสก์หรือประสิทธิภาพการเข้ารหัสหนึ่งในสองวิธีนี้คือคอขวดและการปรับคอขวดที่ไม่ได้อยู่จะไม่ได้รับประโยชน์อะไรเลย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.