一种测试指标的分布式计算系统的制作方法

文档序号:12120635阅读:194来源:国知局
一种测试指标的分布式计算系统的制作方法与工艺

本发明涉及互联网信息数据的分析方法,更具体地,涉及一种测试指标的分布式计算系统。



背景技术:

在对软件系统的测试中,常需要模拟真实应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来检测被测系统的运行性能、可靠性、稳定性等,这种测试叫做压力测试。对压力测试的测试结果进行汇总和分析,一般都是在测试结束后,对所有的指标进行汇总。但这样做测试人员无法第一时间了解测试结果,具有实时性差的缺点。并且,目前常见的测试指标的汇总计算方法,还有可能出现处理数据量有限、资源分布不均的情况。因此,需要一种能够同时处理百万级别的数据、且不会发生资源浪费的测试指标的汇总计算方案。



技术实现要素:

为此,本发明提供一种测试指标的分布式计算系统,以力图解决或者至少缓解上面存在的至少一个问题。

根据本发明的一个方面,提供了一种测试指标的分布式计算方法,该方法适于在负载服务器中执行,负载服务器布置在测试指标的分布式计算系统中,该系统还包括调度服务器、第一计算服务器、第二计算服务器、第三计算服务器和数据服务器,该方法包括步骤:接收由调度服务器发送的测试任务ID和测试任务信息,其中,调度服务器根据测试任务的任务量计算待启动进程的数量、并根据待启动进程的数量判断是否需启动第二计算服务器,得到第一判断结果、再根据第一判断结果选取完成本测试任务所需的负载服务器、第一计算服务器、第二计算服务器和第三计算服务器中的一个或多个、发送测试任务ID给所选取的上述服务器;按预定规则为待启动的进程分配虚拟用户,根据测试任务信息获取测试脚本,开启测试并记录测试数据;若第一判断结果指示完成本测试任务不需要第二计算服务器,则实时发送测试数据给具有相同测试任务ID的第一计算服务器,以便第一计算服务器计算第一测试指标;若第一判断结果指示完成本测试任务需要第二计算服务器,则实时发送测试数据给所选择的第二计算服务器,以便第二计算服务器计算第一测试指标、并将算出的第一测试指标传送给具有相同测试任务ID的第一计算服务器;实时发送测试数据给具有相同测试任务ID的第三计算服务器,以便第三计算服务器计算第二测试指标、并在测试结束后将第二测试指标发送给数据服务器;以及发送虚拟用户的数量给第一计算服务器,由第一计算服务器每隔预定时间将虚拟用户的数量和第一测试指标发送给数据服务器。

可选地,在根据本发明的测试指标的分布式计算方法中,按预定规则为待启动的进程分配虚拟用户的步骤包括:优先按照每个待启动的进程允许的最大用户数分配虚拟用户。

可选地,在根据本发明的测试指标的分布式计算方法中,若待启动进程的数量不高于第一阈值,则第一判断结果为不需要启动第二计算服务器;以及若待启动进程的数量高于第一阈值,则第一判断结果为需要启动第二计算服务器。

可选地,在根据本发明的测试指标的分布式计算方法中,第一阈值为13。

可选地,在根据本发明的测试指标的分布式计算方法中,第一测试指标包括:点击数、错误率、处理时间、每秒事务数、输入输出速率、事务处理时间、每秒事务数,每秒事务总数、每秒点击数、每秒响应数、每秒http响应数、每秒错误数、每秒错误总数、错误率、每秒成功事务数、每秒失败事务数、平均处理时间、最小处理时间、最大处理时间、执行总次数、失败总次数、成功总次数、告警数、告警率。

可选地,在根据本发明的测试指标的分布式计算方法中,第二测试指标是统计类型的测试指标。

