一种虚拟化服务器性能的监测方法及系统技术方案

技术编号:11124337 阅读:137 留言:0更新日期:2015-03-11 14:01
本发明专利技术公开了一种虚拟化服务器性能的监测方法,包含以下步骤:虚拟机Server端在Server线程池中启动socket监听,监听客户端的链接请求;测试机Client端使用TCP、UDP或TCP/UDP混合网络协议与虚拟机server端进行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试结果;主控机Manager向客户端测试机发送测试命令,搜集并统计分布式测试测试结果;主控机Manager向虚拟机发送RPC请求,获取虚拟机各项性能指标,并以图表的形式展示出来。本发明专利技术的监测方法及系统,实现了虚拟化环境下的网络性能评测,并提供RPC实时远程监控虚拟机各项操作系统性能指标。

【技术实现步骤摘要】
一种虚拟化服务器性能的监测方法及系统
本专利技术涉及虚拟服务器领域,特别涉及一种虚拟化服务器性能的监测方法及系 统。
技术介绍
近年来随着计算机硬件的发展使得功能强大而相对便宜的多处理器服务器成为 了主流,但在许多情况下,这些硬件的性能都不能得到充分的利用,而近年来随着多核心处 理器的普及,也使得这种不充分性更加严重,这使得业界对虚拟化技术越来越重视。 虚拟化(Virtualization)技术起源于20世纪60年代的IBM大型机系统,在70 年代的System 370系列中逐渐流行起来,这些机器通过虚拟机监控器(Virtual Machine Monitor,VMM)在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。虚拟化环境提供了一个软件层,使得用户能够在同一个物理服务器内创建 多个独立的虚拟机,同时运行多个虚拟机虽然会有一些虚拟化方面的开销,但却可以使得 一台服务器得到更高的使用率。虽然这些虚拟机的基础物理资源是共享的,但每个虚拟机 完全独立的,并执行一个单独的操作系统和单独的应用软件。虚拟化作为能充分利用服务 器性能的技术现在已经是一个不可逆转的趋势,通过不同的虚拟化技术,可以有效地降低 物理服务器数量,而降低物理服务器的数量实际上也相应降低了服务器成本。[20] [21]文 献中利用虚拟化技术设计了自动化性能测试框架,该测试工具将负载生成器装载在不同的 分散的虚拟机上面,从而有效地提高了测试效率和提升了负载压力,为软件性能测试带来 很大的方便,降低测试成本。同时,通过虚拟化,客户还达到了改进服务器资源的利用率的 效果[6]。而且现在计算机越来越快的计算速度和更加强大灵活的虚拟化技术也为虚拟化 的应用创造了更多的机会,但如何衡量服务器虚拟化性能却是一个难题[2]。 传统的服务器基准测试仅侧重于对单一工作量的检验,而无法获取支持多个虚拟 机系统的性能或者是在同一个服务器上同时支持多个工作量时服务器的性能。一个更为 恰当的虚拟机基准测试应该使用运行于多个操作系统上的现实且多样的工作量对服务器 的性能加以检验,而且该基准测试应该产生一个易于理解的指标[2]。标准性能评测公司 (standard performance evaluation corporation, SPEC)在 2006 年底成立了一个委员会 专门研究虚拟化解决方案评测方法[8]。但是无论是在学术界还是在工业界,对于什么样的 方法是评测虚拟化解决方案的最好方法,一直没有达成共识[4]。 这些分歧的原因是由虚拟化本身的技术特征所决定的: 首先虚拟化是一个广义的术语,不同的应用领域代表着不同的含义。在计算机科 学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。一般来说虚拟 化技术主要分为以下几个大类[1]: 1)平台虚拟化(Platform Virtualization),针对计算机和操作系统的虚拟化; 2)资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如 内存、存储、网络资源等。 3)应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术 等。 其次,平台虚拟化技术又可以细分为全虚拟化、部分虚拟化、硬件辅助虚拟化等 [3]。 全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、夕卜 设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚 拟机中运行。操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件 接口进行的,全虚拟化VMM以完整模拟硬件的方式提供全部接口,比较典型的代表有 Vmware, VirtualBox 等。 部分虚拟化只模拟部分底层硬件,仅仅提供了对关键性计算组件或者指令集的模 拟,因此客户机操作系统不做修改是无法在虚拟机中运行的,其它程序可能也需要进行修 改,比较流行的局部虚拟化VMM有Xen,Hyper-V。 由此可见全虚拟化和部分虚拟化对虚拟机本身的整体性能也会有不同的影响,见 文献[5]。杜春阳[6]等人通过NPB的对称多处理性能表现测试比对了几种不同的虚拟化 技术在高性能计算系统和集群技术中的性能表现,基于NPB在单节点上测试了串行和并行 性能,并与原生态的NPB基准进行比对,得出了没有哪一种虚拟化技术可以完美的达到原 生系统的性能的结论以及粗略地分析了不同的VMM在不同标准中的性能表现。但文中测试 基准来源于流体动力学应用领域的软件,并不具有普遍性和代表性。 因此,针对具体的企业应用的不同选择合适的虚拟机测试方法是很有研究意义和 实用价值的。 尽管虚拟机以其在分区,隔离,和封装上的技术优势在很多领域都得到了广泛的 应用[7],但虚拟机在物理机中的运行仍会消耗部分的物理资源。虚拟机是对真实计算环境 的抽象和模拟,VMM需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器 的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。VMM调度虚拟机时,将其部分状 态恢复到主机系统中。并非所有的状态都需要恢复,例如主机CR3寄存器中存放的是VMM 设置的页表物理地址,而不是Guest OS设置的值。主机处理器直接运行Guest OS的机器 指令,由于Guest OS运行在低特权级别,当访问主机系统的特权状态(如写GDT寄存器) 时,权限不足导致主机处理器产生异常,将运行权自动交还给VMM。VMM可能需要先将该虚 拟机的当前状态写回到状态数据结构中,分析虚拟机被挂起的原因,然后代表Guest OS执 行相应的特权操作。最后VMM将运行权还给Guest 0S,Guest OS从上次被中断的地方继续 执行,或处理VMM陷入的虚拟中断和异常。由此可见大部分情况下,VMM需要经过复杂的流 程才能完成原本简单的操作,这对运行虚拟机中的应用系统整体性能会产生很大的影响。 企业或者科研机构在面对种类繁多、各有特点的虚拟化技术时,往往比较关注虚 拟化技术的性能问题。首先,虚拟化的各种技术实现提供的性能是否存在很大的差异;其 次,应用程序运行在虚拟机上与直接运行在物理机上性能上的差异有多少。 Lorenzo Martignoni [9]等人通过分别在物理机和虚拟机环境下的用户态和核心 态两种运行模式进行基于特殊协议的模糊测试和差异性分析来比较不同的虚拟机与物理 机之间的不同,但这种测试方法重心更多地放在了物理机和虚拟机功能上面的差异,性能 上的差异较少涉及。 由于虚拟机系统使用传统的存储模式导致虚拟化磁盘存储方面存在较差的性能, Dongsheng Yin[10]等人通过对VMware vSphere4. 0虚拟机进行虚实存储实验对比,给出了 一种基于SSD和基于共享的RAID阵列的I/O存储优化方案。文中只是针对虚拟机和物理 机的存储模块进行了深入研究,着重从虚拟机本身来解决虚拟机存储性能较差的问题,因 此不能从整体上对虚拟机与物理机进行整体性能分析。 通过文献[11]我们可以看出目前对虚拟机的完整的负载测试的研究不足。Marco本文档来自技高网...

