基于分布式虚拟机系统的软件性能测试的管理方法和系统技术方案

技术编号:10387304 阅读:133 留言:0更新日期:2014-09-05 12:57
本发明专利技术公开了一种基于分布式虚拟机系统的软件性能调试的管理方法和系统,该方法包括:响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;根据该数据分组应该被当前虚拟机接收的时间以及截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。

【技术实现步骤摘要】
基于分布式虚拟机系统的软件性能测试的管理方法和系统
本专利技术涉及软件性能测试的管理,更具体地,涉及一种基于分布式虚拟机系统的软件性能测试的管理方法和系统。
技术介绍
软件的性能调试是软件质量控制的重要组成部分,软件调试的目的是检查出软件实现或配置中潜在的瑕疵,在此基础上对系统加以改进。软件调试关注的是一系列的反映软件详细运行状态的诊断信息(如一个复杂功能下多个相关函数的迭代调用次序)。为了让被测系统能够生成这些诊断信息,在运行前需要向被测系统嵌入一系列的用于产生诊断信息的调试代码(instrument)。这些代码的嵌入会使程序运行开销增加,体现出较差的系统性能,如过长的任务处理时间,加剧的响应延迟等。随着软件产品的功能越来越强大,软件产品的规模也越发庞大。通常的大型软件不是部署在同一个物理机上,而是分布式部署在多个物理机节点上。而随着虚拟机技术和云计算服务的完善和普及,越来越多的分布式系统搭建在分布式虚拟环境下。分布式虚拟机系统是由一系列广泛分布于网络中物理资源之上的虚拟机节点构成的,这些虚拟机节点之间是安全隔离且相对独立的。每个虚拟机都封装了用户应用运行所需的硬件和软件资源,这些虚拟机节点按照特定的关系协同工作,构建虚拟运行环境完成用户任务。在分布式虚拟环境中运行的软件,不同的功能组件通常分布在不同物理机上的虚拟机上,在运行时发生有层次结构的相互访问或调用,如:上一级的子任务需要调用下一级的子任务执行的结果。在进行软件的性能调试时,由于在软件中嵌入了调试代码,造成下一级子任务执行时间的延长,因此造成对上一级子任务请求的响应时间延时,甚至响应失败。这不仅对调试本身的顺利进行产生影响,还排除了在软件调试的过程中并发高效的进行其它任务(如:软件性能测试)的可能性。因此需要一种在分布式虚拟环境中进行软件性能调试的管理方法。
技术实现思路
根据本专利技术的一个方面,提供了一种基于分布式虚拟机系统的软件性能调试的管理方法,包括:响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。根据本专利技术的另一个方面,提供了一种基于分布式虚拟机系统的软件性能调试的管理系统,包括:时间控制模块,被配置为响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;时间提取模块,被配置为响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;时间计算模块,被配置为根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;数据分组处理模块,被配置为根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。根据本专利技术实施例的基于分布式虚拟机系统的软件性能调试的管理方法通过对运行在各个节点上的虚拟机的系统时间进行控制来排除调试代码对系统运行时间的干扰,使得在软件性能调试的过程中实现并发高效地执行其它任务,而不受到软件性能调试的影响。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图。图2示出根据本专利技术实施例的虚拟化系统中单个节点的示意图。图3示出根据本专利技术实施例的基于分布式虚拟机系统的软件性能调试的管理方法。图4示出虚拟机上的软件系统进行I/O操作的性能调试的示例。图5示出根据本专利技术实施例的基于分布式虚拟机系统的软件性能调试的管理系统500。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本专利技术操作的计算机程序代码,所述程序设计语言包括面向连接的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。下面将参照本专利技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本专利技术。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都本文档来自技高网
...
基于分布式虚拟机系统的软件性能测试的管理方法和系统

【技术保护点】
一种基于分布式虚拟机系统的软件性能调试的管理方法,包括:响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。

【技术特征摘要】
1.一种基于分布式虚拟机系统的软件性能调试的管理方法,包括:响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。2.根据权利要求1所述的管理方法,其中响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间包括:响应于接收到当前虚拟机上的软件系统发出的即将执行调试代码的通知,暂停所述当前虚拟机的系统时钟的计时;以及响应于接收到当前虚拟机上的软件系统发出的调试代码执行完毕的通知,恢复所述当前虚拟机的系统时钟的计时。3.根据权利要求2所述的管理方法,其中根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机包括:响应于该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的差值的绝对值小于或等于预定义的时间精度阈值,将所述数据分组立刻转发给当前虚拟机;响应于该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的差值大于预定义的时间精度阈值,将所述数据分组缓存至数据分组缓存队列中,直到当前虚拟机的系统时间等于该数据分组应该被当前虚拟机接收的时间,则将该数据分组转发给当前虚拟机;响应于截获时当前虚拟机的系统时间与该数据分组应该被当前虚拟机接收的时间的差值大于预定义的时间精度阈值,将该数据分组丢弃。4.根据权利要求1所述的管理方法,还包括:响应于截获到当前虚拟机发送给其它虚拟机的数据分组,从所述当前虚拟机发送给其它虚拟机的数据分组中解析出当前虚拟机的地址;根据当前虚拟机的地址获取当前虚拟机在向其它虚拟机发送数据分组时的系统时间和基准时间;向所述当前虚拟机发送给其它虚拟机的数据分组中添加当前虚拟机向其它虚拟机发送数据分组时的系统时间和基准时间。5.根据权利要求3所述的管理方法,还包括:响应于感知到当前虚拟机以面向连接的模式向其它虚拟机发送数据分组的操作,截获当前虚拟机向其它虚拟机发送的数据分组;暂停该当前虚拟机的运行;响应于在数据分组缓存队列中查找到其它虚拟机发出的确认收到的数据分组,获取该确认收到的数据分组应该被当前虚拟机接收的时间;响应于该确认收到的数据分组应该被当前虚拟机接收的时间大于当前虚拟机在当前时刻的系统时间,继续该当前虚拟机的运行。6.根据权利要求3所述的管理方法,还包括:响应于感知到当前虚拟机以非阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于当前虚拟机在当前时刻的系统时间;2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于当前虚拟机的系统时间。7.根据权利要求3所述的管理方法,还包括:响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于以阻塞模式执行接收操作的超时时间点;2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于以阻塞模式执行接收操作的超时时间点。8.根据权利要求3所述的管理方法,还包括:响应于感知到当前虚拟机以阻塞模式从其它虚拟机接收数据分组的操作,暂停该当前虚拟机的运行;对于每个可能向该当前虚拟机发送数据分组的其它虚拟机,如果满足以下条件之一,则继续该当前虚拟机的运行:1)可能向该当前虚拟机发送数据分组的其它虚拟机在缓存队列中缓存有至少一个数据分组并且所述数据分组应该被当前虚拟机接收的时间大于或等于时间点T,其中时间点T大于当前虚拟机的系统时间但小于以阻塞模式执行接收操作的超时时间点;2)查询到可能向当前虚拟机发送数据分组的其它虚拟机的系统时间已经大于或等于时间点T。9.一种基于分布式虚拟机系统的软件性能调试的管理系统,包括:时间控制模块,被配置为响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;时间提取模块,被配置为响应于截获到其它虚...

【专利技术属性】
技术研发人员:胡国强杨博王宜敏王健李起成
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1