Viky Asked: 2009-06-04 22:59:30 +0800 CST2009-06-04 22:59:30 +0800 CST 2009-06-04 22:59:30 +0800 CST 如何进行文件系统测试? 772 我打算测试一个文件系统。我应该考虑做什么。或如何完成相同的任务。是否有任何工具可以测试文件系统或任何可靠的参考? 目的:计划从 ext3 转移到 EFS。 linux filesystems 6 个回答 Voted Best Answer Raphaël Hertzog 2009-06-04T23:15:59+08:002009-06-04T23:15:59+08:00 我的第一个答案也是 bonnie++,快速搜索也会发现Iozone3。两者都可以作为 Debian 软件包使用。如果您进行更简单的测试(cp、mv、rm),您应该考虑echo 1 > /proc/sys/vm/drop_caches在每次测试之前清除内核保存的缓存,否则可能会导致不代表文件系统本身的差异。 greys 2009-06-05T00:17:39+08:002009-06-05T00:17:39+08:00 这里还有两个选项,我发现它们对于文件系统基准测试非常有用。 1)邮戳- 它是模拟繁忙邮件服务器访问的文件系统的实际使用情况的基准。 下载:http ://www.freshports.org/benchmarks/postmark/ 测试时,请确保您已经比较了 ext3 日志记录的不同选项 - 它们在性能方面可能完全不同(写回日志记录在我的 Postmark 实验中给出了最佳结果)。 2) Filebench - 另一个出色的基准,为您提供更大的灵活性。如果您有考虑从 ext3 迁移的特定原因,您可能会喜欢 filebench - 它有许多不同的工作负载,因此您只能专注于您感兴趣的性能瓶颈(文件创建/删除操作或顺序读/写 vs随机的,举几个例子)。 你必须用谷歌搜索它,因为我还不允许任何超链接 - 项目本身托管在 SourceForge 上,并且在 OpenSolaris.org 网站上找到了一个非常好的快速入门指南。 最后一点:确保将负载分散到尽可能多的磁盘(主轴)上,以获得最准确的结果。分配一些磁盘专门用于基准测试也很有意义,并在每次运行基准测试之前对其进行更新。 Bernd Haug 2009-06-05T01:07:09+08:002009-06-05T01:07:09+08:00 不要只测试速度,还要考虑可靠性。例如,尝试关闭繁忙文件系统上的磁盘并查看剩下的内容。 可用的修复和恢复工具的质量也很重要,而且很难单独测试。块结构可以例如禁止试图从不可挽救的文件系统以原始模式挽救数据的工具。 有关在非常苛刻的殴打下测试文件系统的更多提示,您可能会对 ZFS 人员所做的事情感兴趣:一二 David 2009-06-05T07:33:18+08:002009-06-05T07:33:18+08:00 我们使用Rugg来测试我们服务器的文件系统。它基于 Python 且易于使用。它的工作原理是创建一个大文件并对其进行细分,然后按顺序或并行执行各种操作。 编辑:这是一个示例脚本,它将重复测试 /data (一个分区),直到脚本被杀死: #!/bin/bash ( while true do cd /data rm -rf * rugg 'zone 97%, subdivide 16 | blank | ensure blank | fill same text, ensure same' done ) | tee /tmp/rugg.log exit 0 knweiss 2009-07-06T12:05:58+08:002009-07-06T12:05:58+08:00 多一点: fio类似于上面提到的 filebench:“fio 是一个 I/O 工具,用于基准测试和压力/硬件验证。它支持 13 种不同类型的 I/O 引擎(sync、mmap、libaio、posixaio , SG v3, splice, null, network, syslet, guasi, solarisaio, and more), I/O priority (for newer Linux kernels), rate I/O, fork or threaded jobs, 等等。它可以在块上工作“ 文件系统练习器 (fsx)最初来自 Apple,但现在有各种操作系统的变体。 Zoredache 2009-06-04T23:03:52+08:002009-06-04T23:03:52+08:00 虽然bonnie++主要关注基准测试性能,但它确实在文件系统之上工作。它执行一些测试,为每个文件系统提供不同的结果。我怀疑您可能也对与 EFS 相关的性能变化感兴趣,因此您可能希望至少尝试将其作为您的测试之一。
我的第一个答案也是 bonnie++,快速搜索也会发现Iozone3。两者都可以作为 Debian 软件包使用。如果您进行更简单的测试(cp、mv、rm),您应该考虑
echo 1 > /proc/sys/vm/drop_caches
在每次测试之前清除内核保存的缓存,否则可能会导致不代表文件系统本身的差异。这里还有两个选项,我发现它们对于文件系统基准测试非常有用。
1)邮戳- 它是模拟繁忙邮件服务器访问的文件系统的实际使用情况的基准。
下载:http ://www.freshports.org/benchmarks/postmark/
测试时,请确保您已经比较了 ext3 日志记录的不同选项 - 它们在性能方面可能完全不同(写回日志记录在我的 Postmark 实验中给出了最佳结果)。
2) Filebench - 另一个出色的基准,为您提供更大的灵活性。如果您有考虑从 ext3 迁移的特定原因,您可能会喜欢 filebench - 它有许多不同的工作负载,因此您只能专注于您感兴趣的性能瓶颈(文件创建/删除操作或顺序读/写 vs随机的,举几个例子)。
你必须用谷歌搜索它,因为我还不允许任何超链接 - 项目本身托管在 SourceForge 上,并且在 OpenSolaris.org 网站上找到了一个非常好的快速入门指南。
最后一点:确保将负载分散到尽可能多的磁盘(主轴)上,以获得最准确的结果。分配一些磁盘专门用于基准测试也很有意义,并在每次运行基准测试之前对其进行更新。
不要只测试速度,还要考虑可靠性。例如,尝试关闭繁忙文件系统上的磁盘并查看剩下的内容。
可用的修复和恢复工具的质量也很重要,而且很难单独测试。块结构可以例如禁止试图从不可挽救的文件系统以原始模式挽救数据的工具。
有关在非常苛刻的殴打下测试文件系统的更多提示,您可能会对 ZFS 人员所做的事情感兴趣:一二
我们使用Rugg来测试我们服务器的文件系统。它基于 Python 且易于使用。它的工作原理是创建一个大文件并对其进行细分,然后按顺序或并行执行各种操作。
编辑:这是一个示例脚本,它将重复测试 /data (一个分区),直到脚本被杀死:
多一点:
虽然bonnie++主要关注基准测试性能,但它确实在文件系统之上工作。它执行一些测试,为每个文件系统提供不同的结果。我怀疑您可能也对与 EFS 相关的性能变化感兴趣,因此您可能希望至少尝试将其作为您的测试之一。