ฉันใช้ Ubuntu 20.04 LTS, Kernel 5.8.0-55 และมีระบบไฟล์ของฉันบน md/software RAID1 ซึ่งประกอบด้วยฮาร์ดดิสก์ SATA สองตัวเป็นของฉัน บ้าน ระบบเซิฟเวอร์. RAM 32 GB, 4 คอร์ (Intel Core i5-3450) เป็นแบบนั้นมาหลายปีแล้ว และก็โอเคเสมอ แต่เนื่องจากบางครั้งประสิทธิภาพ/เวลาแฝงของ I/O ก็แย่ลงเรื่อยๆ ("บางครั้ง" อย่างน้อยก็ในการรับรู้ของฉัน ฉันค่อนข้างมั่นใจว่ามันไม่ได้แย่ขนาดนั้นเสมอไป ).
ทำแบบง่ายๆ dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
ให้ฉัน ">75 wa" อยู่ด้านบนและรับระบบของฉันจาก "0.something" เป็น "4" หรือ "5" นั่นคือแม้แต่ dd ธรรมดาก็เข้าคิวแล้วและทำให้เกิดคอขวดในช่วงเวลาสั้น ๆ เหล่านั้น
เมื่อเร็ว ๆ นี้ฉันมีงานคอมไพล์ขนาดใหญ่หลายชั่วโมงซึ่งฉันต้องจำกัดกระบวนการคอมไพล์ด้วย cgroups ไปที่ 1% CPU การใช้งาน เพราะเมื่อมันทำงานโดยไม่มีข้อจำกัด (เช่น โหลด CPU ที่เกือบ 100%) โดยทั่วไปจะทำให้ระบบของฉันหยุดชะงัก ด้วยการโหลดระบบ > 250 เพราะทันที หมายเลข I/O ที่รอได้สูงถึง 90+ สำหรับคอร์ทั้งหมดใน "บนสุด"! ทันทีที่บางสิ่งต้องการ I/O นานกว่าหลายวินาที สิ่งนี้ดูเหมือนจะกลายเป็นภาระหนักสำหรับระบบของฉัน
ดิสก์ยังห่างไกลจากประสิทธิภาพสูง แต่ประสิทธิภาพ I/O ที่รับรู้นั้นต่ำกว่ามาตรฐานสำหรับสิ่งเหล่านั้นอย่างแน่นอน นอกจากนี้ ในส่วนที่เกี่ยวกับโพสต์ที่คล้ายกันซึ่งเรากำลังพูดถึงความเร็วในการเขียน 2-3 เท่าสำหรับระบบโฮม
$ sudo hdparm -I /dev/sdd
/dev/sdd:
อุปกรณ์ ATA พร้อมสื่อบันทึกแบบถอดไม่ได้
หมายเลขรุ่น: TOSHIBA MQ01ABD100
หมายเลขซีเรียล: 23CVTYHET
การแก้ไขเฟิร์มแวร์: AX001U
การขนส่ง: อนุกรม, ATA8-AST, SATA 1.0a, ส่วนขยาย SATA II, SATA Rev 2.5, SATA Rev 2.6
$ sudo hdparm -I /dev/sde
/dev/sde:
อุปกรณ์ ATA พร้อมสื่อบันทึกแบบถอดไม่ได้
หมายเลขรุ่น: ST1000LM024 HN-M101MBB
หมายเลขซีเรียล: S2ZWJ9KG902786
การแก้ไขเฟิร์มแวร์: 2BA30001
การขนส่ง: อนุกรม, ATA8-AST, SATA 1.0a, ส่วนขยาย SATA II, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
ฉันรู้ว่าสิ่งเหล่านี้ไม่ใช่ดิสก์ที่เร็วที่สุดในทุกวันนี้ แต่มันก็ใช้ได้เสมอในช่วงหลายปีที่ผ่านมา
$ sudo hdparm -t /dev/sdd
/dev/sdd:
เวลาอ่านดิสก์บัฟเฟอร์: 176 MB ใน 3.01 วินาที = 58.47 MB/วินาที
$ sudo hdparm -t /dev/sde
/dev/sde:
เวลาอ่านดิสก์บัฟเฟอร์: 266 MB ใน 3.02 วินาที = 88.18 MB/วินาที
$ sudo hdparm -T /dev/sde
/dev/sde:
เวลาแคชอ่าน: 18882 MB ใน 1.98 วินาที = 9543.70 MB/วินาที
$ sudo hdparm -T /dev/sdd
/dev/sdd:
เวลาแคชอ่าน: 18484 MB ใน 1.98 วินาที = 9340.48 MB/วินาที
$ sudo hdparm -W /dev/sdd
/dev/sdd:
เขียนแคช = 1 (เปิด)
$ sudo hdparm -W /dev/sde
/dev/sde:
เขียนแคช = 1 (เปิด)
/tmp ติดตั้งบน RAID (/dev/md0)
$ dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
1+0 บันทึกใน
1+0 บันทึกออก
คัดลอก 1073741824 ไบต์ (1.1 GB, 1.0 GiB), 27.6059 วินาที, 38.9 MB/วินาที
$ cat /sys/block/sde/queue/scheduler
ไม่มี [กำหนด mq]
$ cat /sys/block/sdd/queue/scheduler
ไม่มี [กำหนด mq]
$ cat /sys/block/md0/queue/scheduler
ไม่มี
$ sudo mdadm --detail /dev/md0
/dev/md0:
เวอร์ชัน : 1.2
เวลาสร้างสรรค์ : เสาร์ 25 มิ.ย. 17:40:19 น. 2559
ระดับการจู่โจม : การจู่โจม1
ขนาดอาร์เรย์ : 952015872 (907.91 GiB 974.86 GB)
ขนาด Dev ที่ใช้ : 952015872 (907.91 GiB 974.86 GB)
อุปกรณ์จู่โจม : 2
อุปกรณ์ทั้งหมด : 2
การคงอยู่: Superblock นั้นคงอยู่
บิตแมปเจตนา: ภายใน
อัพเดทเวลา : ส. 29 ม.ค. 13:44:00 น. 2565
สถานะ: ใช้งานอยู่
อุปกรณ์ที่ใช้งาน : 2
อุปกรณ์การทำงาน : 2
อุปกรณ์ที่ล้มเหลว : 0
อุปกรณ์สำรอง : 0
นโยบายความสอดคล้อง: บิตแมป
ชื่อ : bigigloo:0 (ท้องถิ่นไปยังโฮสต์ xxx)
UUID : af846648:6181b04f:d98b2908:602142da
เหตุการณ์ : 336196
หมายเลขหลักรอง RaidDevice สถานะ
0 8 65 0 แอคทีฟซิงค์ /dev/sde1
1 8 49 1 แอคทีฟซิงค์ /dev/sdd1
มีอะไรที่ฉันสามารถตรวจสอบได้หรือไม่ ซึ่งอาจจำกัดประสิทธิภาพ I/O ของฉัน หรือเป็นเพียงวัสดุที่ไม่ดีหรือที่เรียกว่าดิสก์เก่าซึ่งไม่ดีพอที่จะรองรับความต้องการในปัจจุบันอีกต่อไป หากฉันลืมเพิ่มรายละเอียดใดๆ ของระบบสำหรับโพสต์นั้น โปรดแจ้งให้เราทราบและฉันยินดีที่จะเพิ่มให้