根据本发明的另一方面,提供了一种测试指标的分布式计算方法,该方法适于在调度服务器中执行,调度服务器布置在测试指标的分布式计算系统中,该系统还包括负载服务器、第一计算服务器、第二计算服务器、第三计算服务器和数据服务器,该方法包括步骤:根据测试任务的任务量计算用于执行该测试任务的待启动进程的数量;根据待启动进程的数量判断是否需启动第二计算服务器,得到第一判断结果;当第一判断结果指示需要启动第二计算服务器时,从该系统中选取完成本测试任务所需的负载服务器、第一计算服务器、第二计算服务器和第三计算服务器;当第一判断结果指示不需要启动第二计算服务器时,从该系统中选取完成本测试任务所需的负载服务器、第一计算服务器和第三计算服务器;以及发送测试任务ID给所选取的服务器,并发送测试任务信息给所选取的负载服务器,由负载服务器执行本测试任务,将测试数据发送给第一计算服务器、第二计算服务器和第三计算服务器中的一个或多个,由这些服务器根据测试数据计算测试指标发送给数据服务器。

可选地,在根据本发明的测试指标的分布式计算方法中,系统中包括多个负载服务器和多个第二计算服务器,选取步骤包括:按照多个负载服务器上已占用资源从高到低的顺序选取完成本测试任务所需的负载服务器;按照多个第二计算服务器上已占用资源从高到低的顺序选取完成本测试任务所需的第二计算服务器。

可选地,在根据本发明的测试指标的分布式计算方法中,根据待启动进程的数量判断是否需启动第二计算服务器、得到第一判断结果的步骤包括:若待启动进程的数量不高于第一阈值,则第一判断结果为不需要启动第二计算服务器;以及若待启动进程的数量高于第一阈值,则第一判断结果为需要启动第二计算服务器。

可选地,在根据本发明的测试指标的分布式计算方法中,第一阈值为13。

可选地,在根据本发明的测试指标的分布式计算方法中,在第一判断结果指示需启动第二计算服务器时,还包括,计算要选取的第二计算服务器的数量的步骤:通过待启动进程的数量除以第一数目得到要选取的第二计算服务器的数量。

可选地,在根据本发明的测试指标的分布式计算方法中,还包括步骤:接收该系统中负载服务器、第一计算服务器、第二计算服务器和第三计算服务器的注册请求,记录上述服务器的服务器ID;以及获取上述已注册服务器的资源占用情况,并与其服务器ID关联存储。

可选地,在根据本发明的测试指标的分布式计算方法中,在选取步骤之后、发送测试任务ID给所选取的服务器步骤之前,还包括步骤:检测与所选取的上述服务器通信连接是否正常;若任一个上述服务器的通信连接不正常,则返回错误码,终止测试。

根据本发明的另一方面,提供了一种负载服务器,布置在测试指标的分布式计算系统中,该系统还包括调度服务器、第一计算服务器、第二计算服务器、第三计算服务器、数据服务器,且各服务器之间相互连接,负载服务器包括:接口单元,适于接收由调度服务器发送的测试任务ID和测试任务信息,其中,调度服务器根据测试任务的任务量计算待启动进程的数量、并根据所述待启动进程的数量判断是否需启动第二计算服务器,得到第一判断结果、再根据第一判断结果选取完成本测试任务所需的负载服务器、第一计算服务器、第二计算服务器和第三计算服务器中的一个或多个、发送测试任务ID给所选取的上述服务器;控制单元,适于按预定规则为待启动的进程分配虚拟用户;测试单元,适于根据测试任务信息获取测试脚本,开启测试并记录测试数据;接口单元还适于在第一判断结果指示完成本测试任务不需要第二计算服务器时,实时发送测试数据给具有相同测试任务ID的第一计算服务器,以便第一计算服务器计算第一测试指标,并且,在第一判断结果指示完成本测试任务需要第二计算服务器时,实时发送测试数据给所选择的第二计算服务器,以便第二计算服务器计算第一测试指标、并将算出的第一测试指标传送给具有相同测试任务ID的第一计算服务器;接口单元还适于实时发送测试数据给具有相同测试任务ID的第三计算服务器,以便第三计算服务器计算第二测试指标、并在测试结束后将第二测试指标发送给数据服务器;接口单元还适于发送虚拟用户的数量给第一计算服务器,由第一计算服务器每隔预定时间将虚拟用户的数量和第一测试指标发送给数据服务器。