【技术保护点】
一种虚拟化服务器性能的监测方法,其特征在于,包含以下顺序的步骤:S1.虚拟机Server端在Server线程池中启动socket监听,监听客户端的链接请求;S2.测试机Client端使用TCP网络协议、UDP网络协议或TCP/UDP混合网络协议与虚拟机server端进行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试结果;S3.主控机Manager向客户端测试机发送测试命令,搜集并统计分布式测试测试结果;S4.主控机Manager向虚拟机发送RPC请求,获取虚拟机各项性能指标,并以图表的形式展示出来。

【技术特征摘要】
1. 一种虚拟化服务器性能的监测方法,其特征在于,包含以下顺序的步骤:51. 虚拟机Server端在Server线程池中启动socket监听,监听客户端的链接请求;52. 测试机Client端使用TCP网络协议、UDP网络协议或TCP/UDP混合网络协议与虚拟 机server端进行Socket通信,执行测试任务,搜集测试结果,并向主控机发送测试结果;53. 主控机Manager向客户端测试机发送测试命令,搜集并统计分布式测试测试结果;54. 主控机Manager向虚拟机发送RPC请求,获取虚拟机各项性能指标,并以图表的形 式展不出来。2. 根据权利要求1所述的虚拟化服务器性能的监测方法,其特征在于,步骤S3中,所述 的搜集并统计分布式测试测试结果具体为:主控机Manager每隔3s采集一次客户端测试机 的测试结果数据,并将不同的采集数据求平均值,统计出当前的Socket传输速率。3. 根据权利要求2所述的虚拟化服务器性能的监测方法,其特征在于,步骤S3中,所述 的搜集分布式测试测试结果具体包含以下步骤: a、 RPC客户端根据目标服务器的IP地址以及portmapper的默认程序端口 111,通过 Socket套接字构造udp请求,发送请求到目标机器的portmapper应用程序询问rstatd的 程序端口号; b、 portmapper应用程序接收到请求后,查询端口与应用程序之间的映射表,并把 rstatd监控程序的端口号返回RPC客户端; c、 RPC客户端获得rstatd程序的端口号后,套...

【专利技术属性】
技术研发人员:陆璐
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1