如何在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条带宽度相同.通常,它的访问速度比它两侧的记录大小要慢.这是分区错位的标志.

相关文章

文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。 用法:...
非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,...
编译安装httpd 1 去官网下载源码包 为避免非法软件,一定要去官网下载http://www.apache.org httpd-2.4...
gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-mo...
1 一定用快捷键 这里简单的说下几个常用的快捷按键。 1.1 移动光标快捷键 Crtl + a 光标回到命令行...
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径。如果test命令中列出的条件成立...