我在kubuntu 18.04上运行了一些IO测试,并在闪存驱动器(/ dev / sdc1)上使用了fio工具,以测量在不同网络环境下设备的读写速度。但是一段时间后,我得到了这些真正令人困惑的结果。他们在设备的网站上说,写入速度高达150MB / s(请参阅链接)。但是我得到了更高的结果(见图1),我得到了bw = 151974KB/s
的写作经验。我也在Windows PC上测试了该设备,并获得了不同的结果,例如〜100 MB / s,这更加现实。这怎么可能?我还列出了lsblk和blkid的输出(参见图2)。
这是我的命令行:
sudo fio --rw=write --name=test1 --size=100M --direct=1 --bs=1024k --filename=/dev/sdc1 --allow_mounted_write=true
答案 0 :(得分:0)
(注意:这不是编程问题-也许您打算将其发布到https://serverfault.com/或https://superuser.com/之类的地方?)
您的块大小很大,因此您可能会迫使内核将其拆分为较小的块。通常,您打算检查特定的块大小(您知道不会被破坏)的性能,因此这可能是一个警告信号。但是,当您不使用并行线程/进程或异步ioengine时,这是一种根据提交到磁盘的内容强制并行化的方法,因此,如果您了解自己在做什么,那么这样做可能是有效的!
从技术上讲,您写的不是很多(只有100 MB),所以当您绕过Linux内核的高速缓存时,您可能会发现写的内容最终落在SSD的高速缓存中。您无需说说拥有哪种固态硬盘,但是有些固态硬盘可以具有100兆字节的非易失性缓存,因此,如果所有数据都只存储在那里,您将获得不切实际的速度。
另一个问题是您不知道SSD何时需要进行垃圾收集。如果它有很多“未写”空间,那么它的运行速度可能比必须接受大量改写才能接受新写操作的速度快。
请注意,对SSD进行正确的基准测试并不容易。例如,对于初学者,请参见https://www.snia.org/sites/default/education/tutorials/2011/fall/SolidState/EstherSpanjer_The_Why_How_SSD_Performance_Benchmarking.pdf和https://www.snia.org/sites/default/files/technical_work/PTS/SSS_PTS_2.0.1.pdf。祝你好运!