我一直在使用 dd 从 LVM 设备和 PV 设备读取一些基准测试,并得到了一些意想不到的结果:
$ sync ; echo 3 > /proc/sys/vm/drop_caches; dd bs=1M count=1024 if=/dev/sdc of=/dev/null
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.06466 s, 520 MB/s
[~]
$ sync ; echo 3 > /proc/sys/vm/drop_caches; dd bs=1M count=1024 if=/dev/mapper/vg-data of=/dev/null
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.07621 s, 118 MB/s
[~]
多次运行后差异都是一致的,为什么会有这样的差异,以及从相应 FS 读取的应用程序的传输速率应该是多少?
答案1
摘自 IBM 的 LVM 指南:“定义和扩展逻辑卷的机制试图做出最佳的默认选择。但是,如果系统安装程序根据预期的数据存储和工作负载要求调整逻辑卷的大小和位置,则更有可能获得令人满意的磁盘 I/O 性能。”
看http://pic.dhe.ibm.com/infocenter/aix/v7r1/index.jsp?topic=%2Fcom.ibm.aix.prftungd%2Fdoc%2Fprftungd%2Fdisk_preinstall_guidelines.htm和 http://pic.dhe.ibm.com/infocenter/aix/v7r1/index.jsp?topic=%2Fcom.ibm.aix.prftungd%2Fdoc%2Fprftungd%2Flog_vol_disk_io_perf.htm