ปัญหาเกี่ยวกับประสิทธิภาพการอ่านดิสก์บัฟเฟอร์


2

ฉันมีสองกล่อง linux ที่เหมือนกัน (ใช้งาน Ubuntu 13.4) กับฮาร์ดแวร์ที่เหมือนกันรวมถึงฮาร์ดดิสก์ WDC WD20EARS ฉันสังเกตเห็นว่าระบบหลักของฉันช้าอย่างไม่น่าเชื่อและทำการทดสอบ HD จำนวนหนึ่ง SMART ไม่ได้ดูน่าสงสัยและให้ผลลัพธ์ที่เหมือนกันเกือบทั้งสองเครื่อง

มีการทดสอบหนึ่งที่ฉันเห็นความแตกต่างใหญ่และนี่คือการทดสอบความเร็ว HD โดย hdparm บนเครื่องที่มีปัญหาฉันได้รับ

> sudo hdparm -Tt /dev/sda 
/dev/sda:
Timing cached reads:   24876 MB in  2.00 seconds = 12450.96 MB/sec
Timing buffered disk reads:  26 MB in  3.18 seconds =   8.18 MB/sec

ในขณะที่อีกเครื่อง (เหมือนกัน) ที่ฉันได้รับ

> sudo hdparm -Tt /dev/sda 
/dev/sda:
Timing cached reads:   29000 MB in  2.00 seconds = 14515.76 MB/sec
Timing buffered disk reads: 348 MB in  3.01 seconds = 115.56 MB/sec

ฉันทดสอบหลายครั้งในเครื่องอื่น ๆ ที่ไม่ได้ใช้งาน แต่ความแตกต่างใหญ่ใน 'บัฟเฟอร์ดิสก์อ่าน' ยังคงมีอยู่

ความคิดใด ๆ ที่อาจทำให้เกิดสิ่งนี้และสิ่งที่สามารถทำได้เกี่ยวกับมัน? ฉันยังได้ดูเอาต์พุตการวินิจฉัย hdparm แต่ไม่ได้รับเบาะแสใด ๆ เพราะทั้งสองเครื่องผลิตผลลัพธ์ที่เหมือนกัน เครื่องมีอายุประมาณ 1 ปีและมีหน่วยความจำ 16GB

คำใบ้ใด ๆ ที่จะได้รับการชื่นชม - ขอบคุณมากล่วงหน้า


เคยคิดเรื่องนี้ไหม? ผมไม่ได้รับ 2MB / วินาทีในเวลาดิสก์บัฟเฟอร์อ่าน :(
ไบรอัน Z

คำตอบ:


1

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

ตามคู่มือของhdparm:

    -t     Perform  timings of device reads for benchmark and comparison purposes.  For meaningful results, this operation should be repeated 2-3 times on an otherwise inactive system (no other active
          processes) with at least a couple of megabytes of free memory.  This displays the speed of reading through the buffer cache to the disk without any prior caching of data.  This  measurement
          is  an  indication of how fast the drive can sustain sequential data reads under Linux, without any filesystem overhead.  To ensure accurate measurements, the buffer cache is flushed during
          the processing of -t using the BLKFLSBUF ioctl.

   -T     Perform timings of cache reads for benchmark and comparison purposes.  For meaningful results, this operation should be repeated 2-3 times on an otherwise inactive system (no  other  active
          processes) with at least a couple of megabytes of free memory.  This displays the speed of reading directly from the Linux buffer cache without disk access.  This measurement is essentially
          an indication of the throughput of the processor, cache, and memory of the system under test.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.