我试图调整我的NAS,运行openfiler,并想知道为什么我在RAID 5中的4个WD RE3驱动器中读取性能相对较差。
编辑: 请注意我说的缓冲磁盘读取速度没有caching的速度
编辑:改变格式,以清除有两组输出。
当我在元设备上运行hdparm时,我得到了我期望的性能水平,降到了音量,而且是速度的三分之一!
任何人都知道为什么? LVM不好吗?
院长
元设备/ dev / md0结果
[root @ nas2 etc]#hdparm -tT / dev / md0 的/ dev / md0的: 定时caching读取:2.00秒中的4636MB = 2318.96MB /秒 定时缓冲磁盘读取:3.01秒中的524 MB = 174.04 MB /秒
卷组/ dev / mapper / vg1-vol1结果
[root @ nas2 etc]#hdparm -tT / dev / mapper / vg1-vol1 的/ dev /映射器/ VG1-VOL1: 计时caching读取:2.00秒中的4640 MB = 2320.28 MB /秒 定时缓冲磁盘读取:3.01秒中的200 MB = 66.43 MB /秒
编辑:请参阅hdparm手册页上的部分,这表明这是完全有效的testing顺序读取性能,这是我想解决的问题。
-t执行设备读取的时间以进行基准testing和比较。 为了有意义的结果,这个操作应该重复2-3次否则
不活动的系统(没有其他活动进程),至less有几兆的可用内存。 这显示了通过缓冲区的读取速度
caching到磁盘而不需要任何数据caching。 这个测量结果表明驱动器能够承受顺序数据读取的速度
Linux,没有任何文件系统开销。 为了确保准确的测量,在使用BLKFLSBUF的-t处理过程中缓冲区caching被刷新
IOCTL。 如果还指定了-T标志,则基于-T的结果的校正因子将被并入针对-t报告的结果
操作。
LVM的默认预读设置真的很悲观。 试试blockdev --setra 8192 /dev/vg1/vol1 ,看看你的LVM性能会怎样。 您将始终使用LVM进行性能优化; 我们在正确configuration的系统上测量了大约10%的基础块设备性能。
我没有一个很好的解释,但我可以确认结果。
RAID(raid5,4×1.5TB驱动器)testing
root@enterprise:# hdparm -tT /dev/md2 /dev/md2: Timing cached reads: 2130 MB in 2.00 seconds = 1065.81 MB/sec Timing buffered disk reads: 358 MB in 3.00 seconds = 119.15 MB/sec root@enterprise:# hdparm -tT /dev/md2 /dev/md2: Timing cached reads: 2168 MB in 2.00 seconds = 1084.54 MB/sec Timing buffered disk reads: 358 MB in 3.01 seconds = 119.10 MB/sec
用md2作为物理设备的音量testing。
root@enterprise:# hdparm -tT /dev/mapper/vg2-data /dev/mapper/vg2-data: Timing cached reads: 2078 MB in 2.00 seconds = 1039.29 MB/sec Timing buffered disk reads: 176 MB in 3.03 seconds = 58.04 MB/sec root@enterprise:# hdparm -tT /dev/mapper/vg2-data /dev/mapper/vg2-data: Timing cached reads: 2056 MB in 2.00 seconds = 1028.06 MB/sec Timing buffered disk reads: 154 MB in 3.03 seconds = 50.81 MB/sec
我做了womble提出的改变 ,看到了这样的结果。
root@enterprise:# blockdev --setra 8192 /dev/mapper/vg2-data root@enterprise:# hdparm -tT /dev/mapper/vg2-data /dev/mapper/vg2-data: Timing cached reads: 2106 MB in 2.00 seconds = 1053.82 MB/sec Timing buffered disk reads: 298 MB in 3.00 seconds = 99.26 MB/sec root@enterprise:# hdparm -tT /dev/mapper/vg2-data /dev/mapper/vg2-data: Timing cached reads: 2044 MB in 2.00 seconds = 1022.25 MB/sec Timing buffered disk reads: 280 MB in 3.03 seconds = 92.45 MB/sec
确保你比较苹果和苹果。
hdparm -t从设备的开始读取,如果你给它一个完整的磁盘(它是旋转磁盘),这也是磁盘最快的部分。
确保将它与磁盘开头的LV进行比较。
要查看映射,请使用pvdisplay -m 。
(好吧,批准,数量上的差异可以忽略不计,但至less想想:)
hdparm -T创build的工作负载几乎不代表任何用例,只是从单个大文件中读取数据stream。 另外,如果性能是一个问题,请不要使用raid5。
你可以通过blktrace(如果它在I / O中)或oprofile(如果它在CPU上)来确定hdparm在哪里花费时间。 了解LVM设置也将有所帮助(pvdisplay,vgdisplay,lvdisplay)。