可选地,在根据本发明的负载服务器中,控制单元还适于优先按照每个待启动的进程允许的最大用户数分配虚拟用户。

可选地,在根据本发明的负载服务器中,若待启动进程的数量不高于第一阈值,则第一判断结果为不需要启动第二计算服务器;以及若待启动进程的数量高于第一阈值,则第一判断结果为需要启动第二计算服务器。

可选地,在根据本发明的负载服务器中,第一阈值为13。

可选地,在根据本发明的负载服务器中,第一测试指标包括:点击数、错误率、处理时间、每秒事务数、输入输出速率、事务处理时间、每秒事务数,每秒事务总数、每秒点击数、每秒响应数、每秒http响应数、每秒错误数、每秒错误总数、错误率、每秒成功事务数、每秒失败事务数、平均处理时间、最小处理时间、最大处理时间、执行总次数、失败总次数、成功总次数、告警数、告警率。

可选地,在根据本发明的负载服务器中,第二测试指标是统计类型的测试指标。

根据本发明的另一方面,提供了一种调度服务器,布置在测试指标的分布式计算系统中,该系统还包括负载服务器、第一计算服务器、第二计算服务器、第三计算服务器、数据服务器,且各服务器之间相互连接,调度服务器包括:计算单元,适于根据测试任务的任务量计算用于执行该测试任务的待启动进程的数量;判断单元,适于根据待启动进程的数量判断是否需启动第二计算服务器,得到第一判断结果;控制单元,适于在第一判断结果指示需要启动第二计算服务器时,从该系统中选取完成本测试任务所需的负载服务器、第一计算服务器、第二计算服务器和第三计算服务器,且,在第一判断结果指示不需要启动第二计算服务器时,从该系统中选取完成本测试任务所需的负载服务器、第一计算服务器和第三计算服务器;接口单元,适于发送测试任务ID给所选取的服务器,并发送测试任务信息给所选取的负载服务器,由负载服务器执行本测试任务,将测试数据发送给第一计算服务器、第二计算服务器和第三计算服务器中的一个或多个,由这些服务器根据测试数据计算测试指标发送给数据服务器。

可选地,在根据本发明的调度服务器中,系统中包括多个负载服务器和多个第二计算服务器,控制单元还适于:按照多个负载服务器上已占用资源从高到低的顺序选取完成本测试任务所需的负载服务器;按照多个第二计算服务器上已占用资源从高到低的顺序选取完成本测试任务所需的第二计算服务器。

可选地,在根据本发明的调度服务器中,判断单元还适于在待启动进程的数量不高于第一阈值时,得到第一判断结果为不需要启动第二计算服务器,在待启动进程的数量高于第一阈值时,得到第一判断结果为需要启动第二计算服务器。

可选地,在根据本发明的调度服务器中,第一阈值为13。

可选地,在根据本发明的调度服务器中,控制单元还包括计算子单元,计算子单元适于通过待启动进程的数量除以第一数目计算得到要选取的第二计算服务器的数量。

可选地,在根据本发明的调度服务器中,接口单元还适于接收该系统中负载服务器、第一计算服务器、第二计算服务器和第三计算服务器的注册请求、且适于获取上述已注册服务器的资源占用情况;调度服务器还包括存储单元,适于存储上述服务器的服务器ID,并与将服务器ID与该服务器的资源占用情况关联存储。

可选地,在根据本发明的调度服务器中,控制单元还适于检测与待分配的上述服务器通信连接是否正常,若任一个上述服务器的通信连接不正常,则返回错误码,终止测试。

