如何在SAN上对Linux文件系统进行基准测试?

我想对存储在SAN上的文件系统进行基准测试.

但SAN使用了大量缓存(仅10%到20%),
所以,如果我做一些测试,结果将是不现实的.

我该怎么办才能得到正确的结果?

对程序的任何建议?邦妮,IOZone还是……?

解决方法

作为iozone粉丝,我多年来一直在使用它进行 Linux和Windows系统的基准测试. Sean有一个关键点,用一个不能在RAM Cache中修复的数据集进行测试. IOZone让这很容易.
iozone -s 64G -r 16k

使用64G数据集和16K读取大小进行测试.您可以多次指定-r以为其提供一系列I / O操作大小.您甚至可以指定单独的测试:

iozone -s 32G -s 64G -r 8k -r 16k -r 32k -r 64k -i 1 -i 2

-i 1是必需的,因为它创建数据集,但-i 2告诉它也运行随机读取和随机写入测试.它还可以运行其他几项测试.一个有趣的测试是’stride read’测试,它在读取之间跳过许多切片;正确配置它可以测试预读和RAID条带对齐的限制.

它也可以使用Direct IO作为测试的一部分,如果这对您很重要的话.一些DBMS使用DirectIO,绕过Linux缓存系统:

iozone -s 8G -r 1k -I

它甚至有一个同时测试多个文件的模式.这对于测试某些文件可能适合缓存的情况很方便,但不是全部.

iozone -t 32 -s 2G -r 8k -r 16k

这告诉它使用32个线程,每个线程都有自己的2GB文件,并测试各种记录大小.

我见过几次的一件事是我测试的记录大小与我的RAID条带宽度相同.通常,它的访问速度比它两侧的记录大小要慢.这是分区错位的标志.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...