一种性能测试结果分析方法和装置
文献发布时间:2023-06-19 10:19:37
技术领域
本发明涉及计算机技术领域,尤其涉及一种性能测试结果分析方法。
背景技术
在性能测试领域邻域中响应时间是一种重要的性能指标之一。直接利用性能监控工具或性能测试工具的响应时间结果数据,设置响应时间数据的阈值,当阈值不达标时,给出警告信息,或人为查询数据确定潜在的问题。在线有现有性能测试过程中,不同的软、硬件测试环境下其响应时间差别比较大,需要人为评估性能测试结果的有效性和准确性。现有技术中的性能图形分析一般采用时间序列作为X轴,Y轴为当时时间邻域中的平均响应时间,同时可以配合其它性能指标做折线做为Y轴信息进行性能分析。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1.对于结果数据分析比较片面,对响应时间的频率变化的过程和整体情况,监控手段比较单一,而且基于报警的分析过程比较依靠人工经验。
2.现有技术中的性能图形分析采用基于时间序列与时间序列的邻域内的响应时间平均值来描绘性能分析结果,但对于大范围内时间序列数据收集较困难,对于其时间序列对应的邻域范围也较验选择,不利于历史数据的分析,且对于多应用、多实例的情况也不方便分析。
3.由于基于时间序列数据,对于时间不一致、异步处理等情况难于进行响应时间的关联。
发明内容
有鉴于此,本发明实施例提供一种性能测试结果分析方法,能够解决现有技术中根据性能图形依靠人工经验分析性能测试结果的技术问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种性能测试结果分析方法,包括:获取设定时间段内服务器的响应数据,根据所述响应数据确定服务器的响应时间和所述响应时间产生的次数;根据服务器的响应时间和所述响应时间产生的次数,确定响应时间的预期正态分布数据和响应时间的实际分布数据;基于所述响应时间的预期正态分布数据和响应时间的实际分布数据,确定预期正态分布数据和实际分布数据的拟合相似度;若所述拟合相似度大于设定阈值,则性能测试结果有效;否则,性能测试结果无效。
可选地,根据所述响应数据确定服务器的响应时间和所述响应时间产生的次数,包括:根据所述响应数据,生成以响应时间为键的multimap结构的数据,所述键对应的值为1;根据所述multimap结构的数据,生成以响应时间为键、以所述响应时间产生的次数为值的map结构的数据。
可选地,根据服务器的响应时间和所述响应时间产生的次数,确定响应时间的预期正态分布数据和响应时间的实际分布数据,包括:对所述map结构的数据进行补全处理,得到补全后的map数据;根据所述map结构的数据,确定响应时间的总量、平均值、标准差;基于所述补全后的map数据,结合响应时间的平均值、标准差,确定所述补全后的map数据中的键对应值的正态分布值;根据所述补全后的map数据中的键与所述键对应值的正态分布值,生成第一map数据,并将所述第一map数据作为响应时间的预期正态分布数据;基于所述补全后的map数据,将所述补全后的map数据中的键对应值与所述响应时间的总量作为所述键对应值的频率值;根据所述补全后的map数据中的键与所述键对应值的频率值,生成第二map数据,并将所述第二map数据作为响应时间的实际分布数据。
可选地,基于所述响应时间的预期正态分布数据和响应时间的实际分布数据,确定预期正态分布数据和实际分布数据的拟合相似度,包括:将第一map数据中的键对应值转换为第一多维向量,将第二map数据中的键对应值转换为第二多维向量;将第一多维向量和第二多维向量的余弦绝对值作为预期正态分布数据和实际分布数据的拟合相似度。
可选地,根据所述响应数据确定服务器的响应时间和所述响应时间产生的次数之后,所述方法还包括:以服务器的响应时间为X轴、所述响应时间产生的次数为Y轴,生成二维图像。
根据本发明实施例的另一个方面,提供了一种性能测试结果分析装置,包括:数据汇总模块,用于:获取设定时间段内服务器的响应数据,根据所述响应数据确定服务器的响应时间和所述响应时间产生的次数;数据处理模块,用于:根据服务器的响应时间和所述响应时间产生的次数,确定响应时间的预期正态分布数据和响应时间的实际分布数据;数据拟合模块,用于:基于所述响应时间的预期正态分布数据和响应时间的实际分布数据,确定预期正态分布数据和实际分布数据的拟合相似度;数据分析模块,用于:若所述拟合相似度大于设定阈值,则性能测试结果有效;否则,性能测试结果无效。
可选地,所述数据汇总模块,还用于:根据所述响应数据,生成以响应时间为键的multimap结构的数据,所述键对应的值为1;根据所述multimap结构的数据,生成以响应时间为键、以所述响应时间产生的次数为值的map结构的数据。
可选地,所述数据处理模块,还用于:对所述map结构的数据进行补全处理,得到补全后的map数据;根据所述map结构的数据,确定响应时间的总量、平均值、标准差;基于所述补全后的map数据,结合响应时间的平均值、标准差,确定所述补全后的map数据中的键对应值的正态分布值;根据所述补全后的map数据中的键与所述键对应值的正态分布值,生成第一map数据,并将所述第一map数据作为响应时间的预期正态分布数据;基于所述补全后的map数据,将所述补全后的map数据中的键对应值与所述响应时间的总量作为所述键对应值的频率值;根据所述补全后的map数据中的键与所述键对应值的频率值,生成第二map数据,并将所述第二map数据作为响应时间的实际分布数据。
可选地,所述数据拟合模块,还用于:将第一map数据中的键对应值转换为第一多维向量,将第二map数据中的键对应值转换为第二多维向量;将第一多维向量和第二多维向量的余弦绝对值作为预期正态分布数据和实际分布数据的拟合相似度。
可选地,其特征在于,所述装置还包括图像生成模块,用于:以服务器的响应时间为X轴、所述响应时间产生的次数为Y轴,生成二维图像。
根据本发明实施例的再一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明第一方面实施例提供的性能测试结果分析方法。
根据本发明实施例的再一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如本发明第一方面实施例提供的性能测试结果分析方法。
上述发明中的一个实施例具有如下优点或有益效果:采用计算响应时间实际的概率分布与理论的正态分布概率拟合度的技术手段,所以克服了依靠人工经验分析性能测试结果的技术问题,进而达到提升对性能测试结果分析的准确率和效率的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的性能测试结果分析方法的基本流程的示意图。
图2是根据本发明实施例的multimap数据结构和map数据结构的示意图。
图3是根据本发明实施例的对map结构的数据进行补全处理的示意图。
图4是根据本发明实施例的响应时间的预期正态分布数据和响应时间的实际分布数据的示意图。
图5是现有技术中性能图形分析示意图。
图6是根据本发明实施例的性能测试结果分析装置的基本模块的示意图。
图7是本发明实施例可以应用于其中的示例性系统架构图。
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的性能测试结果分析方法的基本流程的示意图。如图1所示,本发明实施例提供了一种性能测试结果分析方法,包括:
步骤S101.获取设定时间段内服务器的响应数据,根据所述响应数据确定服务器的响应时间和所述响应时间产生的次数;
步骤S102.根据服务器的响应时间和所述响应时间产生的次数,确定响应时间的预期正态分布数据和响应时间的实际分布数据;
步骤S103.基于所述响应时间的预期正态分布数据和响应时间的实际分布数据,确定预期正态分布数据和实际分布数据的拟合相似度;
步骤S104.若所述拟合相似度大于设定阈值,则性能测试结果有效;否则,性能测试结果无效。
本发明实施例采用计算响应时间实际的概率分布与理论的正态分布概率拟合度的技术手段,所以克服了依靠人工经验分析性能测试结果的技术问题,进而达到提升对性能测试结果分析的准确率和效率的技术效果。
本发明实施例的步骤S101中,根据所述响应数据确定服务器的响应时间和所述响应时间产生的次数,包括:根据所述响应数据,生成以响应时间为键的multimap结构的数据,所述键对应的值为1;根据所述multimap结构的数据,生成以响应时间为键、以所述响应时间产生的次数为值的map结构的数据。其中,map数据是一种键值对结构的数据,同时具有自动按键(key)进行排序的功能;而multimap结构的数据是一种特殊的map数据,即是一种允许key重复的map结构的数据。
响应时间的数据一般是会在多个服务器中存在,此类数据通常有多种来源,可以是监控系统,数据库创建修改时间,应用日志,不同来源的获取方式、内容和效率相差比较大,因此本方案采用多线程读取,对于拥有监控数据的响应时间而言,可以从监控数据中直接获取,对于没有监控数据信息的应用,需要从业务日志和系统数据库中过滤出待分析请求操作对应的完成时间。也可以从发起请求的应用里获得开始请求时间和服务应答时间,计算时间差得到响应时间,该响应时间通常会包括网络的通信时间,一般采用被调用服务器本地的响应时间,但仍会满足响应时间的正态分布的相似度,因为内网中网络间数据传输用时较少,总响应时间也较短,不会改变该特性。
每台服务器上的数据利用多线程读取获得相同时间段时间内的响应时间的全部数据,例如一台服务器实例上一个自然日的完整响应时间。
响应时间以毫秒为单位,例如响应时间为100ms,追加到multimap中,key为100的,键对应的值(value)为1这个节点。Multimap具有非常高的运行效率,可以应对大量的响应时间数据。
获得响应时间后并插入到一个独立的multimap数据结构中,multimap中元素的数量,即为该服务器上的总数量。元素就是指存放的键值对,键名key为响应时间,键值value为1次。
每台服务器的结果数据汇总到一个map中,多线程遍历每台服务器中的数据,每个线程逐一处理每个multimap中的key,获得该key在每台服务器上出现的次数总和(因为每个key对应的value为1),由于存在自动排序功能,每个服务器的multimap中相同的key的元素,会连续存在,因此可以较高效率的获得相同key的出现次数,即该时间长度下的响应时间的总次数,将该值作为新value,加线程锁插入到map中,直到所有的multmap中的元素均被处理完成为止。
图2是根据本发明实施例的multimap数据结构和map数据结构的示意图。如图2所示,图中每一个线程中创建一个multimap数据结构,该结构中的key为响应时间、value为1表示一次,按升序排序,相同值的key会被聚合在一个区间中。图中最后的数据链接结构用于表示map数据结构,该结构中的key为响应时间、value为该响应时间产生的总次数,按升序排序。
本发明实施例的步骤S102中,根据服务器的响应时间和所述响应时间产生的次数,确定响应时间的预期正态分布数据和响应时间的实际分布数据,包括:对所述map结构的数据进行补全处理,得到补全后的map数据;根据所述map结构的数据,确定响应时间的总量、平均值、标准差;基于所述补全后的map数据,结合响应时间的平均值、标准差,确定所述补全后的map数据中的键对应值的正态分布值;根据所述补全后的map数据中的键与所述键对应值的正态分布值,生成第一map数据,并将所述第一map数据作为响应时间的预期正态分布数据;基于所述补全后的map数据,将所述补全后的map数据中的键对应值与所述响应时间的总量作为所述键对应值的频率值;根据所述补全后的map数据中的键与所述键对应值的频率值,生成第二map数据,并将所述第二map数据作为响应时间的实际分布数据。
对于限制内存的环境中,也可以将生成multimap数据的过程忽略,直接在线程将次数逐一求和计算,但性能会比较慢,每次都需定位key,判断key是否存在,并取对应的value进行求和。
图3是根据本发明实施例的对map结构的数据进行补全处理的示意图。如图3所示,循环遍历从最小时间到最大时间中的每一个时间值,即时间间隔为1ms的响应时间,如果该响应时间在map中该时间值的key不存在,则在map中插入该key,并初始化value为0。
遍历该补全后的map,计算有效数据,即value不为0的节点数据,响应时间的总数量、平均值、标准差(这里是根据未补全的数据进行计算的)。
遍历补全后的map数据,计算每个value值对应的正态分布的结果,
f(x)=1/(√2π×标准差)×e^(-((x-平均值)x^2)/(2×标准差x^2));
x表示key值,f(x)表示value值对应的正态分布值。将这两个值放入到第一map中。
遍历该map,计算每个value值对应的频率,即value除以总数量,该结果存放到第二map中。该map元素次序与之前计算的响应时间的map的元素次序一致,同时其元素总数相同,即从低到高的所有响应时间升序排序。
本发明实施例的步骤S103中,基于所述响应时间的预期正态分布数据和响应时间的实际分布数据,确定预期正态分布数据和实际分布数据的拟合相似度,包括:将第一map数据中的键对应值转换为第一多维向量,将第二map数据中的键对应值转换为第二多维向量;将第一多维向量和第二多维向量的余弦绝对值作为预期正态分布数据和实际分布数据的拟合相似度。
图4是根据本发明实施例的响应时间的预期正态分布数据和响应时间的实际分布数据的示意图。如图4所示,X轴为响应时间值,Y轴为该响应时间产生的次数,计算拟合相似度,即两者的相似度。考虑到数据的维度,即某一理论值的响应时间在实际值的响应时间上无数据,也考虑到响应时间次数的多少,可以很好的度量两者间的相似程度。
两个map数据结构中的key次序与相同次序下key值是相同的,因此只考虑value的情形。将两个map中的value数据转换为多维向量,将已升序的Map数据结构转换为线性表,两个向量的维度相同。例如一个map{10ms->20次,11ms->30次,12ms->50次,...},转换为一个多维向量[20次,30次,50次],转换为向量以后不再有原有的键名key数据了,但两者均以升序排序,由于前面进行了补全数据,因此向量的维度也相同。
本发明实施例中可以计算两个多维向量的余弦相似度作为拟合相似度。余弦的计算的结果为-1到1之间,取余弦的绝对值作为余弦相似度。如果两者间的拟合相似度大于预定的阈值,则说明性能测试结果中的响应时间满足正态分布,性能测试结果有效;反之则不满足正态分布,性能测试结果无效。
本发明实施例的拟合相似度还可以应用于:
比较历史数据中的多组性能数据的响应时间与当前的性能数据中的响应时间的数据拟合是否一致,如果拟合相似度均小于预定的阈值的历史数据分组的数量大于总分组的数量的一半,即与大多数历史数据拟合成功,则说明响应时间数据正常,反之则说明性能监控可能有异常,需要进行进一步的问题定位与分析。
也可以比较两组不同环境下的性能监控中的响应时间的拟合情况,如果数据似合相似度大于预定的阈值,则说明新的环境的性能在可接受范围内,反之则性能不可接受,需要优化环境重新进行性能评估。
对于两组向量中的差值大于另一个预定差值的数据,系统会进行筛选并返馈给相关的人员,对于大于预定差值的数据,通常是系统中不稳定的因素导致的,可能是由于输入数据、环境等因素导致,也需要进一步的问题定位与分析。对于拟合相似度的响应时间,也会存在差值大于预定差值阈值的情况,仍需要进一步定位与分析。例如,两组向量就是前面余弦相似度公式中涉及的两个向量。可以是同一时间,同一服务器实例的理论上的正态分布与实际分布上的比较,也可以是实际中两个不同实例或同一实例或系统上两个不时间段上的比较。
也适用于不满足正态分布的一些性能测试场景,如压力测试场景,如果符合相应的数据分布,可以认为该性能测试是有效的,反之则认为该性能测试无效。
本方案中还可以对每台服务器的结果分别进行分布拟合的计算,找出其中潜在的环境问题,例如负载均衡的问题等,通常对于同一个性能监控场景,同时并行运行的多组服务器实例,其响应时间分布应该是满足相似拟合的。例如该次性能测试涉及到n个服务器实例,每个服务器实例都可以得到一个多维向量,这些多维向量每两个向量间进行余弦相似度计算,如果有m个向量间的余弦相似度的结果大于设定的相似度阈值,m的大小远远小于n/2个,则说明系统中存在负载均衡的问题,如果m的小大远远大于n/2个,则说明系统中存在竞争锁,需要进行代码级的定位,竞争锁会导致响应时间差别较大,拿到锁的实例会较快,未拿到锁的实例需要等待,导致响应时间较长,竞争锁也扩展到同一实例上不同进程或同一进程中不同线程的情况。
本发明实施例可以与其它现有性能分析技术方案相结合,进一步提高性能监控和结果分析的有效性。
图5是现有技术中性能图形分析示意图。如图5所示,该性能图形分析一般采用时间序列作为X轴,即开始性能监控的第1分钟,第2分钟、第3分钟等,Y轴为当时时间邻域中的平均响应时间。同时可以配合其它性能指标做折线做为Y轴信息进行性能分析。传统的判断数据是否满足正态分布的方法一般是利用绘制直方图后进行人工判断,精准性不够,对于大量的数据进行正态分布判断需要的时间比较多,性能监控中存在大量不同的性能数据,如果用直方图人工判断需要占用大量时间,效率比较低。
为了解决上述问题,本发明实施例的步骤S101的根据所述响应数据确定服务器的响应时间和所述响应时间产生的次数之后,所述方法还包括:以服务器的响应时间为X轴、所述响应时间产生的次数为Y轴,生成二维图像,以减少所述响应数据占用的存储空间。
采用响应时间为X轴,Y轴表示不同响应时间值下的数量,例如在整个性能监控过程中,共有300次的响应时间在100ms这个时间点上,100ms为X轴,300次为Y轴。对于响应时间是一种易获取、且准确率较高的性能测试指标,而且对于实际的响应时间而言,其单位为ms,其最小值会趋于0,其最大值会等于应用程序设置的最大超时时间,该X轴上的点都是有限的,其Y轴上为该响应时间的总数量,整体响应时间数据的存储占用的空间极小。正常性能测试中的响应时间频率的概率分布理论上为正态分布,本方案通过比较实际的概率分布与理论上的正态分布之间的差别,如果差别较大,可能性能测试存在问题,例如测试数据过少、返回大量空数据、被测程序超时等。除了可以进行实际概率分布与理论概率分布进行的比较外,还可在实际性能测试或监控中不同服务器实例上的实际概率分布做比较,或同一服务器实例不同时期下的实际概率分布,对于一个正常服务的响应时间而言,上述的概率分布比较的结果是相似的,如果结果相似较大,则该服务性能可能存在问题,可以结合其它因素进一步定位问题原因,例如服务负载不均衡、服务器硬件规格不一致、服务实例中的配置文件的参数不同等。性能结果中的响应时间,存在一定规律,即最快的响应时间和最慢的响应时间的数据是最少的,而大多数响应时间的数量是最多的,符合正态分布的标准。
图6是根据本发明实施例的性能测试结果分析装置的基本模块的示意图。如图6所示,本发明实施例提供了一种性能测试结果分析装置600,包括:数据汇总模块601,用于:获取设定时间段内服务器的响应数据,根据所述响应数据确定服务器的响应时间和所述响应时间产生的次数;数据处理模块602,用于:根据服务器的响应时间和所述响应时间产生的次数,确定响应时间的预期正态分布数据和响应时间的实际分布数据;数据拟合模块603,用于:基于所述响应时间的预期正态分布数据和响应时间的实际分布数据,确定预期正态分布数据和实际分布数据的拟合相似度;数据分析模块604,用于:若所述拟合相似度大于设定阈值,则性能测试结果有效;否则,性能测试结果无效。
本发明实施例的所述数据汇总模块,还用于:根据所述响应数据,生成以响应时间为键的multimap结构的数据,所述键对应的值为1;根据所述multimap结构的数据,生成以响应时间为键、以所述响应时间产生的次数为值的map结构的数据。
本发明实施例的所述数据处理模块,还用于:对所述map结构的数据进行补全处理,得到补全后的map数据;根据所述map结构的数据,确定响应时间的总量、平均值、标准差;基于所述补全后的map数据,结合响应时间的平均值、标准差,确定所述补全后的map数据中的键对应值的正态分布值;根据所述补全后的map数据中的键与所述键对应值的正态分布值,生成第一map数据,并将所述第一map数据作为响应时间的预期正态分布数据;基于所述补全后的map数据,将所述补全后的map数据中的键对应值与所述响应时间的总量作为所述键对应值的频率值;根据所述补全后的map数据中的键与所述键对应值的频率值,生成第二map数据,并将所述第二map数据作为响应时间的实际分布数据。
本发明实施例的所述数据拟合模块,还用于:将第一map数据中的键对应值转换为第一多维向量,将第二map数据中的键对应值转换为第二多维向量;将第一多维向量和第二多维向量的余弦绝对值作为预期正态分布数据和实际分布数据的拟合相似度。
本发明实施例的其特征在于,所述装置还包括图像生成模块,用于:以服务器的响应时间为X轴、所述响应时间产生的次数为Y轴,生成二维图像,以减少所述响应数据占用的存储空间。
图7示出了可以应用本发明实施例的性能测试结果分析方法或性能测试结果分析装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果例如目标推送信息反馈给终端设备。
需要说明的是,本发明实施例所提供的性能测试结果分析方法一般由服务器705执行,相应地,性能测试结果分析装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读介质。
本发明的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明第一方面实施例提供的性能测试结果分析方法。
本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如本发明第一方面实施例提供的性能测试结果分析方法。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器,包括:数据汇总模块、数据处理模块、数据拟合模块、数据分析模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,数据汇总模块还可以被描述为“用于获取和汇总设定时间段内服务器的响应数据的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取设定时间段内服务器的响应数据,根据所述响应数据确定服务器的响应时间和所述响应时间产生的次数;根据服务器的响应时间和所述响应时间产生的次数,确定响应时间的预期正态分布数据和响应时间的实际分布数据;基于所述响应时间的预期正态分布数据和响应时间的实际分布数据,确定预期正态分布数据和实际分布数据的拟合相似度;若所述拟合相似度大于设定阈值,则性能测试结果有效;否则,性能测试结果无效。
本发明实施例采用计算响应时间实际的概率分布与理论的正态分布概率拟合度的技术手段,所以克服了依靠人工经验分析性能测试结果的技术问题,进而达到提升对性能测试结果分析的准确率和效率的技术效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
- 一种数据库服务器性能测试与分析方法及装置
- 一种性能测试结果分析方法和装置