我有两台几乎完全相同的服务器,两者之间的唯一区别是 Linux 版本和硬盘。服务器 1 的硬盘(我认为)更好,因此与服务器 2 相比,其性能应该比我看到的更好。最明显的是服务器 1 和 2 上的 dd 测试之间的差异,如下所示。
关于应该检查什么以及导致这种情况的原因,有什么建议吗?
服务器 1:
驱动器是 Barracuda 7200.12 SATA 6Gb/s 1TB 硬盘,带有 64 MB 缓存,运行 XenServer,测试在非客户级别执行。
hdparm -i /dev/sda
/dev/sda:
Model=ST31000524AS , FwRev=JC4B ,
SerialNo= 5VP9RWSG
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7
hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 43912 MB in 1.99 seconds = 22043.28 MB/sec
Timing buffered disk reads: 344 MB in 3.00 seconds = 114.64 MB/sec
dd if=/dev/zero of=/tmp/output.img bs=8k count=256k
262144+0 records in
262144+0 records out
2147483648 bytes (2.1 GB) copied, 28.0981 seconds, 76.4 MB/s
/etc/fstab
LABEL=root-rizocqaz / ext3 defaults 1 1
/var/swap/swap.001 swap swap defaults 0 0
none /dev/pts devpts defaults 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
服务器2:
驱动器是 Hitachi Deskstar 7200 SATA 3Gb/s 1TB 驱动器,带 32 MB 缓存,运行 Debian 6
hdparm -i /dev/sda
/dev/sda:
Model=Hitachi HDS721010CLA332, FwRev=JP4OA3MA, SerialNo=JP2940HZ3L08GC
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=56
BuffType=DualPortCache, BuffSize=29999kB, MaxMultSect=16, MultSect=16
CurCHS=65535/1/63, CurSects=4128705, LBA=yes, LBAsects=1953525168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-2,3,4,5,6,7
dd if=/dev/zero of=/tmp/output.img bs=8k count=256k
262144+0 records in
262144+0 records out
2147483648 bytes (2.1 GB) copied, 13.0055 s, 165 MB/s
hdparm -tT /dev/sda
Timing cached reads: 24350 MB in 2.00 seconds = 12191.54 MB/sec
Timing buffered disk reads: 418 MB in 3.00 seconds = 139.22 MB/sec
/etc/fstab
proc /proc proc defaults 0 0
UUID=7fcbd976-2dbc-43fb-a321-2dfd5bc0ff4f / ext3 errors=remount-ro 0 1
UUID=b3a09499-a85e-4b6c-a6e5-14586861c347 none swap sw 0 0
答案1
随着磁道进一步螺旋式地向磁盘中心移动,磁盘的线性吞吐量会降低:
这仅仅是因为线速度比旋转盘的外部要低得多。
由于您不知道 /tmp/output.img 的块最终位于磁盘的哪个部分,因此比较“dd”结果毫无意义。相比之下,“hdparm”测试始终会读取磁盘的第一个块 - 这就是您在那里看到更一致结果的原因。
无论如何,结果都会有所不同,因为当您在测量时系统读取和写入磁盘时,磁盘活动可能会存在一些并发性。