我正在尝试访问云基准测试的块级 I/O 跟踪。我看过 YCSB、Rain 和其他一些基准测试套件,但它们都没有提供块/字节级别的日志记录。我正在考虑只运行这些基准测试之一并使用 blktrace/blkparse 来获取 I/O 跟踪,但问题在于这种方法不会捕获在 blktrace/blkparse 工作时由页面缓存完成的 I/O 请求在文件系统层之下(在块 I/O 层)。
是否有云基准测试套件具有块/字节级跟踪功能?如果没有,那么我如何获得 blktrace/blkparse 之类的功能,其中包括那些由页面缓存完成的请求(可能是拦截读/写系统调用?)。
谢谢。
附:将 O_DIRECT 与 blktrace/blkparse 一起使用的选项是不可取的,因为您不能将它用于已编译的程序。
最佳答案
您可以查看的另一个工具是 iosnoop http://www.brendangregg.com/blog/2014-07-16/iosnoop-for-linux.html我只用它来跟踪磁盘级跟踪,但还有一堆其他性能工具 https://github.com/brendangregg/perf-tools这也许可以帮助您满足您的需求。
关于io - block 级 I/O 跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7920571/