Kvm虚拟化性能测试与性能优化实践

您所在的位置:网站首页 群晖虚拟机性能损耗 Kvm虚拟化性能测试与性能优化实践

Kvm虚拟化性能测试与性能优化实践

2023-12-04 09:11| 来源: 网络整理| 查看: 265

Kvm虚拟化性能测试与性能优化实践_性能测试

1.环境介绍

1.1测试简介

本次测试是针对KVM虚拟化在CPU、内存、磁盘、网络4大方面的全面性能测试与性能优化实践,目的在于通过对比测试,找出最适合我们所使用的硬件与软件架构的最佳优化配置,为OpenStack实现更高的性能提供支持。

 

1.2 硬件环境介绍

本次测试中,我们将通过OpenStack平台作为虚拟机管理工具,并且所有的用于测试的虚拟机都均运行在同一台物理机上:

Kvm虚拟化性能测试与性能优化实践_性能优化_02

1.3 软件环境介绍

下面介绍一下本次测试的主机的软件环境:

Kvm虚拟化性能测试与性能优化实践_kvm_03

以上就是本次KVM虚拟化测试所在主机的软件环境,其中值得注意的是Kvm和Libvirt的版本。

1.4 虚拟机测试用例

为了保证测试的科学严谨性,我们将选用同等规格的KVM虚拟机,在openstack中我们统一选用m1.small规格,即1颗vCPU、2G内存、系统磁盘为20G。

Kvm虚拟化性能测试与性能优化实践_性能优化_04

我们的虚拟机统一通过openstack来做创建、终止等操作,这样既保证了创建等操作不会因为人为操作失误而产生偏差,同时也使本次测试的结果为OpenStack的Hypervisor选型提供参考。

2. CPU部分

在虚拟化技术的发展过程中,我们可以看到也是CPU技术飞速发展的阶段,同时,这也说明了虚拟化对于CPU的要求是硬性的,即很难通过更加优秀的策略和算法来大量地提升性能。

但是,在这个追求高效低碳的时代,性能上的一点点提升都是值得我们去努力探索的。

 

2.1 虚拟机CPU性能将损失多少?

在KVM虚拟化的CPU使用机制中,虚拟机的vCPU在虚拟机内部实现的各种调度对于宿主机的CPU是透明,每个vCPU对于物理CPU来说仅仅相当于一个进程,通过不同虚拟机不同优先级的情况来将CPU的核心分配给vCPU独占使用。

这样,我们不禁想知道,在KVM虚拟机中使用vCPU和宿主机中使用物理CPU,中间的性能损失有多少呢?

 

2.1.1 环境介绍

下面,我们将利用一个由C++编写的“找出1-1千万以内的质数”程序,在虚拟机和宿主机中分别进行测试,利用time工具查看他们分别需要多少的时间,以此来判断CPU的性能。

值得注意的是,我们的虚拟机分配了1颗vCPU,但是由于我们编写的测试程序是单线程的,所以在宿主机和虚拟机中运行都只能使用到1颗CPU核心,保证了测试的严谨性。

并且,该程序不会因为内存问题而使得宿主机和虚拟机的测试产生偏差,因为对于改程序来说其需要的内存在虚拟机上也是完全满足的。

以下是测试所用程序的源码:

#include #include using namespace std; static int num=100000000; int main(){          bool *array=new bool[num+1];        array[0]=false;        array[1]=false;        for(int i=2;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3