在 Linux 中测量 UBIFS on NAND 性能的惊喜

在 Linux 中测量 UBIFS on NAND 性能的惊喜

我正在开发一个嵌入式Linux系统(Linux-5.10.24),并且有一个原始的NAND FLASH作为存储设备,其上使用UBI/UBIFS作为文件系统。

现在我正在尝试测量和比较有压缩和没有压缩的UBIFS性能,所以我做了以下测试。

我的期望是压缩的文件读/写不应该比没有压缩更好。

  1. 用于dd测试UBIFS读写。首先运行生成要读写的dd if=/dev/urandom of=/tmp/aaa bs=131072 count=128文件。 这是结果。aaa

    • 挂载 UBIFS 并启用压缩(默认模式), Writing: 2.6MB/s, Reading: 8.3MB/s
    • 挂载UBIFS而不压缩(-o compr=none), Writing: 2.7MB/s, Reading: 8.2MB/s

    我尝试了很多次,得到了类似的结果。
    令我惊讶和出乎我意料的是,压缩和不压缩的性能是相似的!

  2. 使用 C 程序测量在压缩和不压缩的情况下从 UBIFS 读取文件的耗时。
    这是测试结果。

    • 挂载 UBIFS 并启用压缩(默认模式),读取1707378112 bytes took 18134 ms.
    • 在不压缩的情况下挂载 UBIFS (-o compr=none),读取1707378112 bytes took 19222 ms.

令我惊讶和出乎我意料的是,压缩的文件读取比不压缩的更好。

所以我想知道我的测试是否正确。我的测试结果是否正确?如果不是,测量/比较有压缩和没有压缩的 UBIFS 性能的正确方法是什么?

相关内容