根据本发明的另一方面,提供了一种测试指标的分布式计算系统,包括:如上所述的负载服务器;如上所述的调度服务器;第一计算服务器,适于在待启动进程的数量不高于第一阈值时,接收由负载服务器发送的测试数据、并根据测试数据计算第一测试指标,还适于在待启动进程的数量高于第一阈值时,接收由第二计算服务器计算的第一测试指标,还适于接收由负载服务器发送的虚拟用户的数量、并每隔预定时间将虚拟用户的数量与第一测试指标一并发送给数据服务器;第二计算服务器,适于在待启动进程的数量高于第一阈值时,接收由负载服务器发送的测试数据、并计算出第一测试指标传送给第一计算服务器;第三计算服务器,适于接收由负载服务器发送的测试数据并计算出第二测试指标、在测试结束后将第二测试指标发送给数据服务器;以及数据服务器,适于接收由第一计算服务器发送的第一测试指标和由第三计算服务器发送的第三测试指标。

根据本发明的测试指标的分布式计算系统,能够根据虚拟用户量无限地扩展生成第二计算服务器,来处理百万级别的数据。并且,由调度服务器根据测试任务量计算待启动进程的数量、再结合各服务器上资源的使用情况选取完成本次测试任务需要的各类服务器,只有当待启动进程的数量大于第一阈值时才会扩展第二计算服务器,避免了因为无限扩展第二计算服务器而造成资源浪费。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明的一个示例性实施方式的测试指标的分布式计算系统100的示意图;

图2示出了根据本发明的一个示例性实施方式的在系统100中进行测试指标的分布式计算的交互图;

图3示出了根据本发明一个实施例的负载服务器120的框图;以及

图4示出了根据本发明一个实施例的调度服务器110的框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明的一个示例性实施方式的测试指标的分布式计算系统100的示意图。该系统100包括调度服务器110、负载服务器120、第一计算服务器130、第二计算服务器140、第三计算服务器150和数据服务器160。应当指出,图1中的系统100仅是示例性的,在具体的实践情况中,系统100中可以有不同数量的服务器,具体地,可以布置不同数量的负载服务器120、第一计算服务器130、第二计算服务器140、第三计算服务器150,甚至是多个调度服务器110、数据服务器160,本发明对系统100中所包括的各种服务器的数目不做限制。同时,也可以根据实际情况,通过配置系统100中的服务器的配置文件,将服务器配置成以上任何一种服务器。

根据一种实施方式,在进行压力测试时,由测试人员掌握发起多少量级的压力,调度服务器110接收测试人员发起的测试请求,根据测试任务的任务量(诸如测试选择区域点、测试任务数、虚拟用户数量等)和系统100内各服务器上资源的使用情况,分配出本次测试任务所需的各类服务器。

在初始化每台负载服务器上的进程实例,并分配内存、CPU等资源后,负载服务器120模拟用户的访问操作,开始压力测试。

第一计算服务器130、第二计算服务器140、第三计算服务器150分别用于汇总计算压力测试的测试指标。根据本发明的一个实施例,在系统100中布置1台第一计算服务器130和1台第三计算服务器150,分别用于计算压力测试的不同测试指标;同时,布置多台第二计算服务器140,作为第一计算服务器130的备用服务器,当压力测试的测试任务量很庞大时,1台第一计算服务器130无法处理这么庞大的数据量,就会启动多台第二计算服务器140来协助第一计算服务器130完成测试指标的计算。

数据服务器160用于汇总所计算的各类测试指标,最后将其(通过后台服务器)推送给测试人员。

下面将详细介绍系统100在进行测试指标计算时各服务器的交互流程,如图2,示出了根据本发明一个实施例的在系统100中进行测试指标的分布式计算的交互图。

在步骤S201中,当负载服务器120、第一计算服务器130、第二计算服务器140和第三计算服务器150第一次接入系统100时,向调度服务器110发送注册请求。

在步骤S202中,调度服务器110接收到注册请求,记录上述服务器的服务器ID。

步骤S203中,调度服务器110根据已注册的服务器ID获取上述服务器的资源(包括全部资源、空闲资源、已用资源)的占用情况,并与其服务器ID关联存储。在后续完成测试任务的步骤中,调度服务器110可以通过服务器ID选取对应的服务器。

可选地,调度服务器110通过标记服务器的进程ID来记录服务器上的资源占用情况。

