我想测量固态硬盘在接近满负荷时的性能下降情况。特别是,我想对随机和连续读/写进行基准测试。
在 IOmeter 中可以实现这个功能吗?我应该如何配置 IOmeter 来运行这样的测试?
答案1
Anandtech 有一篇关于 SSD、基准测试以及其用途的非常非常棒的文章。他们使用 IOmeter 来运行基准测试,并给出了一些关于他们遇到哪些问题的提示。
http://www.anandtech.com/storage/showdoc.aspx?i=3531
第 12 页描述了他们如何模拟一个被多次敲打的“旧”驱动器。他们这样做是为了测试驱动器在使用寿命内性能会下降多少。
答案2
做好大量测试的准备。我花了大量时间试图了解写入次数和通常表现优秀的 FusionIO 设备的写入性能之间的关系。供应商起初并没有提供太多帮助来了解情况。
请记住,“空闲”块的定义可能会有所不同。例如,如果您曾经写入过该块,存储就不能认为它是空闲的。也许如果您稍后用全 0 或全 1 写入该块,它可以将其标记为空闲块,尽管我在实践中没有见过这种情况。我发现,通过创建一个只占整个存储一小部分的逻辑卷,性能问题令人震惊。然后,创建一个包含其余存储的逻辑卷,在半小时内大量写入该逻辑卷,然后删除该逻辑卷。对于 SSD 来说,这些块当然不是空闲的。但是,通过进行此测试,我永远破坏了写入性能。
通过使用额外的“保留”块格式化设备,性能影响的现实变得无关紧要。FusionIO 设备支持快速写入,因为它们会在后台擦除保留块,并将其用于新写入。(您覆盖的块被标记为空闲,稍后会被擦除)。