一种压力测试方法及系统的制作方法

文档序号:6371205阅读:206来源:国知局
专利名称:一种压力测试方法及系统的制作方法
技术领域
本发明属于即时通信领域,尤其涉及一种压力测试方法及系统。
背景技术
随着网络化社会的不断进步,越来越多的即时通讯工具应用到工作和生活中,t匕如飞信、MSN和一些企业版应用软件等。其中,视频会议软件得到了广泛推广,目前,在云会议等大型的网络会议中,要保证会议流畅和数据完整性,对网络通信服务器提出了更高的要求。为了确保网络服务器在大量业务流并发的情况下高效运行,必须在上线前测试时模拟出大用户量高并发业务情景,然而在实际的压力测试过程中,多数仅凭经验设置用于测试的虚拟用户数量,对于多用户高并发业务的压力状况,并没有精确控制的方法。

发明内容
本发明提供一种压力测试方法及系统以解决上述问题。本发明提供一种压力测试方法,包括以下步骤。预设虚拟用户的初始化数量,根据所述初始化数量分别计算不同操作类型对应的单个虚拟用户的CPU占用率,并根据所述计算结果计算在CPU满载时所述不同操作类型各自对应的虚拟用户的最大并发量。获取所述不同操作类型对应的各最大并发量中的最小值,配置所述最小值数量的虚拟用户作所述不同操作类型的并发测试。本发明提供一种压力测试系统,包括计算模块及处理模块,所述计算模块连接所述处理模块。所述计算模块,用于预设虚拟用户的初始化数量,根据所述初始化数量分别计算不同操作类型对应的单个虚拟用户的CPU占用率,并根据所述计算结果计算在CPU满载时所述不同操作类型各自对应的虚拟用户的最大并发量。所述处理模块,用于获取所述不同操作类型对应的各最大并发量中的最小值,配置所述最小值数量的虚拟用户作所述不同操作类型的并发测试。相较于先前技术,根据本发明提供的压力测试方法及系统,通过预设虚拟用户的初始化数量并计算不同操作类型对应的单个虚拟用户的CPU占用率,根据所述计算结果计算在CPU满载时所述不同操作类型各自对应的虚拟用户的最大并发量。获取所述不同操作类型对应的各最大并发量中的最小值,配置所述最小值数量的虚拟用户作所述不同操作类型的并发测试。如此,实现了压力测试中最大虚拟用户数量值的快速定位,同时增强了测试的数据真实性。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I所示为根据本发明的较佳实施例提供的压力测试方法的流程图;图2所示为根据本发明的较佳实施例提供的压力测试系统的示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图I所示为根据本发明的较佳实施例提供的压力测试方法的流程图。如图I所示,本发明的较佳实施例提供的压力测试方法包括步骤IOf 102。步骤101 :预设虚拟用户的初始化数量,根据所述初始化数量分别计算不同操作类型对应的单个虚拟用户的CPU占用率,并根据所述计算结果计算在CPU满载时所述不同操作类型各自对应的虚拟用户的最大并发量。具体而言,所述不同操作类型对应的单个虚拟用户的CPU占用率的计算方法为,获取不同操作类型对应的所述初始化数量虚拟用户对应的操作类型的CPU占用率,用所述不同操作类型对应的初始化数量虚拟用户的CPU占用率除以所述初始化数量,即为所述不 同操作类型对应的单个虚拟用户的CPU占用率。其中,不同操作类型包括建立连接、登录、发送消息、退出及断开连接。当分别计算得出每种操作类型对应的单个虚拟用户的CPU占用率后,根据CPU占用率为100%的前提条件,可计算理论上的每种操作类型对应的虚拟用户的最大并发量,计算方法为100%除以不同操作类型对应的单个虚拟用户的CPU占用率。举例而言,若预设虚拟用户的初始化数量为1000,且不同操作类型对应的所述1000个虚拟用户的CPU占用率分别如表I所示。以表I中的登录操作为例,计算得出单个虚拟用户的CPU占用率为50%/1000=0. 05%,则登录操作的虚拟用户的最大并发量为100%/0. 05%=2000。各操作类型对应的虚拟用户的最大并发量例如表I所示。
初始化数量mm]单个虚拟用户I虛拟用户的
初始化数《 操作:类甩
}'1的C PU占J11率 CPU占JIJ半 Jft大并发M1000建立连接40%0.04%2500
1000w>k50%0.05%2000
購0...................................发送消息.....................................................60%0.06%1666
ioioIliHii%iii%iiii
===1000議:迕接^40%^0.04%2500^~表I步骤102 :获取所述不同操作类型对应的各最大并发量中的最小值,配置所述最小值数量的虚拟用户作所述不同操作类型的并发测试。具体而言,为避免虚拟用户并发量过大导致系统在测试过程中崩溃,将虚拟用户最大并发量取值为不同操作类型对应的各最大并发量中的最小值。在按所述最小值作为虚拟用户的最大并发量作不同操作类型的并发测试过程中,监控所述并发测试运行状态若测试正常,则动态增加所述虚拟用户数量;若测试出现错误,则动态减少所述虚拟用户数量。最后以测试正常与测试出现错误的临界状态的虚拟用户数量,作为最终的虚拟用户的最大并发量。在本实施例中,测试过程中每次动态调整的虚拟用户数量,可根据实际应用自行设置,对此本发明并不作限定。举例而言,在表I的各操作类型的虚拟用户的最大并发量中,取最小值1666作为虚拟用户数开始作并发测试。若所述并发测试正常,接下来对所述虚拟用户数进行动态增力口,例如每次增加100个虚拟用户数,即以1766作为虚拟用户数再次作并发测试。若所述测试仍正常,则继续增加虚拟用户数,直到所述测试报错。若当虚拟用户数为2166时,并发测试仍正常,且当虚拟用户数为2266时,并发测试 出现错误,则可选取测试报错与测试正常的临界虚拟用户数例如2166为最终的虚拟用户的最大并发量。除上述实施例提供确定虚拟用户的最大并发量的方法,本发明又一较佳实施例还提供一种确定虚拟用户的最大并发量的方法为在单次并发测试过程中,记录多个并发虚拟用户数并获取其中的最大值,作为本次测试的虚拟用户最大并发量。用同样的方法多次重复测试,可得到多个虚拟用户最大并发量。将所述多次并发测试的虚拟用户最大并发量加权求和,即为最终的虚拟用户的最大并发量。其中,所述多次虚拟用户最大并发量对应的权值之和为1,具体每个虚拟用户最大并发量各自对应的权值根据实际需要自行设置,对此本发明不作限定。图2所示为根据本发明的较佳实施例提供的压力测试系统的示意图。如图2所示,本发明的较佳实施例提供的压力测试系统包括计算模块201及处理模块202,所述计算模块201连接所述处理模块202。所述计算模块201,用于预设虚拟用户的初始化数量,根据所述初始化数量分别计算不同操作类型对应的单个虚拟用户的CPU占用率,并根据所述计算结果计算在CPU满载时所述不同操作类型各自对应的虚拟用户的最大并发量。所述处理模块202,用于获取所述不同操作类型对应的各最大并发量中的最小值,配置所述最小值数量的虚拟用户作所述不同操作类型的并发测试。关于上述系统的具体操作流程同上述方法所述,故于此不再赘述。综上所述,根据本发明较佳实施例提供的压力测试方法及系统,通过预设虚拟用户的初始化数量并分别计算不同操作类型对应的单个虚拟用户的CPU占用率,根据所述计算结果计算在CPU满载时所述不同操作类型各自对应的虚拟用户的最大并发量。获取所述不同操作类型对应的各最大并发量中的最小值,配置所述最小值数量的虚拟用户作所述不同操作类型的并发测试。如此,可以快速定位并发压力测试中的最大用户数,也增加了数据的真实性。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种压力测试方法,其特征在于,包括以下步骤 预设虚拟用户的初始化数量,根据所述初始化数量分别计算不同操作类型对应的单个虚拟用户的CPU占用率,并根据所述计算结果计算在CPU满载时所述不同操作类型各自对应的虚拟用户的最大并发量; 获取所述不同操作类型对应的各最大并发量中的最小值,配置所述最小值数量的虚拟用户作所述不同操作类型的并发测试。
2.根据权利要求I所述的方法,其特征在于,监控所述并发测试运行状态,当所述并发测试正常时,动态增加所述虚拟用户数量,当所述并发测试出现错误时,动态减少所述虚拟用户数量。
3.根据权利要求I所述的方法,其特征在于,所述不同操作类型对应的单个虚拟用户的CPU占用率的计算方法为,获取不同操作类型对应的所述初始化数量虚拟用户的CPU占用率,用所述不同操作类型对应的所述初始化数量虚拟用户的CPU占用率除以所述初始化 数量,即为所述不同操作类型对应的单个虚拟用户的CPU占用率。
4.根据权利要求I或3所述的方法,其特征在于,每种操作类型对应的虚拟用户的最大并发量的计算方法为,100%除以单个虚拟用户在对应操作类型的CPU占用率。
5.根据权利要求I所述的方法,其特征在于,所述操作类型包括建立连接、登录、发送消息、退出及断开连接。
6.一种压力测试系统,其特征在于,包括计算模块及处理模块,所述计算模块连接所述处理模块, 所述计算模块,用于预设虚拟用户的初始化数量,根据所述初始化数量分别计算不同操作类型对应的单个虚拟用户的CPU占用率,并根据所述计算结果计算在CPU满载时所述不同操作类型各自对应的虚拟用户的最大并发量; 所述处理模块,用于获取所述不同操作类型对应的各最大并发量中的最小值,配置所述最小值数量的虚拟用户作所述不同操作类型的并发测试。
全文摘要
本发明提供一种压力测试方法及系统。本发明方法包括以下步骤。预设虚拟用户的初始化数量,根据所述初始化数量分别计算不同操作类型对应的单个虚拟用户的CPU占用率,并根据所述计算结果计算在CPU满载时所述不同操作类型各自对应的虚拟用户的最大并发量。获取所述不同操作类型对应的各最大并发量中的最小值,配置所述最小值数量的虚拟用户作所述不同操作类型的并发测试。
文档编号G06F11/22GK102750211SQ20121018960
公开日2012年10月24日 申请日期2012年6月11日 优先权日2012年6月11日
发明者胡加明 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1