作者简介
周嘉祺 | Intel 软件工程师,主要从事spdk、isa-l开发和存储软件性能优化的工作
一
前言
提及SPDK应用的测试工具,你可能会想到SPDK自带的Perf工具 或者 SPDK针对标准FIO工具的fio_plugin。这两个工具都可以很好地测试SPDK的性能。
Perf使用参考: 一文读懂SPDK加速关键应用:解析SPDK Perf应用
fio_plugin 使用参考: 基于SPDK的NVMe SSD性能评估指南
但当你跑起了构建在SPDK上的应用后,或者运行起来了SPDK自带的target 后,当你想查看IO子系统的具体IO数据该怎么做呢?这时候使用SPDK开发的iostat.py工具就能获取Bdev层IO数据。
相比perf或者fio_plugin最大的不同:iostat.py获取的是SPDK 应用运行时Bdev自统计的IO数据并计算得出结果。顾名思义,统计出的是bdev子系统的数据。
但这个统计的数据可能和上一层(比如这个application是ISCSI subsystem)和下一层(NVMe 驱动层)统计出的数据未必完全一致。举个例子,在client和target 模型中。Target端部署了一个SP