Score:0

FIO 17x ช้าลงบน ZFS กว่าอุปกรณ์ดิบ

ธง in

ฉันมี ZFS pool RAIDZ-1 บน 4 x 3.84TB SATA3 'องค์กร' SSD

zfs สร้าง rpool/fio
zfs ตั้งค่า primarycache=ไม่มี rpool/fio

fio --ioengine=sync --filename=[X] --direct=1 --rw=read --bs=4K --numjobs=1 --ioความลึก=1 --runtime=10 --time_based --name= ฟิโอ

ผล:

--ชื่อไฟล์=/dev/sdg:        
  อ่าน: IOPS=25.1k, BW=98.2MiB/s (103MB/s)

--ชื่อไฟล์=/rpool/fio/testx
  อ่าน: IOPS=1408, BW=5634KiB/s (5769kB/s)

การกำหนดค่า zpool:

ชื่อทรัพย์สิน มูลค่า แหล่งที่มา
ระบบไฟล์ประเภท rpool/fio -
การสร้าง rpool/fio พฤ. 18 พ.ย. 11:04 น. 2564 -
rpool/fio ใช้ 30.5G -
rpool/fio พร้อมใช้งาน 9.69T -
rpool/fio อ้างอิง 30.5G -
อัตราการบีบอัด rpool/fio 1.05x -
ติดตั้ง rpool/fio ใช่ -
โควต้า rpool/fio ไม่มีค่าเริ่มต้น
การสำรอง rpool/fio ไม่มีค่าเริ่มต้น
rpool/fio recordsize ค่าเริ่มต้น 128K
rpool/fio เมานต์พอยต์ /rpool/fio เริ่มต้น
rpool/fio sharenfs เป็นค่าเริ่มต้น
การตรวจสอบ rpool/fio เป็นค่าเริ่มต้น
การบีบอัด rpool / fio lz4 ในพื้นที่
rpool/fio atime off ที่สืบทอดมาจาก rpool
อุปกรณ์ rpool/fio เป็นค่าเริ่มต้น
rpool/fio exec เป็นค่าเริ่มต้น
rpool/fio setuid เป็นค่าเริ่มต้น
rpool/fio แบบอ่านอย่างเดียวปิดค่าเริ่มต้น
rpool/fio แบ่งโซนเป็นค่าเริ่มต้น
rpool/fio snapdir ค่าเริ่มต้นที่ซ่อนอยู่
rpool/fio aclmode ละทิ้งค่าเริ่มต้น
rpool/fio aclinherit ค่าเริ่มต้นที่จำกัด
rpool/fio createtxg 11836 -
rpool/fio canmount เป็นค่าเริ่มต้น
rpool/fio xattr เป็นค่าเริ่มต้น
rpool/fio คัดลอก 1 ค่าเริ่มต้น
rpool/fio เวอร์ชัน 5 -
ปิด rpool/fio utf8 เท่านั้น -
rpool/fio การทำให้เป็นมาตรฐาน ไม่มี -
rpool/fio ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ไว -
rpool/fio vscan ปิดค่าเริ่มต้น
rpool/fio nbmand ปิดค่าเริ่มต้น
rpool/fiosharemb ปิดค่าเริ่มต้น
rpool/fio refquota ไม่มีค่าเริ่มต้น
การสำรอง rpool/fio ไม่มีค่าเริ่มต้น
rpool/ฟิโอ guid 11473612800347485365 -
rpool/fio แคชหลักไม่มีในเครื่อง
rpool/fio แคชรองเริ่มต้นทั้งหมด
rpool/fio ที่ใช้โดยภาพรวม 0B -
rpool/fio ที่ใช้โดย dataset 30.5G -
rpool/fio ที่ใช้โดยเด็ก 0B -
rpool/fio ที่ใช้โดยการสำรอง 0B -
ค่าเริ่มต้นของเวลาแฝง rpool/fio logbias
rpool/fio objsetid 9843 -
rpool/fio ลบค่าเริ่มต้น
rpool/fio mlslabel ไม่มีค่าเริ่มต้น
มาตรฐานการซิงค์ rpool/fio ที่สืบทอดมาจาก rpool
rpool/fio dnodesize ค่าเริ่มต้นดั้งเดิม
rpool/fio refcompressratio 1.05x -
rpool/fio เขียน 30.5G -
rpool/fio ใช้แบบลอจิคัล 32.0G -
rpool/fio อ้างอิงแบบลอจิคัล 32.0G -
ค่าเริ่มต้นของ rpool/fio volmode
rpool/fio filesystem_limit ไม่มีค่าเริ่มต้น
rpool/fio snapshot_limit ไม่มีค่าเริ่มต้น
rpool/fio filesystem_count ไม่มีค่าเริ่มต้น
rpool/fio snapshot_count ไม่มีค่าเริ่มต้น
rpool/fio snapdev ค่าเริ่มต้นที่ซ่อนอยู่
rpool/fio acltype ปิดค่าเริ่มต้น
บริบท rpool/fio ไม่มีค่าเริ่มต้น
rpool/fio fscontext ไม่มีค่าเริ่มต้น
rpool/fio defcontext ไม่มีค่าเริ่มต้น
rpool/fio rootcontext ไม่มีค่าเริ่มต้น
rpool/fio relatime ปิดค่าเริ่มต้น
rpool/fio redundant_metadata เริ่มต้นทั้งหมด
การซ้อนทับ rpool/fio เป็นค่าเริ่มต้น
การเข้ารหัส rpool/fio เป็นค่าเริ่มต้น
ตำแหน่งคีย์ rpool/fio ไม่มีค่าเริ่มต้น
รูปแบบคีย์ rpool/fio ไม่มีค่าเริ่มต้น
rpool/fio pbkdf2iters 0 เริ่มต้น
rpool/fio special_small_blocks 0 เริ่มต้น

