论文部分内容阅读
随着计算机硬件技术和体系结构的迅速发展,计算机系统日趋强大的计算能力和相对落后的计算模式之间的矛盾日益突出。虚拟化技术能够在快速发展的硬件平台和复杂多变的应用需求之间找到新的平衡点,因而在多个领域取得了广泛的应用。Intel公司的硬件辅助虚拟化技术弥补了软件虚拟化技术性能降低较大的缺陷,进一步促进了虚拟化技术的发展和成熟,使得虚拟机具有“接近真实机器”的性能表现。但是,由于虚拟化技术在多数情况下会带来一定程度的性能损耗,因此对虚拟化系统的性能进行测试是必不可少的。本文在总结现有虚拟化技术和传统计算机系统的性能测试理论的基础上,介绍了虚拟化系统性能测试的方法和规范以及基于Intel VT技术的虚拟化系统在CPU、内存和I/O操作三个方面虚拟化的实现机制。通过测试和比较Xen与Kvm在CPU、内存、硬盘和网络等方面的性能,分析了常见虚拟机管理器的性能影响因素。本文具体工作如下:首先,根据抽象程度的不同,将现有虚拟化技术分成不同的层次,介绍了各个层次上的虚拟化技术特点和X86平台下虚拟化的两种实现方案—全虚拟化和半虚拟化,并重点讨论了与软件虚拟化相补充的硬件辅助虚拟化技术在CPU、内存和I/O三个方面的实现机制。其次,在确定了虚拟化系统性能测试指标后,总结了可用于虚拟化系统性能测试的方法,并详细介绍了计算机系统现有的各种测试规范以及虚拟化系统性能测试规范的现状。再次,在研究了两个常见开源虚拟机管理器Xen和Kvm的实现机制基础上,基于不同的测试环境测试和比较了两者在CPU、内存、硬盘、网络和数据库等方面的性能表现,并分析了两者在上述几方面性能降低的原因。最后,基于上述测试方法的总结及对虚拟机管理器的性能测试和虚拟化系统现有测试程序与工具的研究,设计了一个虚拟化系统性能隔离测试套件—VMIBench,并详细介绍了其中的测试机制、基本测试方案和压力测试方案。