当测试人员发起要进行压力测试的指令时,步骤S204中,调度服务器110根据测试任务的任务量(诸如测试选择区域点、测试任务数、虚拟用户数量等)计算用于执行该测试任务的待启动进程的数量。以一个简单的例子说明,若测试人员指示虚拟用户数为1000虚拟用户,若负载服务器上一个进程可以跑200个虚拟用户,那么,待启动进程的数量就是5。

随后在步骤S205中,调度服务器110根据待启动进程的数量判断是否需启动第二计算服务器140,得到第一判断结果。

根据本发明的实施方式,若待启动进程的数量不高于第一阈值,则第一判断结果为不需要启动第二计算服务器140;若待启动进程的数量高于第一阈值,则第一判断结果为需要启动第二计算服务器140。其中,第一阈值为13。也就是说,当待启动进程的数量在1-13之间时,判断本次测试任务的数据量并不是很大,不需要额外启动第二计算服务器140来辅助计算测试指标;反之,当待启动进程的数量超过13时,判断本次测试任务的数据量很大,需要启动第二计算服务器140来辅助计算测试指标。

在随后的步骤S206中,根据系统100中各服务器上的资源占用情况(见步骤S201-步骤S203)选取完成本测试任务所需的各种服务器。根据第一判断结果可以分成两种情况考虑:

当第一判断结果指示需要启动第二计算服务器140时,计算要选取的第二计算服务器140的数量,即,通过待启动进程的数量除以第一数目得到要选取的第二计算服务器的数量。可选地,第一数目为7。假设在步骤S204中算得的待启动进程的数量为26,26÷7≈3.7,那么第二计算服务器的数量为4。

从该系统100中选取完成本测试任务所需的负载服务器120、第一计算服务器130、第二计算服务器140和第三计算服务器150时,根据本发明的实施例,第一计算服务器130和第三计算服务器150可以直接选取;按照多个负载服务器上已占用资源从高到低的顺序选取完成本测试任务所需的负载服务器120;按照多个第二计算服务器上已占用资源从高到低的顺序选取完成本测试任务所需的第二计算服务器140。

另一种情况,当第一判断结果指示不需要启动第二计算服务器140时,从该系统100中选取完成本测试任务所需的负载服务器120、第一计算服务器130和第三计算服务器150。同样地,第一计算服务器130和第三计算服务器150可以直接选取;按照多个负载服务器上已占用资源从高到低的顺序选取完成本测试任务所需的负载服务器120。

根据一种实现方式,若系统100中有多个第一计算服务器130或多个第三计算服务器150,则按照第一计算服务器或第三计算服务器上已占用资源从高到低的顺序选取第一个第一计算服务器130或第一个第三计算服务器。

根据一种实现方式,若测试人员指示在北京-联通发起并发测试,则根据该指示仅在布置在北京地区的相应服务器中进行排序、选取服务器。

随后在步骤S207中,调度服务器110发送测试任务ID给所选取的上述服务器,并发送测试任务信息给所选取的负载服务器120。需要注意的是,由于调度服务器110不一定要发送测试任务ID给第二计算服务器140,故在图2中,以虚线表示调度服务器110向第二计算服务器140发送测试任务ID。

随后在步骤S208中,接收到测试任务ID和测试任务信息的负载服务器120按预定规则为待启动的进程分配虚拟用户,可选地,按预定规则为待启动的进程分配虚拟用户就是优先按照每个待启动的进程允许的最大用户数分配虚拟用户。例如,调度服务器110选取了3台负载服务器120,按顺序排序分别标记为:Loader0、Loader1、Loader2,其中,Loader0中空闲的资源(进程)最少,那么在分配虚拟用户时,先按顺序为Loader0中的进程分配虚拟用户,也就是,靠前面分配虚拟用户的进程都是满载运行,最后一个进程根据虚拟用户的个数可能是满载或者不是满载运行的。

当所有虚拟用户都分配完后,负载服务器120根据测试任务信息获取测试脚本,开启测试并记录测试数据。可选地,负载服务器120模拟虚拟用户的访问操作,发起请求。