มีอะไรผิดปกติกับการทดสอบหรือ ZFS หรือไม่ คำแนะนำ / ข้อมูลเชิงลึกใด ๆ ที่ชื่นชม! ขอบคุณ.

อัปเดต 1:

ฉันได้อัปเดตการทดสอบเริ่มต้นเป็น --bs=4K และเรื่องราวโดยทั่วไปยังคงเหมือนเดิม... การทดสอบบนอุปกรณ์ดิบนั้นถูกต้องหรือไม่

อัปเดต 2:

ดูเหมือนว่าฉันได้ภาพที่แตกต่างจาก zpool ไอโอสแตท ถึง ฟิโอ เอาต์พุต ฉันได้ปรับ ฟิโอ ทดสอบ randion r/w ด้วย 64 งาน ซึ่งควรเปิดเผยเกณฑ์มาตรฐาน SSD 'สมจริง' มากกว่านี้ หมายเหตุ ระบบไม่มีภาระงานอื่น

บน SSD:

fio --ioengine=libaio --filename=/rpool/fio/testx --size=4G --time_based --name=fio --group_reporting --runtime=10 --direct=1 --sync=1 --ioความลึก =1 --rw=randrw --bs=4K --numjobs=64

อ่าน: IOPS=4022, BW=15.7MiB/s (16.5MB/s)
เขียน: IOPS=4042, BW=15.8MiB/s (16.6MB/s)


# zpool iostat -vy rpool 5 1
                                                        แบนด์วิดธ์การดำเนินงานความจุ 
พูลจัดสรรฟรี อ่าน เขียน อ่าน เขียน
--------------------------------------------- ----- ----- ----- ----- ----- ----- -----
พูล 216G 27.7T 28.1K 14.5K 1.17G 706M
  Raidz1 195G 13.8T 13.9K 7.26K 595M 358M
    ata-INTEL_SSDSC2KB038TZ_BTYI13730BAV3P8EGN-part3 - - 3.60K 1.73K 159M 90.3M
    ata-INTEL_SSDSC2KB038TZ_BTYI13730B9Q3P8EGN-part3 - - 3.65K 1.82K 150M 89.0M
    ata-INTEL_SSDSC2KB038TZ_BTYI13730B9G3P8EGN-part3 - - 3.35K 1.83K 147M 90.0M
    ata-INTEL_SSDSC2KB038TZ_BTYI13730BAT3P8EGN-part3 - - 3.34K 1.89K 139M 88.4M
  Raidz1 21.3G 13.9T 14.2K 7.21K 604M 348M
    sde - - 3.39K 1.81K 149M 87.5M
    sdf - - 3.35K 1.90K 139M 86.3M
    sdg - - 3.71K 1.70K 163M 87.8M
    sdh - - 3.69K 1.81K 152M 86.4M
