首页 文章

KVM guest虚拟机中的IO性能更高

提问于
浏览
0

我在其上设置了一个带有KVM来宾的系统,以测试客户端性能与主机的比较情况 . 系统硬件规格如下:

  • 硬盘:ATA SAMSUNG HD502HI

  • CPU:Intel(R)Core(TM)i3 CPU

  • 内存大小:8GB

我为guest虚拟机设置了6GB内存,4个虚拟cpu和一个具有原始格式,virtio接口,写入缓存模式和本机io模式的磁盘映像文件 .

操作系统是主机和guest虚拟机上的Ubuntu-14.04 64位(内核:3.13.0-45-通用) .

然后,我开始使用fio基准测试工具在主机和来宾上对磁盘io进行基准测试 . 您可以在下表中看到结果(在fio命令中,选项大小= 512m,包括invalidate = 1):

Bandwidth

|       |   Random Read |   Random write|Seqential Read |Seqential write|
| Host  |   465347B/s   |   1199.7MB/s  |   107878KB/s  |   1434.2MB/s  |
| Guest |   46389KB/s   |   989223KB/s  |   1418.3MB/s  |   1096.4MB/s  |

Iops

|       |   Random Read |   Random write|Seqential Read |Seqential write|
| Host  |   113         |   306960      |   26969       |   367148      |
| Guest |   11597       |   247305      |   363080      |   280668      |

我还在主机和guest上做了一个简单的副本(文件大小= 564M),结果几乎相同 . (主机中的时间:6.282s和来宾中的时间:6.352s) .

我运行了另一个基准测试,其中从Mysql数据库中读取了3,000,000条记录并将其编入索引到Elasticsearch . 结果是不合理的,因为客人的工作运行得更快 . (主持人时间:5m6.827s,客人时间:2m19.469s) .

我真的很困惑!为什么客户IO性能在某些测试中更好?

1 回答

  • 0

    我想到了几个可能的原因:

    • 如果在KVM中使用写回缓存,有时在访客中看到的I / O性能比在主机上要好 . 此提升类似于您在硬件RAID控制器上安装电池支持的写缓存时所看到的I / O提升 . 写回缓存的缺点是在电源故障时存在磁盘损坏的风险 .

    • 基准依赖于精确的时钟 . 当你在一个guest虚拟机中运行一个基准测试时,你会非常相信VM的可靠性's clock. In your case, you'几分钟' difference, which makes me think this probably isn'这是什么's going on, but I mention it because it'在对VM进行基准测试时需要注意的事项 .

相关问题