【技术实现步骤摘要】
基于分布式虚拟机系统的软件性能测试的管理方法和系统
本专利技术涉及软件性能测试的管理,更具体地,涉及一种基于分布式虚拟机系统的软件性能测试的管理方法和系统。
技术介绍
软件的性能调试是软件质量控制的重要组成部分,软件调试的目的是检查出软件实现或配置中潜在的瑕疵,在此基础上对系统加以改进。软件调试关注的是一系列的反映软件详细运行状态的诊断信息(如一个复杂功能下多个相关函数的迭代调用次序)。为了让被测系统能够生成这些诊断信息,在运行前需要向被测系统嵌入一系列的用于产生诊断信息的调试代码(instrument)。这些代码的嵌入会使程序运行开销增加,体现出较差的系统性能,如过长的任务处理时间,加剧的响应延迟等。随着软件产品的功能越来越强大,软件产品的规模也越发庞大。通常的大型软件不是部署在同一个物理机上,而是分布式部署在多个物理机节点上。而随着虚拟机技术和云计算服务的完善和普及,越来越多的分布式系统搭建在分布式虚拟环境下。分布式虚拟机系统是由一系列广泛分布于网络中物理资源之上的虚拟机节点构成的,这些虚拟机节点之间是安全隔离且相对独立的。每个虚拟机都封装了用户应用运行所需的硬件和软件资源,这些虚拟机节点按照特定的关系协同工作,构建虚拟运行环境完成用户任务。在分布式虚拟环境中运行的软件,不同的功能组件通常分布在不同物理机上的虚拟机上,在运行时发生有层次结构的相互访问或调用,如:上一级的子任务需要调用下一级的子任务执行的结果。在进行软件的性能调试时,由于在软件中嵌入了调试代码,造成下一级子任务执行时间的延长,因此造成对上一级子任务请求的响应时间延时,甚至响应失败。这不仅 ...
【技术保护点】
一种基于分布式虚拟机系统的软件性能调试的管理方法,包括:响应于感知到当前虚拟机上的软件系统的调试状态,控制当前虚拟机的系统时间;响应于截获到其它虚拟机发送给当前虚拟机的数据分组,从所述发送给当前虚拟机的数据分组中提取出添加的其它虚拟机发送数据分组时的系统时间和基准时间;根据其它虚拟机发送数据分组时的系统时间和基准时间、截获时的基准时间计算该数据分组应该被当前虚拟机接收的时间;根据该数据分组应该被当前虚拟机接收的时间与截获时当前虚拟机的系统时间的比较结果决定是否将所述数据分组转发给当前虚拟机。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。