摘要:虚拟机可以生成数种虚拟的网络设备类型,比如常见的e1000,rtl8139,纯粹虚拟化的virtio等。在加载不同的网络设备情况下,虚拟机的通讯效率如何呢?本文就是具体的测试过程和结果的记录。
简介
KVM虚拟机可以生成数种虚拟的网络设备类型,比如常见的e1000,rtl8139,纯粹虚拟化的virtio,兼容老式网卡的ne2k_pci,pcnet等。本文测试单台虚拟机在加载不同的网络设备情况下,虚拟机对外服务的通讯效率。
测试方法
网络通讯是一个复杂的过程,都很多外部因素影响。因此本此测试构造一个单纯的测试环境,把外部因素的影响尽量降低到最低,用简单的方法,单纯地测试虚拟网络设备的通讯效率,而且主要记录服务带宽(吞吐量)数据,其他如时延,差错等都不做考虑。
测 试的具体方法是构造一个封闭的100M网络,两台物理主机,其中一台作为宿主机P1并安装运行一台虚拟机V,另一台作为客户机P2,运行 scp命令,用ssh的方法从主机V拷贝一个500M文件到自身硬盘。scp命令会汇总报告远程拷贝的速度,以此作为吞吐量数据记录。每次虚拟机需要关机并通过virt-manager修改虚拟网卡的类型,然后重新启动,验证虚拟网卡正确加载,scp,重复这个过程至几种主要的kvm支持的虚拟网卡类型都被测试。
测试步骤:
1、修改虚拟网卡类型。
2、启动虚拟机V。
3、登录V的控制台,分别用命令
# lspci | grep Ethernet
# ethtool -i eth0
# dmesg | grep eth0
验证虚拟网卡是否正常加载;
4、登录P2控制台,运行scp,从V拷贝一个500M文件到P2。
5、记录scp报告的吞吐量数据。
6、关闭V,重复上面过程。
测试环境