qemu各种存储类型io大比拼
qemu各种存储类型io大比拼
qemu是linux的虚拟机,负责虚拟化一个机器出来,包括cpu,内存,pci,存储,网卡之类的,但是纯模拟效率比较低,所以,一般和kvm配合,
kvm负责虚拟内核,然后qemu继续负责外围,所以,qemu-kvm是linux平台的主流虚拟机,性能也是相当高
今天就来介绍一下,qemu的各种io类型的跑分,首先,先说结论,virtIO的性能也是非常好的,可以做到够用,但是想要强,还是要PCI passthough,花不多说,上图吧
talk is cheap,show me the benchmark
这些图片是引用了一个up主的视频Adding VirtIO and passthrough storage in Virtual Machine Manager
这些跑分应该这样解读,顺序读写看着很快,其实只有大文件读写才用得到,主要还是看4k的速度,4k的速度,单线程和多线程都很重要,上面两个是顺序,下面两个是4k,
所以,virtio默认带缓存的时候,看起来顺序读写很吓人,其实没太大用处
- all表示执行全部任务
- SEQ1M|Q8T1表示顺序读写,位深1024K,1线程8队列的测试速度
- SEQ1M|Q1T1表示顺序读写,位深1024K,1线程1队列测试速度
- RND4K|Q32T16表示随机读写,位深1024*4K,16线程32队列的测试速度
- RND4K|Q1T1表示随机读写,位深1024*4K,一线程一队列的测试速度
SATA模式
装机的时候,可以直接识别,不需要驱动安装
LNU passthrough
virtIO模式
需要驱动
PCI passthrough
不需要驱动
自己机器的PCI passthrough
总结
简要总结,sata怎么样都不行,LNU passthrough还是不行,只有virtIO最好,当然passThrough才是最强王者
平常使用的时候,virtIO就可以了,有条件一定要passThrough
模式 | 成绩 | 注意事项 |
---|---|---|
sata | 差 | 装系统的时候不要驱动,但是性能不行,我还是装驱动吧,不过它也有自己的场景,适用于有些系统无法装驱动,比如说qemu装androidx86的时候,就无法装virtIO驱动,所以只能使用这种方式 |
lnu passthrough | 较差 | 可以利用一个分区,但是性能还是不行,我这样用还不如用virtIO的文件 |
virtIO | 良 | 可以,顺序读写不差多少,但是4k读写一半左右的性能,还不错,其实已经够用,在虚拟机里面算水平很高了 |
PCI passthrough | 优 | 只能一个sdd整个一起用,但是性能非常好,能达到80-90%的性能,有条件一定要整 |
用PCI passthrough的时候,可以看到sata的ssd速度能达到原生的80-90%(4k的多线程读写,up主80%没,我的是90%,平常还是用读的比较多),但是NVME的ssd性能损耗比较大,因为本来就很快,即便降低了1/3,
其实还是比普通的sata的ssd快,还是比较可惜,PCI passthough需要开启IOMMU,而且只能一下用整个存储,但是我还是推荐你使用,性能非常好
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 李嘉图!