--------------------------------------------- ----- ----- ----- ----- ----- ----- -----

บนฮาร์ดดิสก์:

อ่าน: IOPS=1382, BW=5531KiB/s
เขียน: IOPS=1385, BW=5542KiB/s

$zpool ไอโอสแตท -vy rpool 5 1
                                    แบนด์วิดธ์การดำเนินงานความจุ 
พูลจัดสรรฟรี อ่าน เขียน อ่าน เขียน
-------------------------------- ----- ----- ----- ----- --- -- ----- -----
พูล 160G 18.0T 3.07K 2.71K 393M 228M
  กระจก 32.2G 3.59T 624 589 78.0M 40.2M
    scsi-35000c500de5c67f7-part3 - - 321 295 40.1M 20.4M
    scsi-35000c500de75a863-part3 - - 303 293 37.9M 19.7M
  กระจก 31.9G 3.59T 625 551 78.2M 49.9M
    scsi-35000c500de2bd6bb-part3 - - 313 274 39.1M 24.2M
    scsi-35000c500de5ae5a7-part3 - - 312 277 39.0M 25.7M
  กระจก 32.2G 3.59T 648 548 81.1M 45.9M
    scsi-35000c500de5ae667-part3 - - 320 279 40.1M 23.0M
    scsi-35000c500de2bd2d3-part3 - - 328 268 41.0M 23.0M
  กระจก 31.6G 3.59T 612 536 76.5M 45.5M
    scsi-35000c500de5ef20f-part3 - - 301 266 37.7M 22.7M
    scsi-35000c500de5edbfb-part3 - - 310 269 38.9M 22.8M
  กระจก 32.0G 3.59T 629 555 78.7M 46.5M
    scsi-35000c500de5c6f7f-part3 - - 318 283 39.8M 23.1M
    scsi-35000c500de5c6c5f-part3 - - 311 272 38.9M 23.4M
-------------------------------- ----- ----- ----- ----- --- -- ----- -----

ประสิทธิภาพต่ออุปกรณ์ดูดีบน HDD และ SSD ดูเหมือนจะเร็วกว่า HDD ประมาณ 5 เท่าในการสุ่ม r/w เป็นที่คาดหวัง? ฉันคาดหวังให้เร็วขึ้น 10-100x ...

ขอบคุณสำหรับความสนใจ!

Nikita Kipriyanov avatar
za flag
คุณแน่ใจหรือไม่ว่าต้องการใช้เครื่องมือ "ซิงค์" I/O
shodanshok avatar
ca flag
โปรดสร้างพูลของคุณใหม่ด้วย `-o ashift=12` นอกจากนี้ โปรดลองด้วย `recordsize=16K`
simonw avatar
in flag
ขอบคุณ @shodanshok ashift คือ 12 และการตั้งค่าขนาดบันทึกเป็น 16k ให้ผลลัพธ์เหมือนกัน
simonw avatar
in flag
ขอบคุณ @NikitaKipriyanov ผลลัพธ์เดียวกันกับ libaio
Romeo Ninov avatar
in flag
คุณสามารถลองลบการบีบอัดของพูล
simonw avatar
in flag
ขอบคุณ @RomeoNinov ฉันลองแล้ว ผลลัพธ์เหมือนเดิม!...
batistuta09 avatar
vn flag
21k IOPS บนบล็อก 128k ไม่ใช่ผลลัพธ์ที่ถูกต้องสำหรับ SATA SSD เดี่ยว แปลว่า ประมาณ. ทรูพุต 2.6GB/s ซึ่งมากกว่าพอร์ต SATA เดียวถึง 5 เท่า
us flag
คุณไม่ควรใช้ RAID พาริตี้เดียว หากคุณต้องการรักษาข้อมูลของคุณให้ปลอดภัย

โพสต์คำตอบ

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