随后在步骤S209中,负载服务器120将测试数据简单汇合后发送给第一计算服务器130、第二计算服务器140、第三计算服务器150中的一个或多个。

相对应于步骤S206,步骤S209也分为两种情况,如下所述:

在步骤S2092中,若完成本测试任务需要第二计算服务器140,则负载服务器120实时发送测试数据给所选择的第二计算服务器140。根据本发明的实施例,第二计算服务器140有多个,一个负载服务器进程只向一个第二计算服务器进程发送测试数据,而一个第二计算服务器进程可以接收多个负载服务器进程的测试数据。

随后在步骤S20922中,第二计算服务器140根据测试数据计算第一测试指标。可选地,第一测试指标包括:点击数、错误率、处理时间、每秒事务数、输入输出速率、事务处理时间、每秒事务数,每秒事务总数、每秒点击数、每秒响应数、每秒http响应数、每秒错误数、每秒错误总数、错误率、每秒成功事务数、每秒失败事务数、平均处理时间、最小处理时间、最大处理时间、执行总次数、失败总次数、成功总次数、告警数、告警率。

随后在步骤S20924中,第二计算服务器140将算出的第一测试指标传送给具有相同测试任务ID的第一计算服务器130。

另一种情况下,在步骤S2094中,若完成本测试任务不需要第二计算服务器140,则负载服务器120实时发送测试数据给具有相同测试任务ID的第一计算服务器130。

随后在步骤S20942中,第一计算服务器130根据测试数据计算第一测试指标。

在步骤S210中,负载服务器120实时发送测试数据给具有相同测试任务ID的第三计算服务器150。

随后在步骤S211中,第三计算服务器150根据测试数据计算第二测试指标。根据本发明的实施例,第二测试指标是统计类型的测试指标。可选地,根据各种事务处理时间计算90%的事务处理时间、99%的事务处理时间、事务处理时间的方差等指标。

随后在步骤S212中,负载服务器120发送虚拟用户的数量给第一计算服务器130。

随后在步骤S213中,第一计算服务器130每隔预定时间(如,1000ms)将虚拟用户的数量和第一测试指标发送给数据服务器160。

在步骤S214中,测试结束后,第三计算服务器150将第二测试指标发送给数据服务器160。

根据本发明的一个实施方式,在执行完上述步骤S206之后、执行步骤S207之前,调度服务器110会先检测与所选取的上述服务器通信连接是否正常(如,发送HTTP连接请求),若任一个上述服务器的通信连接不正常,则返回错误码,调度服务器110终止测试。

根据上述描述,本发明的测试指标的分布式计算系统100,能够根据虚拟用户量无限地扩展生成第二计算服务器140,来处理百万级别的数据。并且,由调度服务器110根据测试任务量计算待启动进程的数量、再结合各服务器上资源的使用情况选取完成本次测试任务需要的各类服务器,只有当待启动进程的数量大于第一阈值时才会扩展第二计算服务器140,避免了因为无限扩展第二计算服务器140而造成资源浪费。

图3示出了根据本发明一个实施例的负载服务器120的框图,如图3所示,负载服务器120包括:接口单元122、控制单元124和测试单元126。

其中,接口单元122适于接收由调度服务器110发送的测试任务ID和测试任务信息。关于调度服务器110选取用于完成本次测试任务的负载服务器120的过程,在上文中已经详细介绍,此处不再累述。

控制单元124适于按预定规则为待启动的进程分配虚拟用户。可选地,控制单元124适于优先按照每个待启动的进程允许的最大用户数分配虚拟用户。

测试单元126适于根据测试任务信息获取测试脚本,开启测试并记录测试数据。

接口单元122还适于在第一判断结果指示完成本测试任务不需要第二计算服务器140时,实时发送测试数据给具有相同测试任务ID的第一计算服务器130,以便第一计算服务器130计算第一测试指标。

