在Google Cloud中,我做了一个简单的性能测试,比较了连接到同一VM的两个“本地SSD”驱动器-第一个连接为NVMe,第二个连接为SCSI。我原本以为NVMe会更快一些,但性能却下降了5%:
NVMe SCSI real 157.3 150.1 user 107.2 107.1 sys 21.6 22.2
Google计算VM正在运行COS-容器优化的OS,而Docker容器本身是在同一45GB文件上运行md5sum
的busybox。结果(平均3次运行)有点令人费解-sys时间较短,用户时间大致相同,但NVMe的实时速度要慢5%。容器跑过了
docker run -v /mnt/disks/nvme:/tmp1 -v /mnt/disks/scsi:/tmp2 -it busybox
测试是通过
执行的 time md5sum largefile
答案 0 :(得分:1)
我相信客户机NVMe驱动程序最近有所改进,这可能对此有所帮助。我听说默认情况下,最新的Ubuntu映像中已附带了它,但可能尚未包含在COS发行版中。该补丁可用here。
FWIW,md5sum
也不意味着是存储性能基准测试工具,因此您的结果可能也不太可重复-它具有CPU开销(用于计算校验和),并且可以在您的本地文件系统(可以是零散的还是不可以的,等等),谁知道它用来读取数据的IO大小,所有这些都会增加测试的可变性。如果您想进行真正的IO基准测试,则Google的文档a pretty good guide解释了如何直接在本地SSD上使用fio
。