如何记录我的 SSD 随时间的读取性能?

ænd*_*rük 10 performance ssd

我想随着时间的推移(可能每周)记录我的固态驱动器的读取速率,该速率由系统 -> 管理 -> 磁盘工具 -> 基准等工具确定:

截屏

有没有办法从磁盘工具中存档测试数据,或者你能想到任何其他工具可以让我半自动地积累这种数据吗?

我希望能够使用只读方法执行基准测试,以免不必要地磨损驱动器。

Oli*_*Oli 5

看看bonnie++

你需要awkgrep地狱离开它让你想记录随时间变化的数字,但它应该是可能的呼应你在一个逗号分隔值格式的日志文件的新行想要的东西。

Cron 并在六个月后,将其导入电子表格并绘制一个漂亮的图表。或者使用R。

编辑:Bonnie++ 实际上写了一个 CSV 作为它的最后一行输出,所以这会更容易拉入长时间日志(如果你能弄清楚列标题是什么)。

但是 Bonnie++ 依赖于能够将一个(或多个)文件写入文件系统,然后对这些文件运行读取测试。人们对 SSD 磨损大惊小怪,因此这可能不是最佳选择。

  • 或者,您可以将完整的输出记录到带时间戳的文件中,然后再处理数据。从长远来看,它不会让事情变得更容易,但您将在需要时拥有更多数据进行分析。 (2认同)

Oli*_*Oli 4

hdparm还可以做测试。相比之下,这些有点简单bonnie++,但它们运行速度很快(bonnie++运行时可能会占用资源)并且不需要写入磁盘。这也意味着它没有测试文件系统的效率,而文件系统的效率(希望)会随着内核升级而提高。

您可以像这样运行测试:

sudo hdparm -t /dev/sda
Run Code Online (Sandbox Code Playgroud)

它会做出这样的回应:

/dev/sdf:
 Timing buffered disk reads:  432 MB in  3.01 seconds = 143.53 MB/sec
Run Code Online (Sandbox Code Playgroud)

现在,这不包括延迟。如果这让您感到困扰,您可以下载并编译一个名为 Seeker 的脚本,它会进行一些搜索并测量时间。您需要学习一些 C 语言,但您可以将输出自定义为更容易记录的内容。

或者您可以相信 SSD 的响应时间不会比 ~0.3ms 差很多