接口单元122还适于在第一判断结果指示完成本测试任务需要第二计算服务器140时,实时发送测试数据给所选择的第二计算服务器140,以便第二计算服务器计算第一测试指标、并将算出的第一测试指标传送给具有相同测试任务ID的第一计算服务器130。

根据本发明的实施方式,若待启动进程的数量不高于第一阈值(在本实施例中,第一阈值为13),则第一判断结果为不需要启动第二计算服务器;以及若待启动进程的数量高于第一阈值,则第一判断结果为需要启动第二计算服务器。

可选地,第一测试指标包括:点击数、错误率、处理时间、每秒事务数、输入输出速率、事务处理时间、每秒事务数,每秒事务总数、每秒点击数、每秒响应数、每秒http响应数、每秒错误数、每秒错误总数、错误率、每秒成功事务数、每秒失败事务数、平均处理时间、最小处理时间、最大处理时间、执行总次数、失败总次数、成功总次数、告警数、告警率。

接口单元122还适于实时发送测试数据给具有相同测试任务ID的第三计算服务器150,以便第三计算服务器150计算第二测试指标、并在测试结束后将第二测试指标发送给数据服务器160。

可选地,第二测试指标是统计类型的测试指标。例如,根据各种事务处理时间计算90%的事务处理时间、99%的事务处理时间、事务处理时间的方差等指标。

接口单元122还适于发送虚拟用户的数量给第一计算服务器130,由第一计算服务器130每隔预定时间(如,1000ms)将虚拟用户的数量和第一测试指标发送给数据服务器160。

图4示出了根据本发明一个实施例的调度服务器110的框图,如图4所示,调度服务器110包括:计算单元112、判断单元114、控制单元116和接口单元118,在一些实施例中,调度服务器110除了上述单元外,还包括存储单元119。

计算单元112适于根据测试任务的任务量计算用于执行该测试任务的待启动进程的数量。

判断单元114适于根据算得的待启动进程的数量判断是否需启动第二计算服务器140,得到第一判断结果。

可选地,判断单元114还适于在待启动进程的数量不高于第一阈值(在本实施例中,第一阈值为13)时,得到第一判断结果为不需要启动第二计算服务器140;在待启动进程的数量高于第一阈值时,得到第一判断结果为需要启动第二计算服务器140。

控制单元116适于在第一判断结果指示需要启动第二计算服务器140时,从该系统中选取完成本测试任务所需的负载服务器120、第一计算服务器130、第二计算服务器140和第三计算服务器150。

根据一种实施方式,控制单元116还包括计算子单元1162,如图4所示,计算子单元1162适于通过待启动进程的数量除以第一数目(在本实施例中,第一数目为7)计算得到要选取的第二计算服务器140的数量。

同样,控制单元116还适于在第一判断结果指示不需要启动第二计算服务器140时,从该系统中选取完成本测试任务所需的负载服务器110、第一计算服务器130和第三计算服务器150。

根据一种实现方式,系统100中包括多个负载服务器120和多个第二计算服务器140,控制单元116适于按照多个负载服务器120上已占用资源从高到低的顺序选取完成本测试任务所需的负载服务器120、以及按照多个第二计算服务器140上已占用资源从高到低的顺序选取完成本测试任务所需的第二计算服务器140。

接口单元118适于发送测试任务ID给所选取的服务器,并发送测试任务信息给所选取的负载服务器120,由负载服务器120执行本测试任务,将测试数据发送给第一计算服务器130、第二计算服务器140和第三计算服务器150中的一个或多个,由这些服务器根据测试数据计算测试指标发送给数据服务器160。

根据本发明的一种实现方式,接口单元118还适于接收该系统100中负载服务器120、第一计算服务器130、第二计算服务器140和第三计算服务器150的注册请求、且适于获取上述已注册服务器的资源占用情况。

可选地,调度服务器110还包括存储单元119,适于存储上述服务器的服务器ID,并与将服务器ID与该服务器的资源占用情况关联存储。

根据本发明的又一实施例,控制单元116还适于检测与待分配的上述服务器通信连接是否正常,例如,控制单元116指示与之耦接的接口单元118发送HTTP连接请求给上述服务器,若任一个上述服务器的通信连接不正常,则返回错误码,终止测试。

