Linux md 与 LVM 性能

Dea*_*ith 9 linux performance hard-drive lvm openfiler

我正在尝试调整我的 NAS,运行 openfiler,并想知道为什么我从 RAID 5 中的 4 个 WD RE3 驱动器读取性能相对较差。

编辑:请注意我说的是缓冲磁盘读取速度而不是缓存速度

编辑:更改格式以明确有两组输出。

当我在元设备上运行 hdparm 时,我得到了我期望的性能水平,降低了音量,速度是速度的三分之一!

任何人知道为什么?LVM 有那么糟糕吗?

院长

元设备 /dev/md0 结果

[root@nas2 等]# hdparm -tT /dev/md0
/dev/md0:
 计时缓存读取:2.00 秒内 4636 MB = 2318.96 MB/秒
 定时缓冲磁盘读取:3.01 秒内 524 MB = 174.04 MB/秒

卷组 /dev/mapper/vg1-vol1 结果

[root@nas2 etc]# hdparm -tT /dev/mapper/vg1-vol1
/dev/mapper/vg1-vol1:
 计时缓存读取:2.00 秒内 4640 MB = 2320.28 MB/秒
 定时缓冲磁盘读取:3.01 秒内 200 MB = 66.43 MB/秒

编辑:请参阅 hdparm 手册页中的部分,该部分表明这是对顺序读取性能的完全有效测试,这是我试图解决的问题。

-t 为基准和比较目的执行设备读取计时。为了获得有意义的结果,此操作应在其他情况下重复 2-3 次
              至少有几兆可用内存的非活动系统(没有其他活动进程)。这显示读取缓冲区的速度
              缓存到磁盘,无需任何事先缓存数据。此测量值表明驱动器在以下情况下可以维持顺序数据读取的速度
              Linux,没有任何文件系统开销。为确保准确测量,在使用 BLKFLSBUF 处理 -t 期间刷新缓冲区缓存
              ioctl。如果还指定了 -T 标志,则基于 -T 的结果的校正因子将被合并到为 -t 报告的结果中
              手术。

wom*_*ble 11

LVM 的默认预读设置非常悲观。尝试blockdev --setra 8192 /dev/vg1/vol1看看是什么使您的 LVM 性能达到了最高。使用 LVM 总是会降低性能;我们在正确配置的系统上以大约 10% 的底层块设备性能进行测量。


Jan*_*kel 0

hdparm -T 创建的工作负载并不代表几乎所有用例,除了从单个大文件中进行流式读取之外。另外,如果性能是一个问题,请不要使用 raid5。

  • 正确的是,它并不代表真正的工作负载,我并没有暗示它是。然而,它对于比较原始设备的读取速度很有用。元设备和卷组卷应该具有相当的原始顺序读取速度,但它们没有。这就是问题的重点。 (3认同)