CN101877699A - 测试服务端效能的装置及决定虚拟客户端个数的方法 - Google Patents
测试服务端效能的装置及决定虚拟客户端个数的方法 Download PDFInfo
- Publication number
- CN101877699A CN101877699A CN2009102533086A CN200910253308A CN101877699A CN 101877699 A CN101877699 A CN 101877699A CN 2009102533086 A CN2009102533086 A CN 2009102533086A CN 200910253308 A CN200910253308 A CN 200910253308A CN 101877699 A CN101877699 A CN 101877699A
- Authority
- CN
- China
- Prior art keywords
- user end
- virtual user
- interval
- search
- end number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种利用虚拟客户端测试服务端效能的装置及决定此装置中的虚拟客户端个数的方法,此装置包括搜索模块,利用跨度搜索算法和二分搜索算法确定用于测试的虚拟客户端个数;I/O模拟模块,模拟对应个数的虚拟客户端向被测服务端发送I/O请求;以及统计模块,根据被测服务端的反馈统计流量数据以得到对应的测试效能。本发明能够实现准确且高效的效能测量。
Description
技术领域
本发明涉及计算机的测试技术,尤其涉及一种利用虚拟客户端测试服务端效能的装置及决定虚拟客户端个数的方法。
背景技术
目前,通常采用效能测试工具来测量服务端计算机的效能。大部分的效能测试工具采用服务端/客户端(Server/Client)的工作模式,如图1所示,效能测试工具10模拟作为client,即虚拟客户端1,虚拟客户端2……虚拟客户端n发送I/O请求到被测的服务端计算机20,即server(服务端计算机)。然后接受来自服务端计算机20的响应,最后把统计出的流量数据作为效能测试的结果。由于这些客户端是由测试工具模拟出来的,所以称为虚拟客户端。
不同的测试工具用于模拟不同种类的client,有的可以模拟多个client同时进行I/O操作。在使用这类测试工具之前,通常需要先确定虚拟客户端的个数,这往往是一个手动的过程。这样做的缺点包括:
(1)对测试工具的使用者的要求较高。例如,对于不同的测试人员所设定的测试参数不同,测试顺序不同以及工作环境不同,都会造成测试结果的显著不同。
(2)自动化程度较低,每次测试都要重复相同的操作。
(3)测试过程中的细微差别会对测试结果造成波动,影响结果的客观性。
发明内容本发明所要解决的技术问题在于提供一种利用虚拟客户端测试服务端效能的装置及决定虚拟客户端个数的方法,以实现准确高效的效能测量和虚拟客户端个数搜索。
根据本发明的一个方面,本发明实施例提出了一种利用虚拟客户端测试服务端效能的装置,该效能测试装置包括:一搜索模块,该搜索模块利用跨度搜索算法和二分搜索算法确定用于测试的虚拟客户端个数;一I/O模拟模块,该I/O模拟模块模拟对应个数的虚拟客户端向被测服务端发送I/O请求;以及一统计模块,该统计模块根据被测服务端的反馈统计流量数据以得到对应的测试效能。
根据本发明进一步的实施例,该搜索模块根据该跨度搜索算法确定虚拟客户端个数的区间,以及根据该二分搜索算法对该虚拟客户端个数区间进行搜索以确定该虚拟客户端个数。
而且,根据本发明的另一方面,本发明的实施例提出一种决定虚拟客户端个数的方法,该方法包括以下步骤:a)利用跨度搜索算法确定虚拟客户端个数的区间;以及b)根据二分搜索算法对该虚拟客户端个数区间进行搜索以确定该虚拟客户端个数。
根据本发明进一步的实施例,该步骤a包括:设定虚拟客户端的初始个数,并使用该初始个数的虚拟客户端对被测服务端进行测量;将被测服务端反馈的测量结果与预定阈值进行比较;以及根据比较结果确定下一步进行测量的虚拟客户端个数或者搜索得到该虚拟客户端个数区间。
根据本发明再一步的实施例,在该反馈测量结果小于该预定阈值时,设定当前虚拟客户端个数的跨度增量,以得到下一步进行测量的虚拟客户端个数。根据该反馈测量结果与该预定阈值的差距大小设定该跨度增量大小。
根据本发明进一步的实施例,该步骤b包括:搜索该虚拟客户端个数区间的中点;使用该中点对应个数的虚拟客户端对被测服务端进行测量;将被测服务端反馈的测量结果与预定阈值进行比较;根据比较结果以及当前虚拟客户端个数区间中点确定下一步搜索的虚拟客户端个数区间;以及重复上述步骤直至虚拟客户端个数区间首位相邻或相等。
根据本发明再一步的实施例,当该反馈的测量结果低于该预定阈值时,下一步搜索的虚拟客户端个数区间为当前虚拟客户端个数区间的低半部区间;当该反馈的测量结果不低于该预定阈值时,下一步搜索的虚拟客户端个数区间为当前虚拟客户端个数区间的高半部区间。
根据本发明再一步的实施例,该预定阈值为被测服务端响应虚拟客户端请求的平均响应时间、最大响应时间或者被测服务端资源使用率。
本发明利用跨度搜索和二分搜索自动化地搜索出虚拟客户端的个数,减少了耗时,减少测试人员的重复劳动,并去除测试过程中的微小差异所引起的结果波动。本发明能够提高效能测试的客观性和效率,实现准确且高效的效能测量。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为现有效能测试工具的工作原理图;
图2为本发明实施例的利用虚拟客户端测试服务端效能的测试装置的结构示意图;
图3为本发明实施例的决定虚拟客户端个数的总体步骤流程图;
图4为本发明实施例的跨度搜索步骤流程图;以及
图5为本发明实施例的二分搜索步骤流程图。
其中,附图标记:
10:效能测试工具
20:被测设备
30:效能测试装置
32:虚拟客户端个数搜索模块
34:虚拟客户端I/O模拟模块
36:流量统计模块
具体实施方式
下面详细描述本发明的实施例,该实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的组件或具有相同或类似功能的组件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
现在参考图2,该图为本发明实施例的利用虚拟客户端测试服务端效能的测试装置的结构示意图。如图所示,本发明的效能测试装置30包括一虚拟客户端个数搜索模块32、一虚拟客户端I/O模拟模块34以及一流量统计模块36。搜索模块32利用跨度搜索算法和二分搜索算法自动地确定用于测试的虚拟客户端个数,I/O模拟模块34用于模拟对应确定个数的虚拟客户端,以向被测服务端发送I/O请求。流量统计模块36则接收被测服务端的反馈,统计对应的流量数据以作为测试效能的结果。
这里,作为测试效能结果的流量数据需要根据合适数量的虚拟客户端数量确定,即虚拟客户端个数搜索模块32所确定的个数能够满足预定的测试要求,比如被测服务端响应虚拟客户端I/O请求的平均响应时间、最大响应时间或者被测服务端资源使用率(CPU占有率或者内存占有率)。在预定测试要求没有满足的情况下,虚拟客户端个数搜索模块32需要根据实际的测试结果再次进行搜索,直至满足预定要求。
具体来说,搜索模块32首先使用跨度搜索法搜索虚拟客户端区间。例如以虚拟客户端个数:n=1为初始起点,然后,由I/O模拟模块34使用n个虚拟客户端对服务端发送I/O请求进行测量。并依据实现测量结果(即服务端实际响应虚拟客户端I/O请求的平均响应时间、最大响应时间或者被测服务端资源使用率)与预定阈值(即预期中的预定测试要求)之间的差距,确定下一次进行测试的虚拟客户端个数n的值。
在反馈的实际测量结果小于预定阈值时,搜索模块32根据具体的差值来设定当前虚拟客户端个数的跨度增量,从而确定下一步进行测量的虚拟客户端个数。优先地,测量结果差距越大,设置的下一个n的“跨度增量”也越大。这样,直到实际测量结果超过预定阈值。这时,搜索模块32确定对应的虚拟客户端个数区间为超出预定阈值时对应确定的个数及其前一次测试对应的个数。
然后,搜索模块32利用二分搜索法进一步对确定的虚拟客户端个数区间进行搜索,以确定最终的虚拟客户端个数。具体地,搜索模块32测量上述区间的中点,并使用中点对应个数的虚拟客户端对被测服务端进行测量。然后,将被测服务端反馈的测量结果与预定阈值进行比较:如果测量结果低于预定阈值,下一步就搜索低半部区间;如果测量结果高于预定阈值,下一步就测量高半部区间。直到区间长度不超过1(即首尾相邻或首尾相等)。
下面,请参考图3到图5对本发明的决定虚拟客户端个数的方法进行详细描述。
图3显示了本发明实施例的决定虚拟客户端个数的总体步骤流程,如图3所示,本发明的方法包括以下步骤:
首先,利用跨度搜索算法确定虚拟用户端个数的区间(步骤102);然后,根据二分搜索算法对上述虚拟用户端个数区间进行搜索以确定虚拟用户端个数(步骤104)。
图4给出了本发明实施例的跨度搜索步骤具体流程,如图所示首先设置虚拟用户端的初值,即初始个数:last=1,n=1(步骤202),接着使用上述初始n个虚拟用户端对被测服务端进行测量(步骤204)。
根据被测服务端反馈的实际测量结果,与预定阈值进行比较(步骤206)。这里,实际测量结果为使用n个虚拟客户端测试服务端,服务端实际响应虚拟客户端请求的平均响应时间、最大响应时间或者被测服务端资源使用率,预定阈值为预期中设定期望被测服务端响应虚拟客户端请求的平均响应时间、最大响应时间或者被测服务端资源使用率。
在实际反馈测量结果小于预定阈值时,设定当前虚拟用户端个数的跨度增量,即last=n,n=n+跨度增量(步骤208),从而得到下一步进行测量的虚拟客户端个数。优先地,若测量结果差距越大,设置的下一个n的“跨度增量”也越大。直到实际测量结果超过预定阈值。这时,确定对应的虚拟客户端个数区间为超出预定阈值时对应确定的个数及其前一次测试对应的个数,即区间[last,n]为所求的虚拟用户端个数区间(步骤210)。
图5给出了本发明实施例的二分搜索步骤具体流程,首先根据跨度搜索步骤确定的虚拟客户端个数区间设置初值:[left,right]=区间(步骤302)。接着,判断right区间值与left区间值的差值是否小于等于1(步骤304),即直到区间长度是否不超过1。
在超出1时,搜索该虚拟用户端个数区间的中点mid=(left+right)/2,并使用该中点mid对应个数的虚拟用户端对服务端进行测量(步骤306)。然后,根据服务端反馈的实际测量结果与预定阈值进行比较(步骤308)。
在反馈的实际测量结果小于预定阈值时,设定中点mid为当前虚拟用户端个数的左区间值left,即left=mid(步骤310),即下一步搜索的虚拟用户端个数区间为当前虚拟用户端个数区间的低半部区间;在反馈的实际测量结果不小于预定阈值时,设定中点mid为当前虚拟用户端个数的右区间值right,即right=mid(步骤312),即下一步搜索的虚拟用户端个数区间为当前虚拟用户端个数区间的高半部区间。
然后,返回到步骤304,并重复步骤304到312进行搜索,直至虚拟用户端个数区间长度不超过1,即区间首尾相邻或首尾相等。这时,左区间值left对应的个数即为最终搜索确定的虚拟用户端个数。也就是说,利用该个数的虚拟用户端对服务端进行测试,根据其反馈统计的流量数据即为效能测试的结果。
需要指出的是,在实际搜索中,若计算的中点区间值mid为非整数时,则对mid取整或者加1后取整均可行的。
下面,结合具体的实施例对本发明的虚拟用户端个数搜索进行说明。假定对于一个效能测试工具Tool-A,要求在测试过程中服务端对虚拟用户端的I/O请求的平均响应时间不超过50ms,即50ms的平均响应时间为本实施例搜索过程的预定阈值。
则Tool-A在测试开始之前,先自动确定虚拟用户端的个数。其中,在执行跨度搜索时,
跨度增量的计算使用下表1:
表1
测量结果 | <5ms | 5ms~10ms | 10ms~20ms | 20ms~30ms | 30ms~40ms | 40ms~50ms |
跨度增量 | 7n | 3n | n | 0.5n | 0.1n | 0.05n |
从表1可以看出,在实际的测量结果与预定阈值的差距越大时,所设定的跨度增量越大。例如,在平均响应时间小于5ms时,对应的跨度增量为7n。相反,在实际的测量结果与预定阈值的差距越小时,所设定的跨度增量越小。例如,在平均响应时间接近预定阈值50ms时,对应的跨度增量为0.05n。响应时间越短越快,表示被测服务端所承受的压力还远不够,因此需要大幅度增加虚拟用户端的个数。
在运行过程中,包括跨度搜索与二分搜索的整个搜索过程如下表2所示:
表2
步骤 | n | 测试结果 | 动作 |
跨度搜索-1 | 1 | 0.68ms | n=n+7n→n=8 |
跨度搜索-2 | 8 | 9.32ms | n=n+3n→n=32 |
跨度搜索-3 | 32 | 87.54ms | 区间为[8,32] |
二分搜索-1 | (8+32)/2=20 | 53.18ms | 区间为[8,20] |
二分搜索-2 | (8+20)/2=14 | 37.67ms | 区间为[14,20] |
二分搜索-3 | (14+20)/2=17 | 43.19ms | 区间为[17,20] |
二分搜索-4 | (17+20)/2=19 | 49.25ms | 结果为19 |
从表2可知,在跨度搜索步骤中,在使用三次跨度搜索确定个数的虚拟用户端进行测试后,实际的测试结果大于预定阈值,因此可以确定个数区间。在二分搜索步骤中,在使用四次二分搜索确定个数的虚拟用户端进行测试后,左、右区间的差值不大于1,因此可以确定最终的虚拟用户端个数。
通过上述实施例可知,本发明通过7次测试即能够决定合适的虚拟用户端个数。对于传统方法则需要19次或者20次的测试,而对于需要更大量虚拟用户端,例如上百个clients进行能效测试的话,传统方法则更加耗时。
本发明使用一套固定模式,使测试工具能够自动化地决定虚拟用户端的个数,减少耗时,减少测试人员的重复劳动,并去除测试过程中的微小差异所引起的结果波动,提高效能测试的客观性和效率。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种利用虚拟用户端测试服务端效能的装置,其特征在于,包括:
一搜索模块,该搜索模块利用跨度搜索算法和二分搜索算法确定用于测试的虚拟用户端个数;
一I/O模拟模块,该I/O模拟模块模拟对应个数的虚拟用户端向被测服务端发送I/O请求;以及
一统计模块,该统计模块根据被测服务端的反馈统计流量数据以得到对应的测试效能。
2.根据权利要求1所述的利用虚拟用户端测试服务端效能的装置,其特征在于,该搜索模块根据该跨度搜索算法确定虚拟用户端个数的区间,以及根据该二分搜索算法对该虚拟用户端个数区间进行搜索以确定该虚拟用户端个数。
3.一种决定权利要求1所述的装置中的虚拟用户端个数的方法,该方法包括以下步骤:
a)利用跨度搜索算法确定虚拟用户端个数的区间;以及
b)根据二分搜索算法对该虚拟用户端个数区间进行搜索以确定该虚拟用户端个数。
4.根据权利要求3所述的方法,其特征在于,该步骤a包括:
设定虚拟用户端的初始个数,并使用该初始个数的虚拟用户端对被测服务端进行测量;
将被测服务端反馈的测量结果与预定阈值进行比较;以及
根据比较结果确定下一步进行测量的虚拟用户端个数或者搜索得到该虚拟用户端个数区间。
5.根据权利要求3所述的方法,其特征在于,在该反馈测量结果小于该预定阈值时,设定当前虚拟用户端个数的跨度增量,以得到下一步进行测量的虚拟用户端个数。
6.根据权利要求5所述的方法,其特征在于,根据该反馈测量结果与该预定阈值的差距大小设定该跨度增量大小。
7.根据权利要求3所述的方法,其特征在于,该步骤b包括:
搜索该虚拟用户端个数区间的中点;
使用该中点对应个数的虚拟用户端对被测服务端进行测量;
将被测服务端反馈的测量结果与预定阈值进行比较;
根据比较结果以及当前虚拟用户端个数区间中点确定下一步搜索的虚拟用户端个数区间;以及
重复上述步骤直至虚拟用户端个数区间首位相邻或相等。
8.根据权利要求7所述的方法,其特征在于,
当该反馈的测量结果低于该预定阈值时,下一步搜索的虚拟用户端个数区间为当前虚拟用户端个数区间的低半部区间;
当该反馈的测量结果不低于该预定阈值时,下一步搜索的虚拟用户端个数区间为当前虚拟用户端个数区间的高半部区间。
9.根据权利要求4所述的方法,其特征在于,该预定阈值为被测服务端响应虚拟用户端请求的平均响应时间、最大响应时间或者被测服务端资源使用率。
10.根据权利要求7所述的方法,其特征在于,该预定阈值为被测服务端响应虚拟用户端请求的平均响应时间、最大响应时间或者被测服务端资源使用率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102533086A CN101877699A (zh) | 2009-11-30 | 2009-11-30 | 测试服务端效能的装置及决定虚拟客户端个数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102533086A CN101877699A (zh) | 2009-11-30 | 2009-11-30 | 测试服务端效能的装置及决定虚拟客户端个数的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101877699A true CN101877699A (zh) | 2010-11-03 |
Family
ID=43020162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102533086A Pending CN101877699A (zh) | 2009-11-30 | 2009-11-30 | 测试服务端效能的装置及决定虚拟客户端个数的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101877699A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023726A (zh) * | 2012-12-24 | 2013-04-03 | 云海创想信息技术(北京)有限公司 | 测试网络存储设备最大主机连接数的方法及系统 |
CN104462341A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 网络实体的提交方法及装置 |
-
2009
- 2009-11-30 CN CN2009102533086A patent/CN101877699A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023726A (zh) * | 2012-12-24 | 2013-04-03 | 云海创想信息技术(北京)有限公司 | 测试网络存储设备最大主机连接数的方法及系统 |
CN104462341A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 网络实体的提交方法及装置 |
CN104462341B (zh) * | 2014-12-04 | 2017-11-21 | 北京国双科技有限公司 | 网络实体的提交方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
US7457729B2 (en) | Model based testing for electronic devices | |
CN107391373B (zh) | 基于AutoIT的性能自动化测试方法 | |
CN109462853B (zh) | 一种基于神经网络模型的网络容量预测方法 | |
CN105279061A (zh) | 服务器接口并发测试的方法和装置 | |
CN102478624A (zh) | 电路板测试分析报告自动生成系统及方法 | |
CN101877699A (zh) | 测试服务端效能的装置及决定虚拟客户端个数的方法 | |
CN102567351B (zh) | 一种数据库变更效果的测试方法及测试装置 | |
CN117131437A (zh) | 发动机振动故障隔离方法 | |
CN109540446B (zh) | 基于时域冲击面积的固体发动机跌落式冲击试验处理方法 | |
CN109327354B (zh) | 一种生成信号转发测试用例的方法、装置及测试系统 | |
CN111176253A (zh) | 一种基于蒙特卡洛的飞行控制律自动评估方法 | |
CN113611348B (zh) | 打点方法、装置、电子设备及存储介质 | |
CN115576831A (zh) | 一种测试案例推荐方法、装置、设备及存储介质 | |
CN109214447A (zh) | 模型训练方法及装置、磁盘寿命预测方法及装置 | |
CN112231236A (zh) | 一种数据库性能的测试方法 | |
CN108712303B (zh) | 一种云平台的尾延迟测评系统和方法 | |
CN111243647B (zh) | 闪存编程参数确定方法、装置、电子设备及存储介质 | |
CN113849484A (zh) | 一种大数据组件升级方法、装置、电子设备及存储介质 | |
CN109946069B (zh) | 一种基于载荷谱的数控装备拖链可靠性加速试验方法 | |
Mao et al. | Extracting the representative failure executions via clustering analysis based on Markov profile model | |
CN105912681A (zh) | 电力营销用数据库老化测试方法及系统 | |
CN110852418A (zh) | 神经网络模型的数据处理方法及装置、存储介质、终端 | |
CN110851344A (zh) | 基于计算公式复杂性的大数据测试方法、装置、电子设备 | |
CN106855841B (zh) | 一种系统内存分析方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20101103 |