首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在缓慢的硬件上记录磁盘性能,然后将其重放到更快的硬件上并对其进行基准测试?

如何在缓慢的硬件上记录磁盘性能,然后将其重放到更快的硬件上并对其进行基准测试?
EN

Unix & Linux用户
提问于 2012-03-15 14:50:25
回答 2查看 484关注 0票数 2

目前,由于IO性能的原因,我正在执行各种开发任务,这些任务在我的当前系统上执行得很慢。

是否有一种方法在执行IO消耗任务时记录磁盘操作,包括性能信息(写/秒、读/秒等),然后在新系统上重放它们以查看性能在哪里(而不必在同一组数据上重新运行相同的命令)?

在这种情况下,blktrace,blkparse或fio会帮助我吗?

例如:假设在我的系统上,我想对

代码语言:javascript
复制
find -name "*.php" | xargs grep -r "test_string"

在包含50 000个文件的文件夹中(当然,在多个级别上)

我想捕获所有的磁盘操作,包括统计数据,然后在另一个没有50000文件文件夹的系统上重放它们。基本上,只是模拟操作和检查它们是否做得更快。

我尝试通过以下方法捕获磁盘示例

代码语言:javascript
复制
blktrace -d /dev/sda -o myfile.blk

但我不知道我怎么能试着和fio重播。

这个是可能的吗?

谢谢

EN

回答 2

Unix & Linux用户

发布于 2012-03-15 19:12:01

不是的。如果要查看同一任务在不同硬件上所需的时间,则需要在新硬件上运行相同的任务。

如果您想要模拟任务,那么除了尝试读取/写入相同的磁盘扇区之外,您还需要想出一种方法来模拟任务在读取数据后对数据所做的任何工作。

票数 2
EN

Unix & Linux用户

发布于 2018-07-31 21:37:03

要使用fio回放blktrace文件,首先需要将其转换为blkparse二进制数据文件--更多信息请参见菲奥氏read_iolog选项 (replay_redirect也可能有用)。

注意:使用fio重新运行包含写的重放会破坏文件/磁盘中被重放的数据,所以要小心!

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/34235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档