使用容器操作系统的 GCP 中本地 SSD 的 NVMe 与 SCSI 性能对比

Yur*_*rik 6 performance google-compute-engine google-cloud-platform

在 Google Cloud 中,我做了一个简单的性能测试,比较了连接到同一虚拟机的两个“本地 SSD”驱动器 - 第一个作为 NVMe 连接,第二个作为 SCSI 连接。我原以为 NVMe 会更快一些,但性能却下降了 5%:

        NVMe SCSI
实际 157.3 150.1
用户 107.2 107.1
系统 21.6 22.2

Google 计算虚拟机运行 COS - 容器优化操作系统,而 docker 容器本身是一个md5sum在同一个 45GB 文件上运行的 busybox。结果(3 次运行的平均值)有点令人费解 - 系统时间较低,用户时间大致相同,但 NVMe 的实时时间大约慢 5%。该容器运行于

docker run -v /mnt/disks/nvme:/tmp1 -v /mnt/disks/scsi:/tmp2 -it busybox

测试是用

time md5sum largefile

Dan*_*Dan 3

我相信最近对来宾 NVMe 驱动程序进行了改进,这可能会对此有所帮助。我听说最新的 Ubuntu 镜像默认附带它,但可能尚未包含在 COS 发行版中。该补丁可在此处获取。

FWIWmd5sum也不是作为存储性能基准测试工具,因此您的结果也可能不太可重复 - 它具有 CPU 开销(计算校验和),并且还运行在本地文件系统(可以碎片化)之上或不,等等),谁知道它使用什么样的 IO 大小来读取数据,所有这些都可能会增加测试的可变性。如果您想进行真正的 IO 基准测试,Google 的文档有一个非常好的指南,解释了如何fio直接在本地 SSD 上使用它。