应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本发明还公开了:

A4、如A3所述的方法,其中,第一阈值为13。

A5、如A1-4中任一项所述的方法,其中,第一测试指标包括:点击数、错误率、处理时间、每秒事务数、输入输出速率、事务处理时间、每秒事务数,每秒事务总数、每秒点击数、每秒响应数、每秒http响应数、每秒错误数、每秒错误总数、错误率、每秒成功事务数、每秒失败事务数、平均处理时间、最小处理时间、最大处理时间、执行总次数、失败总次数、成功总次数、告警数、告警率。

A6、如A1-5中任一项所述的方法,其中,第二测试指标是统计类型的测试指标。

B9、如B7或8所述的方法,其中,根据待启动进程的数量判断是否需启动第二计算服务器、得到第一判断结果的步骤包括:若待启动进程的数量不高于第一阈值,则第一判断结果为不需要启动第二计算服务器;以及若待启动进程的数量高于第一阈值,则第一判断结果为需要启动第二计算服务器。

B10、如B9所述的方法,其中第一阈值为13。

B11、如B7-10中任一项所述的方法,其中,在第一判断结果指示需启动第二计算服务器时,还包括,计算要选取的第二计算服务器的数量的步骤:通过待启动进程的数量除以第一数目得到要选取的第二计算服务器的数量。

B12、如B7-11中任一项所述的方法,还包括步骤:接收该系统中负载服务器、第一计算服务器、第二计算服务器和第三计算服务器的注册请求,记录上述服务器的服务器ID;以及获取上述已注册服务器的资源占用情况,并与其服务器ID关联存储。

B13、如B7-12中任一项所述的方法,其中,在选取步骤之后、发送测试任务ID给所选取的服务器步骤之前,还包括步骤:检测与所选取的上述服务器通信连接是否正常;若任一个上述服务器的通信连接不正常,则返回错误码,终止测试。

C16、如C14或15所述的负载服务器,其中,若待启动进程的数量不高于第一阈值,则第一判断结果为不需要启动第二计算服务器;以及若待启动进程的数量高于第一阈值,则第一判断结果为需要启动第二计算服务器。

C17、如C16所述的负载服务器,其中,第一阈值为13。

C18、如C14-17中任一项所述的负载服务器,其中,第一测试指标包括:点击数、错误率、处理时间、每秒事务数、输入输出速率、事务处理时间、每秒事务数,每秒事务总数、每秒点击数、每秒响应数、每秒http响应数、每秒错误数、每秒错误总数、错误率、每秒成功事务数、每秒失败事务数、平均处理时间、最小处理时间、最大处理时间、执行总次数、失败总次数、成功总次数、告警数、告警率。

C19、如C14-18中任一项所述的负载服务器,其中第二测试指标是统计类型的测试指标。

D22、如D20或21所述的调度服务器,其中,

所述判断单元还适于在所述待启动进程的数量不高于第一阈值时,得到第一判断结果为不需要启动第二计算服务器,在待启动进程的数量高于第一阈值时,得到第一判断结果为需要启动第二计算服务器。

D23、如D22所述的调度服务器,其中第一阈值为13。

D24、如D20-23中任一项所述的调度服务器,其中,控制单元还包括计算子单元,计算子单元适于通过待启动进程的数量除以第一数目计算得到要选取的第二计算服务器的数量。

D25、如D20-24中任一项所述的调度服务器,其中,接口单元还适于接收该系统中负载服务器、第一计算服务器、第二计算服务器和第三计算服务器的注册请求、且适于获取上述已注册服务器的资源占用情况;调度服务器还包括存储单元,适于存储上述服务器的服务器ID,并与将服务器ID与该服务器的资源占用情况关联存储。

D26、如D20-25中任一项所述的调度服务器,其中,控制单元还适于检测与待分配的上述服务器通信连接是否正常,若任一个上述服务器的通信连接不正常,则返回错误码,终止测试。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1