CN111274112B - 应用程序压测方法、装置、计算机设备和存储介质 - Google Patents
应用程序压测方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111274112B CN111274112B CN202010073434.XA CN202010073434A CN111274112B CN 111274112 B CN111274112 B CN 111274112B CN 202010073434 A CN202010073434 A CN 202010073434A CN 111274112 B CN111274112 B CN 111274112B
- Authority
- CN
- China
- Prior art keywords
- pressure measurement
- background server
- pressure
- server cluster
- result set
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Measuring Fluid Pressure (AREA)
Abstract
本申请涉及一种应用程序压测方法、装置、计算机设备和存储介质。所述方法包括:通过接收压测服务器发送的压测速度配置信息,该压测速度配置信息用于指示多个不同批次压测的压测速度,该压测速度用于表征单位时间内访问待测应用程序的第一后台服务器集群的次数;然后根据该目标压测设备的性能分别对多个不同批次压测的压测速度进行调整,得到多个不同批次压测的调整压测速度;最后根据多个不同批次压测的调整压测速度,分别对该第一后台服务器集群进行多个不同批次的压测,得到压测结果集合,该压测结果集合用于确定该第一后台服务器集群的并发性能。采用本方法能够提高对于应用程序进行压测的可靠性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序压测方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了相关的应用程序测评技术,应用程序测评的主要目的是为了评估待测应用程序的性能,其中对于应用程序的并发性能的测评(也称压测)属于应用程序测评中重要的一环。
具体的,可以利用相关的测评软件对待测应用程序的并发性能进行压测。其基本原理是,利用测评软件所在的压测设备产生出访问待测应用程序的后台服务器集群的并发请求,然后收集待测应用程序的后台服务器集群对于并发请求的压测结果数据,根据压测结果数据评估待测软件的并发性能。
然而,测评软件能够产生的并发请求数的多少依赖于其所在的压测设备的配置高低,当需要产生大量的并发请求时,往往会因为压测设备的配置过低而造成压测失败的结果,因此,相关的利用测评软件对应用程序的后台服务器集群进行并发性能测评时,会存在可靠性低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高可靠性的应用程序压测方法、装置、计算机设备和存储介质。
第一方面,提供一种应用程序压测方法,用于压测***中的目标压测设备中,该压测***包括压测服务器和多个压测设备,该目标压测设备为该多个压测设备中的任一个,该方法包括:
接收该压测服务器发送的压测速度配置信息,该压测速度配置信息用于指示多个不同批次压测的压测速度,该压测速度用于表征单位时间内访问待测应用程序的第一后台服务器集群的次数;
根据该目标压测设备的性能分别对多个不同批次压测的压测速度进行调整,得到多个不同批次压测的调整压测速度;
根据多个不同批次压测的调整压测速度,分别对该第一后台服务器集群进行多个不同批次的压测,得到压测结果集合,该压测结果集合用于确定该第一后台服务器集群的并发性能,该压测结果集合包括与多个不同批次的压测一一对应的多个压测结果。
在其中一个实施例中,该多个压测设备包括用于确定该第一后台服务器集群的并发性能的第一压测设备,该方法还包括:
当该目标压测设备为该第一压测设备时,接收该多个压测设备中除该目标压测设备以外的其他压测设备发送的压测结果集合;根据接收到的压测结果集合以及该目标压测设备测得的压测结果集合确定该第一后台服务器集群的并发性能。
在其中一个实施例中,该压测结果包括多项压测数据,该多项压测数据包括吞吐量、错误率和性能中的至少一个,该根据接收到的压测结果集合以及该目标压测设备测得的压测结果集合确定该第一后台服务器集群的并发性能,包括:
根据压测结果对应的压测批次,将接收到的压测结果集合以及该目标压测设备测得的压测结果集合中的压测结果划分至不同的候选压测结果集合中,其中,每个该候选压测结果集合与不同的压测批次对应;确定每个该候选压测结果集合对应的实际压测速度,该实际压测速度为该多个压测设备在同一批次压测中的压测速度之和;根据该实际压测速度和该候选压测结果集合中的多项压测数据确定该第一后台服务器集群的并发性能。
在其中一个实施例中,该根据该实际压测速度和该候选压测结果集合中的多项压测数据确定该第一后台服务器集群的并发性能,包括:
对于每项压测数据,确定每个该候选压测结果集合对应的压测数据综合值;对于每项压测数据,根据每个该候选压测结果集合对应的实际压测速度,对每个该候选压测结果集合对应的压测数据综合值进行排序,得到排序压测数据综合值序列;根据每项压测数据对应的压测数据综合值序列确定该第一后台服务器集群的并发性能。
在其中一个实施例中,该根据每项压测数据对应的压测数据综合值序列确定并发性能,包括:
对于多项压测数据中的目标项压测数据,从该目标项压测数据对应的压测数据综合值序列中确定目标压测数据综合值,该目标压测数据综合值为最大值、最小值或大于预设阈值的值;将该目标压测数据综合值对应的实际压测速度作为目标实际压测速度;根据该目标实际压测速度和该目标实际压测速度对应的每项压测数据综合值确定该第一后台服务器集群的并发性能。
在其中一个实施例中,该方法还包括:
根据多个不同批次压测的调整压测速度,分别对第二后台服务器集群进行多个不同批次的压测,得到该第二后台服务器集群的压测结果集合,该第二后台服务器集群的压测结果集合用于确定该集群的并发性能,该第二后台服务器集群的压测结果集合包括与多个不同批次的压测一一对应的多个压测结果,其中,该第二后台服务器集群与该第一后台服务器集群包含的服务器数量不同;根据该第二后台服务器集群的压测结果集合与该第一后台服务器集群的压测结果集合确定服务器的数量对该待测应用程序的后台服务器集群并发性能的影响。
在其中一个实施例中,该方法还包括:
根据拓扑连接关系,获取与该第一后台服务器集群存在调用关系的多个第三后台服务器集群;根据多个不同批次压测的调整压测速度,分别对该多个第三后台服务器集群进行多个不同批次的压测,得到该多个第三后台服务器集群的压测结果集合,该多个第三后台服务器集群的压测结果集合用于确定该多个第三后台服务器集群各自的并发性能,该多个第三后台服务器集群的压测结果集合包括与多个不同批次的压测一一对应的多个压测结果;根据该多个第三后台服务器集群各自的并发性能确定该多个第三后台服务器集群中的瓶颈位置,该瓶颈位置用于表征该多个第三后台服务器集群中并发性能未达到预设标准的服务器集群。
第二方面,提供一种应用程序压测装置,用于压测***中的目标压测设备中,该压测***包括压测服务器和多个压测设备,该目标压测设备为该多个压测设备中的任一个,该装置包括:
接收模块,用于接收该压测服务器发送的压测速度配置信息,该压测速度配置信息用于指示多个不同批次压测的压测速度,该压测速度用于表征单位时间内访问待测应用程序的第一后台服务器集群的次数;
调整模块,用于根据该目标压测设备的性能分别对多个不同批次压测的压测速度进行调整,得到多个不同批次压测的调整压测速度;
压测模块,用于根据多个不同批次压测的调整压测速度,分别对该第一后台服务器集群进行多个不同批次的压测,得到压测结果集合,该压测结果集合用于确定该第一后台服务器集群的并发性能,该压测结果集合包括与多个不同批次的压测一一对应的多个压测结果。
第三方面,提供一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面任一所述的应用程序压测方法。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面任一所述的应用程序压测方法。
上述应用程序压测方法、装置、计算机设备和存储介质,通过接收压测服务器发送的压测速度配置信息,该压测速度配置信息用于指示多个不同批次压测的压测速度,该压测速度用于表征单位时间内访问待测应用程序的第一后台服务器集群的次数;然后根据该目标压测设备的性能分别对多个不同批次压测的压测速度进行调整,得到多个不同批次压测的调整压测速度;最后根据多个不同批次压测的调整压测速度,分别对该第一后台服务器集群进行多个不同批次的压测,得到压测结果集合,该压测结果集合用于确定该第一后台服务器集群的并发性能,该压测结果集合包括与多个不同批次的压测一一对应的多个压测结果。因为,本申请提供的应用程序压测方法,在需要实现大量压测请求时,可以将大量压测请求拆分给多个压测设备,由多个压测设备共同来实现对待测应用程序的第一后台服务器集群的大量并发访问,并且由于每个压测设备在访问第一后台服务器集群之前都会根据自身性能对压测速度进行调整,这样极大地避免了由于压测请求数量过多或者压测设备性能低导致的压测失败,提高了对于应用程序进行压测的可靠性。
附图说明
图1为一个实施例中应用程序压测方法的应用环境图;
图2为一个实施例中应用程序压测方法的流程示意图;
图3为一个实施例中应用程序压测方法中确定该第一后台服务器集群的并发性能的流程示意图;
图4为另一个实施例中应用程序压测方法中确定该第一后台服务器集群的并发性能的流程示意图;
图5为又一个实施例中应用程序压测方法中确定该第一后台服务器集群的并发性能的流程示意图;
图6为又一个实施例中应用程序压测方法中确定该第一后台服务器集群的并发性能的流程示意图;
图7为一个实施例中应用程序压测方法中确定服务器的数量对该待测应用程序的后台服务器集群并发性能的影响的流程示意图;
图8为一个实施例中应用程序压测方法中确定多个第三后台服务器集群中的瓶颈位置的流程示意图;
图9为一个实施例中应用程序压测装置的结构框图;
图10为另一个实施例中应用程序压测装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的应用程序压测方法,可以应用于如图1所示的应用环境中。其中,本申请的应用环境可以包括多个压测设备101,图1中仅示例性地画出三个压测设备101,每个压测设备101都可以作为目标压测设备。现对其中某一台压测设备101为目标压测设备时的情况进行说明。首先目标压测设备101通过网络连接与压测服务器102进行通信。目标压测设备101可以接收压测服务器102发送的压测速度配置信息,该压测速度配置信息用于指示多个不同批次压测的压测速度,该压测速度用于表征单位时间内访问待测应用程序的第一后台服务器集群的次数,然后该目标压测设备101会根据自身的性能对压测速度进行调整,得到调整后的压测速度,最后目标压测设备101会按照调整后的压测速度对第一后台服务器集群103进行多个不同批次的压测,得到压测结果集合,该压测结果集合用于确定该第一后台服务器集群103的并发性能,该压测结果集合包括与多个不同批次的压测一一对应的多个压测结果。
其中,多个压测设备101(包括目标压测设备)可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,压测服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现,第一后台服务器集群103可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在本申请实施例中,如图2所示,提供了一种应用程序压测方法,以该方法应用于图1中的目标压测设备为例进行说明,包括以下步骤:
步骤201,目标压测设备接收该压测服务器发送的压测速度配置信息,该压测速度配置信息用于指示多个不同批次压测的压测速度,该压测速度用于表征目标压测设备单位时间内访问待测应用程序的第一后台服务器集群的次数。
本申请中,向第一后台服务器集群发起压测,意为在单位时间内向第一后台服务器集群进行预设次数的访问,具体来说就是压测设备模拟用户访问第一后台服务器集群的操作,就是向被压测的***的统一资源定位符(英文:URL)发起的超文本传输协议(英文:HTTP)或超文本传输安全协议(英文:HTTPS)访问,压测服务器会按照待测应用程序的第一后台服务器集群的要求,把正常访问所需要的HTTP请求头信息、储存在用户本地终端上的数据(英文:cookie)和参数都设置好并通过操作***的管道机制传递给压测设备,然后采用URL支持的查(英文:Get)、改(英文:Post)或增(英文:Put)的方法执行这个HTTP访问请求并解析结果。当需要改变压测的参数时,即希望不同的访问请求的参数不同时,如果是数值型的参数,可以采用运维自动化工具通过循环语句控制数值通过自增或随机等方式为每个访问请求产生不同的参数,再通过操作***的管道机制把这些参数传递给压测设备执行对应的请求;如果是字符串类型的参数,可以编程生成一定数量的不重复的参数值,然后保存到文件中,压测过程中再从文件读取不断变化的数据作为访问请求的参数来压测。
本申请中,压测设备上可以安装有压测软件,可以通过压测软件向第一后台服务器集群发起压测。压测软件由计算机编程语言所开发,通过利用计算机编程语言的协程以及它对多核中央处理器(英文:CPU)的支持来改进压测的效率、压测设备内存和压测设备CPU资源的占用。一般情况下一台压测设备会部署一个压测软件,如果压测设备的内存充足或CPU核数较多,可以在一个压测设备上同时运行多个压测软件。
压测软件的主要功能包括:接收压测服务端发送的过来的压测速度配置信息,然后以纳秒为每一次访问的耗时的计算单位,通过计算机编程语言的协程在一个访问完成后立即执行新的访问,每次执行完一个访问都立即在内存中动态计算压测软件的休眠时长和是否要停止压测。主要计算方式:先计算压测速度的单位时长与压测速度的比值,得到相邻两次访问的平均时间间隔值,那么每执行完一个访问后的休眠时长=时间间隔值*(1+已完成的访问数)-单位时长内已用去的时长,当休眠时长小于等于零时立即停止压测,下一个访问执行之前先按照计算出来的休眠时长等待,通过这种方式可以保证每秒内执行完成指定的数量的访问请求。
压测设备通过一个个的工作者来组织上述过程,默认会自动启动10个工作者,允许在压测开始时指定启动的工作者的数目,工作者的数目与压测速度或并发量的乘积就是一个压测设备实际模拟出来的并发访问的用户数。
如果需要改变压测的速度,可以指定每隔多长时间增加多少个访问请求以及每次增加之后,保持新的压测速度多长时间。或者通过脉冲的方式每次增加不超过多大范围的访问请求数量以及发起脉冲请求多少次,然后压测设备随机地增加一定数量的脉冲访问请求数,之后恢复原来的压测速度,最后采集、记录每个访问请求的压测结果。
该压测服务器的主要功能包括:被压测的应用程序的后台服务器集群、项目、接口以及调用关系信息的管理;压测设备和脚本的管理和调度、压测任务的制定和调度执行以及压测过程的监控。压测服务器在对多个压测设备进行管理时,可以实现对不同的后台服务器集群进行并行压测。这里提到的并行压测的含义是,压测服务器可以同时控制多个压测设备分别对不同的后台服务器集群进行压测,也可以控制同一个压测设备同时对不同的后台服务器集群进行压测。在积累到一定数量、不同压测速度或并发量的压测结果之后,压测服务器可以得出压测过程的趋势分析、压测结果的报表、并发性能瓶颈位置分析以及服务器数量对于并发性能的影响分析。其中,压测服务器可以采用录屏或截图等方式来保存并展示压测过程中的关键信息。可选的,压测服务器可以按照预设的时间间隔进行录屏或截图,还可以按照对压测过程关键信息实时的分析来判断是否需要录屏或截图。具体的,可以设置时间间隔为每隔固定时长,或者在每个批次的压测结束后自动录屏或截图。上述对压测过程关键信息实时的分析可以是分析压测过程中压测数据的成功率或性能是否满足预设标准,例如当成功率开始呈现降低趋势或性能开始呈现增加趋势时进行录屏或截图的操作。需要说明的是,上述压测服务器的主要功能也可以由压测设备来实现。
一般来说,需要进行多次不同压测速度的访问并且压测速度要足够大的时候才可以得到有效的压测结果数据。实际操作中,相邻的压测速度之间的差异控制在一百到几百之间。可选的,本申请中的压测速度可以由压测服务器向各个压测设备分发,再由各个压测设备协同实现后续的压测过程。具体的,压测服务器向各个压测设备发送的压测速度配置信息可以包括多个不同批次的时间信息和压测速度信息,压测设备可以根据压测速度配置信息确定分别需要在什么时刻,以多大的压测速度访问第一后台服务器集群。可选的,压测服务器可以分多次向压测设备发送压测速度配置信息,也可以一次性向压测设备发送全部的压测速度配置信息。
在调度各个压测设备并行地执行压测时,先配置需要执行压测的各个压测设备之间能通过安全外壳协议(英文:SSH)互相免密登录,接下来使用重击(英文:Bash)脚本调用部署在各个压测设备上的任意运维自动化工具来进一步调用部署在每个压测设备上的压测软件,同时向压测软件传递启动压测所需要的各个参数。接下来,每个客户端都会按照分配的压测速度每秒产生一定数量的访问第一后台服务器集群的操作请求、执行并本地记录压测结果。
步骤202,目标压测设备根据该目标压测设备的性能分别对多个不同批次压测的压测速度进行调整,得到多个不同批次压测的调整压测速度。
一般情况下,一个压测设备能够实现的实际压测速度的大小受自身性能高低的影响非常大,当压测设备需要执行超出自身性能的压测速度时,往往会出现压测失败的现象。为了避免压测失败的现象出现,本步骤中引入了调整压测速度的操作。
具体的,目标压测设备可以根据历史压测数据、自身的配置情况,计算出自身的性能系数。具体的,该性能系数一般可以由历史压测中目标压测设备能实现的压测速度的最大值、目标压测设备CPU的核心数量或目标压测设备的内存占用率得到,并且允许用户调用这个性能系数。每次压测启动后,压测服务器通过SSH免密登录后,通过压测服务器执行相关程序来调用各个压测设备上的启动压测的脚本,通过脚本启动压测设备执行压测。启动之前,目标压测设备把自身性能系数与分别压测服务器发送的不同批次的压测速度相乘之后的值作为最终实际访问第一后台服务器集群的压测速度。如果是定速模式的压测,直接把这个相乘之后的到的值作为整个压测过程的压测速度。
通过使用性能系数,使得在压测过程中每个压测设备的中央处理器或内存能尽量充分利用,同时各个压测设备能保持稳定,不会出现死机或者压测过程中途退出等异常情况。
可选的,如果目标压测设备完成不了压测服务器分配的压测速度,则把剩下的访问请求放到紧接着的下一秒或下一批次执行,每一秒或每一批次只要完成了需要完成的访问请求数量之后即不在发起新的请求。如果后面累积的需要补充完成的访问请求数越来越多,则在预计压测应完成的时刻之后继续压测,压测过程中出现延迟后先把需要补充完成的访问请求数累加起来,每完成一个访问请求,直接在内存中减1来计算接下来应完成的访问请求个数,直到最后完成全部请求。如果一个压测设备累积的待完成的访问请求数量过大,例如超过剩余应完成的访问请求数的一定倍数,压测设备支持通过第三方消息队列把待执行的访问请求数广播给其他压测设备,其他压测设备收到广播消息后,会检查自身待执行的访问请求数,如果没有累加会消费掉对应的广播消息,通过这种方式,实现了压测设备本身及各个压测设备之间协作的稳定的压测速度保障体系。
步骤203,目标压测设备根据多个不同批次压测的调整压测速度,分别对该第一后台服务器集群进行多个不同批次的压测,得到压测结果集合,该压测结果集合用于确定该第一后台服务器集群的并发性能,该压测结果集合包括与多个不同批次的压测一一对应的多个压测结果。
其中,多个压测设备中的任一个压测设备都可以作为统计所有压测设备的压测结果集合的第一压测设备。
压测过程中,每个压测设备都会存储自己的压测结果集合,压测结果集合中包括压测数据,压测数据中的信息有:单位时间的时间戳信息、单位时间的性能、HTTP响应的状态码、输入和输出的字节数和访问的响应结果等等,从这些压测结果数据可以绘制整个压测过程的完整趋势图。每个压测设备在压测结束后都会统计自己的压测结果数据,得到压测结果集合,压测结果集合中的数据包括总共完成的访问数、实际的压测速度、并发量、吞吐量、总共的压测过程的耗时、压测时间、等待时间、输入和输出的总流量及平均流量字节数、错误率以及根据状态码分类统计各个状态对应的压测请求的数目,一个状态码作为一个访问请求类别。
在整个压测过程中,操作人员可以手动设置压测设备停止压测,压测设备也可以通过指定接口接收停止指令来停止压测。在一种可能的实现方式中,压测设备还可以通过对压测过程中压测数据的判断来确认是否需要停止压测。具体的,当压测数据中成功率的值低于预设阈值或性能的值高于预设阈值时则停止压测,这里提到的停止压测可以是保持当前的压测速度不再增加或者直接停止对第一后台服务器集群发出访问请求。
当压测的结果数据积累的越来越多时,还可以按业务类型或技术方案的类型,把所有待测应用程序的后台服务器集群的单机并发性能的测试数据分类后,再分等级。以这些数据为基础,可以为每一个待测应用程序的后台服务器集群的相同配置的单机压测结果数据,输出并发性能的雷达图,从而得到待测应用程序的后台服务器集群的主要并发性能指标的质量等级,帮助相关的技术人员对待测应用程序的后台服务器集群的并发性能和稳定性指标形成全面的了解。
一般来说,我们会从压测结果数据中的吞吐量、错误率(或成功率)和性能三个维度来评测待测应用程序的第一后台服务器集群的并发性能,具体评测的内容包括:并发性能的容量、并进一步确定在满足一定并发性能指标的前提下被压测***能够承受的并发访问量的上限,增加或减少第一后台服务器集群中服务器的数量后预计的并发性能和并发性能瓶颈的位置。
上述应用程序压测方法中,通过接收压测服务器发送的压测速度配置信息,该压测速度配置信息用于指示多个不同批次压测的压测速度,该压测速度用于表征单位时间内访问待测应用程序的第一后台服务器集群的次数;然后根据该目标压测设备的性能分别对多个不同批次压测的压测速度进行调整,得到多个不同批次压测的调整压测速度;最后根据多个不同批次压测的调整压测速度,分别对该第一后台服务器集群进行多个不同批次的压测,得到压测结果集合,该压测结果集合用于确定该第一后台服务器集群的并发性能,该压测结果集合包括与多个不同批次的压测一一对应的多个压测结果。因为,本申请提供的应用程序压测方法,在需要实现大量压测请求时,可以将大量压测请求拆分给多个压测设备,由多个压测设备共同来实现对待测应用程序的第一后台服务器集群的大量并发访问,并且由于每个压测设备在访问第一后台服务器集群之前都会根据自身性能对压测速度进行调整,这样极大地避免了由于压测请求数量过多或者压测设备性能低导致的压测失败,提高了对于应用程序进行压测的可靠性。
在本申请实施例中,该多个压测设备包括用于确定该第一后台服务器集群的并发性能的第一压测设备。请参考图3,提供了一种应用程序压测方法中确定该第一后台服务器集群的并发性能的方法,该方法包括:
步骤301,当该目标压测设备为该第一压测设备时,目标压测设备接收该多个压测设备中除该目标压测设备以外的其他压测设备发送的压测结果集合。
本申请中,多个压测设备除了用于向待测应用程序的第一后台服务器集群发出并发访问请求外,还可以用于监控第一后台服务器集群的并发性能。可选的,可以预先规定该第一压测设备为多个压测设备中特定的一个压测设备,还可以根据实际压测时的需要将某个压测设备作为该第一压测设备,本申请是针对于当目标压测设备为第一压测设备时的情况对第一压测设备上的操作来做具体的举例说明。
具体的,压测结束后,目标压测设备通过执行一个Bash脚本从各个压测设备拷贝各个压测软件生成的压测结果集合文件到本地,然后在脚本中执行目标压测设备按压测执行的时间戳合并所有的压测结果数据后输出,最后由目标压测设备解析输出结果为一个个的字段后存储。
其中,上述具体的合并方法可以是:按时间维度计算吞吐量,即通过所有成功执行的访问的数量与其耗费时长的比值来计算。定速压测时,实际的压测速度或并发量的计算可以是,记录每秒实际完成的请求的数量中,如果出现情况最多的值的占比超过一定是数值,例如90%,则使用这个值,否则采用平均值。压测时长按整个压测过程的耗时计算,等待时长按实际等待时长的累加计算,其他的值根据其具体的含义计算。
步骤302,目标压测设备根据接收到的压测结果集合以及该目标压测设备测得的压测结果集合确定该第一后台服务器集群的并发性能。
经过上述步骤中目标压测设备将各个压测设备上的压测结果集合进行合并之后,我们就可以得到第一后台服务器集群的并发性能容量分析结果。具体的,合并后的压测结果集合中包括各个压测设备协同产生的不同压测速度下第一后台服务器集群的各种压测结果数据。可以通过分析压测速度的变化以及压测结果数据中感兴趣数据的变化,分析出第一后台服务器集群的并发性能。
本申请实施例中,通过合并各个压测设备上的压测结果集合,可以准确的根据合并后的压测结果集合分析出第一后台服务器集群的并发性能。
在本申请实施例中,该压测结果包括多项压测数据,该多项压测数据包括吞吐量、错误率和性能中的至少一个,请参考图4,提供了另一种应用程序压测方法中确定该第一后台服务器集群的并发性能的方法,该方法包括:
步骤401,目标压测设备根据压测结果对应的压测批次,将接收到的压测结果集合以及该目标压测设备测得的压测结果集合中的压测结果划分至不同的候选压测结果集合中,其中,每个该候选压测结果集合与不同的压测批次对应。
基于上述实施例的合并各个压测设备的压测结果集合的基础上,本步骤对于合并的过程进行了更为具体的说明。首先,从上述内容可知,实际的压测是分不同的批次进行的,并且不同的批次会对应不同的压测速度。所以,在合并压测结果集合时,需要根据批次的不同对获取到的各个压测设备上的压测结果集合首先进行初步的划分,然后针对每个批次对应的那些压测结果集合再按照每项数据的含义进行合并。
步骤402,目标压测设备确定每个该候选压测结果集合对应的实际压测速度,该实际压测速度为该多个压测设备在同一批次压测中的压测速度之和。
本步骤中具体提出了一种如何得到合并后的不同批次对应的实际压测速度的方法。具体的,根据压测速度的含义,将同一批次对应的各个压测结果集合中的调整后压测速度进行加和,即可得到该批次实际的压测速度。
例如,压测***中现包括甲、乙和丙三台压测设备。在同一批次的压测过程中,甲、乙和丙三台压测设备分别实现的压测速度为1000次每秒、2000次每秒和3000次每秒。那么对于该批次的压测来说,实际的压测速度为甲、乙和丙三台压测设备分别实现的压测速度之和6000次每秒。相当于在该批次的压测中,整个压测***对于第一后台服务器实现了6000次每秒的访问。
步骤403,目标压测设备根据该实际压测速度和该候选压测结果集合中的多项压测数据确定该第一后台服务器集群的并发性能。
在确定了每个批次的实际压测速度之后,压测结果数据中与实际压测速度对应的其他项数据可以按照该数据项的含义进行合并。例如,该数据项表示某项数据在压测过程中的最小值,那么就可以将各个压测结果中该项数据的最小值作为该项数据合并后的值;当该数据项表示某项数据在压测过程中的最大值或平均值时的合并过程可以此类推。
本申请实施例中,通过对压测结果集合中压测速度的合理合并,使得最终对第一后台服务器集群的并发性能的判断更加准确。
在本申请实施例中,请参考图5,提供了又一种应用程序压测方法中确定该第一后台服务器集群的并发性能的方法,该方法包括:
步骤501,对于每项压测数据,目标压测设备确定每个该候选压测结果集合对应的压测数据综合值。
本步骤中确定每个该候选压测结果集合对应的压测数据综合值的技术手段与技术效果与上述步骤403类似,在此不再赘述。
步骤502,对于每项压测数据,目标压测设备根据每个该候选压测结果集合对应的实际压测速度,对每个该候选压测结果集合对应的压测数据综合值进行排序,得到排序压测数据综合值序列。
本步骤中,将每个该候选压测结果集合的压测数据综合值按照实际压测速度从大到小进行排序是为了确定出当第一后台服务器集群收到的并发访问数增多的情况下,压测结果中反馈的各项数据的变化趋势,便于分析第一后台服务器集群的并发性能。
步骤503,目标压测设备根据每项压测数据对应的压测数据综合值序列确定该第一后台服务器集群的并发性能。
本申请实施例中,通过对实际压测速度进行排序,然后根据排序之后的压测数据综合值判断第一后台服务器集群的并发性能,可以清晰地判断出各项压测数据随着压测速度的变化而产生的变化,提高了判断第一后台服务器集群的并发性能的效率。
在本申请实施例中,请参考图6,提供了又一种应用程序压测方法中确定该第一后台服务器集群的并发性能的方法,该方法包括:
步骤601,对于多项压测数据中的目标项压测数据,目标压测设备从该目标项压测数据对应的压测数据综合值序列中确定目标压测数据综合值,该目标压测数据综合值为最大值、最小值或大于预设阈值的值。
本步骤中提到的目标项压测数据一般为能够直接反应第一后台服务器集群的并发性能的数据。例如,吞吐量、错误率、成功率或性能等,其中,吞吐量指的是第一后台服务器集群单位时间内能够成功处理的访问数,错误率指的是第一后台服务器集群在一个批次的压测过程中不能成功处理的访问数占全部访问数的比值,成功率的概念可由错误率的概念类似得出,性能指的是第一后台服务器集群在一个批次的压测过程中处理访问请求所需的时长信息,一般包括最大性能、平均性能和成功响应的最慢的部分访问数的性能(英文:P*,其中*为数字)。例如,P90表示所有被成功响应的访问中,最慢的90%的被成功响应的访问数所花费的平均响应时间。
目标压测设备确定目标压测数据综合值是为了在目标项压测数据综合值中确定出第一后台服务器集群对于不同压测速度的反馈效果,由此可以确定出第一后台服务器集群的并发性能。
现对上述确定目标压测数据综合值的过程做举例说明,在单位时间内的访问的数量(实际压测速度)逐渐增加的情况下,分析第一后台服务器集群的压测结果数据。如果某项压测结果数据从某一实际压测速度开始,出现错误率超过预设阈值并且呈逐步增加趋势;或者从某一实际压测速度压测开始平均性能及最大性能都在增加并且超过了指定阈值,同时后面更高的压测速度下,性能指标仍然保持增大趋势,则将开始出现上述变化趋势的压测数据综合值确定为目标压测数据综合值。
如果压测过程中,在最大的压测速度的压测结果数据中,平均性能没有明显增加或成功率仍然100%,则说明需要采用更大的压测速度继续压测,直至压测结果数据能够有助于分析出被压测***的吞吐量的上限。
步骤602,目标压测设备将该目标压测数据综合值对应的实际压测速度作为目标实际压测速度。
在经过上述步骤中确定目标压测数据综合值之后,可以通过确定该目标压测数据综合值对应的实际压测速度,进而确定需要重点分析压测数据。
步骤603,目标压测设备根据该目标实际压测速度和该目标实际压测速度对应的每项压测数据综合值确定该第一后台服务器集群的并发性能。
具体的,可以将上述目标实际压测速度对应的各项压测数据的综合值输出,作为第一后台服务器集群并发性能的分析记录,包括对应的预设阈值、吞吐量、错误率、错误类型及各个类型的数量、平均性能、最大性能、P90以及P95的性能、平均流量和总流量等。
通过这种方式,采用不同的目标压测数据综合值(例如,成功率99.9%同时平均性能小于1秒、99%同时平均性能低于2秒,如果有多个限定指标,可以一起做逻辑与从压测数据中查询),可以得到对应的分析记录。通过这种方式,针对每一组目标压测数据综合值,多次执行压力测试,吞吐量、错误率和成功率、性能可以分别计算出最小值、平均值和最大值的范围并结合不同的目标压测数据综合值建立相应的第一后台服务器集群的并发性能的档案。
在本申请实施例中,通过确定目标压测数据综合值,然后将目标压测数据综合值对应实际压测速度的各项压测数据综合值输出,可以快速准确地可以对任意的第一后台服务器集群,建立一系列的并发性能阀值的范围记录。
在本申请实施例中,请参考图7,提供了一种应用程序压测方法中确定服务器的数量对该待测应用程序的后台服务器集群并发性能的影响的方法,该方法包括:
步骤701,目标压测设备根据多个不同批次压测的调整压测速度,分别对第二后台服务器集群进行多个不同批次的压测,得到该第二后台服务器集群的压测结果集合,该第二后台服务器集群的压测结果集合用于确定该集群的并发性能,该第二后台服务器集群的压测结果集合包括与多个不同批次的压测一一对应的多个压测结果,其中,该第二后台服务器集群与该第一后台服务器集群包含的服务器数量不同。
本步骤中,改变后台服务器集群中服务器的数量的行为可以称为扩容或者缩容,对于待测应用程序的后台服务器集群进行进行扩缩容的压测是为了确定服务器数量对于并发性能容量或者压测结果数据中各项数据的影响。
具体的,可以选定一组并发性能指标的阀值用来测试后续不同数量服务器的后台服务器集群时的并发性能。例如,成功率不低于99.9%、平均性能小于1秒、最大性能小于5秒。同时采用相同配置的服务器,分别测试出被压测***在一定数量服务器的后台服务器集群时,增加或减少一定数量的服务器时,在保持相同并发性能指标时,执行一定次数的压测来获得对应的并发性能的压测数据,然后为被压测的后台服务器集群建立包含服务器数量、并发性能指标值以及对应的压测结果中每项数据的最小值、最大值和平均值的档案。
步骤702,目标压测设备根据该第二后台服务器集群的压测结果集合与该第一后台服务器集群的压测结果集合确定服务器的数量对该待测应用程序的后台服务器集群并发性能的影响。
接下来,从这些测试结果中算出每增加一台服务器,吞吐量、错误率、性能(包括平均、最大)的增加量以及与一台服务器时的结果对比时的变化量、变化比率(在达到***的吞吐量的上限之前经常为0,超过***的吞吐量上限后,这个数值可能会越来越大),然后把这2个数据补充到上一步建立的并发性能档案。测试结果数据越多,可以为***建立越来越丰富的档案,也就可以利用这些数据,在后台服务器集群变更服务器数量时,更加准确地预测后台服务器集群的并发性能。
在实际评测时,如果扩、缩容后的服务器数量,有对应的压测数据记录,则取每项压测数据的最大值、最小值和平均值组合起来,再把所有的压测数据的结果汇总后返回,作为预计的并发性能表现。如果没有,则首先获取与待评估的后台服务器集群的服务器数量最接近的并发性能档案的数据集合,把这个数据集合设为C。接下来利用增减一台服务器时的各个指标的变化量和变化比率的数据来计算出预计的各个指标的值。具体的计算方法如下:
对于吞吐量,如果服务器数量增加,则上述数据集合C中的吞吐量数据+(新增的服务器数量)*单台服务器引起的吞吐量变化量*(1-变化比率)即可以作为新的吞吐量的预计值;如果服务器数量减少,则上述数据集合C的吞吐量数据-(减少的服务器数)*单台服务器引起的吞吐量变化量*(1+变化比率)即可以作为新的吞吐量的预计值。
对于性能和错误率来说,如果服务器数量增加,则上述数据集合C的性能或错误率数据*(1+变化比率)即可以作为新的性能指标的预计值;如果服务器数量减少,则上述数据集合C的性能或错误率数据/(1-变化比率)即可以作为新的性能或错误率指标的预计值
本申请实施例中,通过对同一个待测应用程序的不同规模的后台服务器集群(服务器数量不同)的一系列压测结果,分析出增减一台或多台相同配置的服务器时,该后台服务器集群能够支撑的并发访问量的变化情况,并进一步在该后台服务器集群需要扩、缩容到其他规模的服务器数量时,给出量化的预期并发访问量及其他并发性能的指标。
在本申请实施例中,请参考图8,提供了一种应用程序压测方法中确定多个第三后台服务器集群中的瓶颈位置的方法,该方法包括:
步骤801,目标压测设备根据拓扑连接关系,获取与该第一后台服务器集群存在调用关系的多个第三后台服务器集群。
实际应用中,调用关系是非常常见的一种现象,调用关系意为第一后台服务器集群在处理对应的应用程序的并发访问时,需要调用其他服务器集群。那么针对具有实际调用关系的多个后台服务器集群来说,各个后台服务器集群的并发性能共同影响了待测应用程序的第一后台服务器集群所表现出来的并发性能。若能准确判断出调用关系中对于第一后台服务器集群并发性能的影响最大的后台服务器集群具体是哪个,那就可以有针对性地对于调用关系中具体的后台服务器集群进行改善。
具体的,首先可以针对有实际调用关系的多个后台服务器集群,先根据拓扑连接关系建立对应的拓扑图,拓扑图的每个节点即可以是一个独立的后台服务器集群(命名为:机房_项目名),也可以是一个接口(命名为:机房_项目名_接口名),每个节点还展示部署在了多少台服务器上。
步骤802,目标压测设备根据多个不同批次压测的调整压测速度,分别对该多个第三后台服务器集群进行多个不同批次的压测,得到该多个第三后台服务器集群的压测结果集合,该多个第三后台服务器集群的压测结果集合用于确定该多个第三后台服务器集群各自的并发性能,该多个第三后台服务器集群的压测结果集合包括与多个不同批次的压测一一对应的多个压测结果。
在获取到不同服务器集群之间的拓扑连接关系后,可以按照上述实施例中提供的压测方法对于拓扑连接关系中每个节点上的后台服务器集群进行压测并得到各个后台服务器集群的压测结果数据。进一步的,在节点之间的联线上,展示在压测过程中计算出来的访问量、错误量和错误数、慢性能量(判断是否属于慢性能的阀值可配置调整)、平均性能和最大性能。
通过日志提取、计算出每项压测结果数据的综合值,吞吐量计算单位时间内日志记录中处理完成的访问数。错误率以及性能的最小、平均、最大值和慢性能数的计算直接拿所有的数据计算,错误率根据未成功处理的访问的数目与总访问数量的比值来计算。最小性能、平均性能、最大性能值以及P*的值分别拿所有的日志数据中的性能数据计算其最小、平均、最大值;对于P*,根据预设阈值,计算超过这个阈值的访问的数目。错误类型明细,按日志中HTTP请求的状态码计算,状态码大于等于400时对应的访问按错误访问计算,每个状态码按一种错误类型计算,分别计算每一种错误类型及其个数。如果后面每个调用环节,有压测结果数据,则在拓扑图上优先展示压测结果数据;如果有多条压测结果数据,则采用平均值、最大值展示对应的值。这里同样如果压测结果数据越多,最终的结果数据的准确性越接近真实值。
步骤803,目标压测设备根据该多个第三后台服务器集群各自的并发性能确定该多个第三后台服务器集群中的瓶颈位置,该瓶颈位置用于表征该多个第三后台服务器集群中并发性能未达到预设标准的服务器集群。
按上述方法完成拓扑图的绘制和压测数据的展示之后,按深度优先的方式,从拓扑图的一个最外部节点,一直检查分析直到最底层的每个节点和中间连线上的数据,优先找出错误率大于预设阈值的节点对应的后台服务器集群,如果有多个,按从大到小排列。接着分析以及P*,结果也按从大到小排列。最后把排在前三的作为影响第一后台服务器集群并发性能的主要瓶颈位置,把排在第一位的作为首要瓶颈位置。可选的,拓扑图上采用颜色标记或高亮显示对应的调用关系和节点,每个节点上还可以添加告警图标突出显示。如果一个节点的吞吐量低或者与预期值相差较大、并发性能不高,同时其调用的其它节点的错误率、慢性能数全部低于指定阈值,则推荐该节点并发性能的瓶颈在节点内部的设计和实现方案上。
本申请实施例中,为具有调用关系的各个后台服务器集群建立调用拓扑图,在节点之间的联线上,展示在压测过程中计算出来的访问量、错误率、慢性能量(判断是否属于慢性能的阈值可配置调整)、平均性能和最大性能,基于这些数据,利用拓扑图找出并发性能较差的节点,可以便捷准确判断出调用关系中最需改善的节点位置以及提高判断效率。
应该理解的是,虽然图2至图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种应用程序压测装置900,用于压测***中的目标压测设备中,该压测***包括压测服务器和多个压测设备,该目标压测设备为该多个压测设备中的任一个,该应用程序压测装置900包括:接收模块901、调整模块902、压测模块903,其中:
接收模块901,用于接收该压测服务器发送的压测速度配置信息,该压测速度配置信息用于指示多个不同批次压测的压测速度,该压测速度用于表征单位时间内访问待测应用程序的第一后台服务器集群的次数;
调整模块902,用于根据该目标压测设备的性能分别对多个不同批次压测的压测速度进行调整,得到多个不同批次压测的调整压测速度;
压测模块903,用于根据多个不同批次压测的调整压测速度,分别对该第一后台服务器集群进行多个不同批次的压测,得到压测结果集合,该压测结果集合用于确定该第一后台服务器集群的并发性能,该压测结果集合包括与多个不同批次的压测一一对应的多个压测结果。
在本申请实施例中,该多个压测设备包括用于确定该第一后台服务器集群的并发性能的第一压测设备。请参考图10,提供了另一种应用程序压测装置1000,该应用程序压测装置1000除了包括该应用程序压测装置900包括的各模块外,可选的,该应用程序压测装置1000还包括第一确定模块904、第二确定模块905和第三确定模块906,其中:
该第一确定模块904用于,当该目标压测设备为该第一压测设备时,接收该多个压测设备中除该目标压测设备以外的其他压测设备发送的压测结果集合;根据接收到的压测结果集合以及该目标压测设备测得的压测结果集合确定该第一后台服务器集群的并发性能。
在本申请实施例中,该压测结果包括多项压测数据,该多项压测数据包括吞吐量、错误率和性能中的至少一个,该第一确定模块904具体用于,根据压测结果对应的压测批次,将接收到的压测结果集合以及该目标压测设备测得的压测结果集合中的压测结果划分至不同的候选压测结果集合中,其中,每个该候选压测结果集合与不同的压测批次对应;确定每个该候选压测结果集合对应的实际压测速度,该实际压测速度为该多个压测设备在同一批次压测中的压测速度之和;根据该实际压测速度和该候选压测结果集合中的多项压测数据确定该第一后台服务器集群的并发性能。
在本申请实施例中,该第一确定模块904具体用于,对于每项压测数据,确定每个该候选压测结果集合对应的压测数据综合值;对于每项压测数据,根据每个该候选压测结果集合对应的实际压测速度,对每个该候选压测结果集合对应的压测数据综合值进行排序,得到排序压测数据综合值序列;根据每项压测数据对应的压测数据综合值序列确定该第一后台服务器集群的并发性能。
在本申请实施例中,该第一确定模块904具体用于,对于多项压测数据中的目标项压测数据,从该目标项压测数据对应的压测数据综合值序列中确定目标压测数据综合值,该目标压测数据综合值为最大值、最小值或大于预设阈值的值;将该目标压测数据综合值对应的实际压测速度作为目标实际压测速度;根据该目标实际压测速度和该目标实际压测速度对应的每项压测数据综合值确定该第一后台服务器集群的并发性能。
在本申请实施例中,该第二确定模块905用于,根据多个不同批次压测的调整压测速度,分别对第二后台服务器集群进行多个不同批次的压测,得到该第二后台服务器集群的压测结果集合,该第二后台服务器集群的压测结果集合用于确定该集群的并发性能,该第二后台服务器集群的压测结果集合包括与多个不同批次的压测一一对应的多个压测结果,其中,该第二后台服务器集群与该第一后台服务器集群包含的服务器数量不同;根据该第二后台服务器集群的压测结果集合与该第一后台服务器集群的压测结果集合确定服务器的数量对该待测应用程序的后台服务器集群并发性能的影响。
在本申请实施例中,该第三确定模块906用于,根据拓扑连接关系,获取与该第一后台服务器集群存在调用关系的多个第三后台服务器集群;根据多个不同批次压测的调整压测速度,分别对该多个第三后台服务器集群进行多个不同批次的压测,得到该多个第三后台服务器集群的压测结果集合,该多个第三后台服务器集群的压测结果集合用于确定该多个第三后台服务器集群各自的并发性能,该多个第三后台服务器集群的压测结果集合包括与多个不同批次的压测一一对应的多个压测结果;根据该多个第三后台服务器集群各自的并发性能确定该多个第三后台服务器集群中的瓶颈位置,该瓶颈位置用于表征该多个第三后台服务器集群中并发性能未达到预设标准的服务器集群。
关于应用程序压测装置的具体限定可以参见上文中对于应用程序压测方法的限定,在此不再赘述。上述应用程序压测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本申请实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序压测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在本申请实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在本申请实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种应用程序压测方法,其特征在于,用于压测***中的目标压测设备中,所述压测***包括压测服务器和多个压测设备,所述目标压测设备为所述多个压测设备中的任一个,所述方法包括:
接收所述压测服务器发送的压测速度配置信息,所述压测速度配置信息用于指示多个不同批次压测的压测速度,所述压测速度用于表征单位时间内访问待测应用程序的第一后台服务器集群的次数;
根据所述目标压测设备的性能分别对多个不同批次压测的压测速度进行调整,得到多个不同批次压测的调整压测速度;
根据多个不同批次压测的调整压测速度,分别对所述第一后台服务器集群进行多个不同批次的压测,得到压测结果集合,所述压测结果集合用于确定所述第一后台服务器集群的并发性能,所述压测结果集合包括与多个不同批次的压测一一对应的多个压测结果;
所述多个压测设备包括用于确定所述第一后台服务器集群的并发性能的第一压测设备,所述方法还包括:
当所述目标压测设备为所述第一压测设备时,接收所述多个压测设备中除所述目标压测设备以外的其他压测设备发送的压测结果集合;根据接收到的压测结果集合以及所述目标压测设备测得的压测结果集合确定所述第一后台服务器集群的并发性能;
所述压测结果包括多项压测数据,所述多项压测数据包括吞吐量、错误率和性能中的至少一个,所述根据接收到的压测结果集合以及所述目标压测设备测得的压测结果集合确定所述第一后台服务器集群的并发性能,包括:
根据压测结果对应的压测批次,将接收到的压测结果集合以及所述目标压测设备测得的压测结果集合中的压测结果划分至不同的候选压测结果集合中,其中,每个所述候选压测结果集合与不同的压测批次对应;确定每个所述候选压测结果集合对应的实际压测速度,所述实际压测速度为所述多个压测设备在同一批次压测中的压测速度之和;根据所述实际压测速度和所述候选压测结果集合中的多项压测数据确定所述第一后台服务器集群的并发性能。
2.根据权利要求1所述的方法,其特征在于,所述根据所述实际压测速度和所述候选压测结果集合中的多项压测数据确定所述第一后台服务器集群的并发性能,包括:
对于每项压测数据,确定每个所述候选压测结果集合对应的压测数据综合值;
对于每项压测数据,根据每个所述候选压测结果集合对应的实际压测速度,对每个所述候选压测结果集合对应的压测数据综合值进行排序,得到排序压测数据综合值序列;
根据每项压测数据对应的压测数据综合值序列确定所述第一后台服务器集群的并发性能。
3.根据权利要求2所述的方法,其特征在于,所述根据每项压测数据对应的压测数据综合值序列确定并发性能,包括:
对于多项压测数据中的目标项压测数据,从所述目标项压测数据对应的压测数据综合值序列中确定目标压测数据综合值,所述目标压测数据综合值为最大值、最小值或大于预设阈值的值;
将所述目标压测数据综合值对应的实际压测速度作为目标实际压测速度;
根据所述目标实际压测速度和所述目标实际压测速度对应的每项压测数据综合值确定所述第一后台服务器集群的并发性能。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据多个不同批次压测的调整压测速度,分别对第二后台服务器集群进行多个不同批次的压测,得到所述第二后台服务器集群的压测结果集合,所述第二后台服务器集群的压测结果集合用于确定所述集群的并发性能,所述第二后台服务器集群的压测结果集合包括与多个不同批次的压测一一对应的多个压测结果,其中,所述第二后台服务器集群与所述第一后台服务器集群包含的服务器数量不同;
根据所述第二后台服务器集群的压测结果集合与所述第一后台服务器集群的压测结果集合确定服务器的数量对所述待测应用程序的后台服务器集群并发性能的影响。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据拓扑连接关系,获取与所述第一后台服务器集群存在调用关系的多个第三后台服务器集群;
根据多个不同批次压测的调整压测速度,分别对所述多个第三后台服务器集群进行多个不同批次的压测,得到所述多个第三后台服务器集群的压测结果集合,所述多个第三后台服务器集群的压测结果集合用于确定所述多个第三后台服务器集群各自的并发性能,所述多个第三后台服务器集群的压测结果集合包括与多个不同批次的压测一一对应的多个压测结果;
根据所述多个第三后台服务器集群各自的并发性能确定所述多个第三后台服务器集群中的瓶颈位置,所述瓶颈位置用于表征所述多个第三后台服务器集群中并发性能未达到预设标准的服务器集群。
6.一种应用程序压测装置,其特征在于,用于压测***中的目标压测设备中,所述压测***包括压测服务器和多个压测设备,所述目标压测设备为所述多个压测设备中的任一个,所述装置包括:
接收模块,用于接收所述压测服务器发送的压测速度配置信息,所述压测速度配置信息用于指示多个不同批次压测的压测速度,所述压测速度用于表征单位时间内访问待测应用程序的第一后台服务器集群的次数;
调整模块,用于根据所述目标压测设备的性能分别对多个不同批次压测的压测速度进行调整,得到多个不同批次压测的调整压测速度;
压测模块,用于根据多个不同批次压测的调整压测速度,分别对所述第一后台服务器集群进行多个不同批次的压测,得到压测结果集合,所述压测结果集合用于确定所述第一后台服务器集群的并发性能,所述压测结果集合包括与多个不同批次的压测一一对应的多个压测结果;
所述多个压测设备包括用于确定所述第一后台服务器集群的并发性能的第一压测设备,所述装置还包括:
第一确定模块,用于当所述目标压测设备为所述第一压测设备时,接收所述多个压测设备中除所述目标压测设备以外的其他压测设备发送的压测结果集合;根据接收到的压测结果集合以及所述目标压测设备测得的压测结果集合确定所述第一后台服务器集群的并发性能;
所述压测结果包括多项压测数据,所述多项压测数据包括吞吐量、错误率和性能中的至少一个,所述第一确定模块,具体用于根据压测结果对应的压测批次,将接收到的压测结果集合以及所述目标压测设备测得的压测结果集合中的压测结果划分至不同的候选压测结果集合中,其中,每个所述候选压测结果集合与不同的压测批次对应;确定每个所述候选压测结果集合对应的实际压测速度,所述实际压测速度为所述多个压测设备在同一批次压测中的压测速度之和;根据所述实际压测速度和所述候选压测结果集合中的多项压测数据确定所述第一后台服务器集群的并发性能。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010073434.XA CN111274112B (zh) | 2020-01-22 | 2020-01-22 | 应用程序压测方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010073434.XA CN111274112B (zh) | 2020-01-22 | 2020-01-22 | 应用程序压测方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274112A CN111274112A (zh) | 2020-06-12 |
CN111274112B true CN111274112B (zh) | 2023-07-07 |
Family
ID=70999150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010073434.XA Active CN111274112B (zh) | 2020-01-22 | 2020-01-22 | 应用程序压测方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274112B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542648B (zh) * | 2021-08-10 | 2023-03-28 | 上海云轴信息科技有限公司 | 一种用于录制命令执行结果的方法与设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015892A (zh) * | 2017-03-30 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 一种压力测试方法、装置和*** |
CN107872397A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 压测过程中的流量调度方法、调度平台和调度*** |
CN110069375A (zh) * | 2019-05-07 | 2019-07-30 | 北京天际启游科技有限公司 | 一种压力测试的方法以及相关装置 |
CN110442491A (zh) * | 2019-07-09 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种基于SPECPower测试服务器性能峰值的方法、设备及可读介质 |
-
2020
- 2020-01-22 CN CN202010073434.XA patent/CN111274112B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872397A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 压测过程中的流量调度方法、调度平台和调度*** |
CN107015892A (zh) * | 2017-03-30 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 一种压力测试方法、装置和*** |
CN110069375A (zh) * | 2019-05-07 | 2019-07-30 | 北京天际启游科技有限公司 | 一种压力测试的方法以及相关装置 |
CN110442491A (zh) * | 2019-07-09 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种基于SPECPower测试服务器性能峰值的方法、设备及可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111274112A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108376112B (zh) | 压力测试方法、装置及可读介质 | |
CN106886485B (zh) | ***容量分析预测方法及装置 | |
US10503408B2 (en) | Deployment of an upgrade to a storage system based on correlation analysis of measurements of the storage system | |
US10129168B2 (en) | Methods and systems providing a scalable process for anomaly identification and information technology infrastructure resource optimization | |
CN110377569B (zh) | 日志监控方法、装置、计算机设备和存储介质 | |
KR102522005B1 (ko) | 가상 네트워크 관리를 위한 머신 러닝 기반 vnf 이상 탐지 시스템 및 방법 | |
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
WO2019153487A1 (zh) | ***性能的度量方法、装置、存储介质和服务器 | |
US10135693B2 (en) | System and method for monitoring performance of applications for an entity | |
US11693842B2 (en) | Generating compact data structures for monitoring data processing performance across high scale network infrastructures | |
CN112051771B (zh) | 多云数据采集方法、装置、计算机设备和存储介质 | |
CN113127356A (zh) | 压测方法、装置、电子设备及存储介质 | |
Gupta et al. | Long range dependence in cloud servers: a statistical analysis based on *** workload trace | |
CN112346962B (zh) | 一种应用于对照测试***中的对照数据测试方法及装置 | |
CN111274112B (zh) | 应用程序压测方法、装置、计算机设备和存储介质 | |
CN111290942A (zh) | 压力测试方法、装置以及计算机可读介质 | |
CN110928750B (zh) | 数据处理方法、装置及设备 | |
Bodik | Automating datacenter operations using machine learning | |
CN113656391A (zh) | 数据检测方法及装置、存储介质及电子设备 | |
CN114860563A (zh) | 应用程序测试方法、装置、计算机可读存储介质及设备 | |
US9921900B1 (en) | Methods and apparatus for system monitoring | |
CN112148491B (zh) | 数据处理方法及装置 | |
CN115314404B (zh) | 服务优化方法、装置、计算机设备及存储介质 | |
CN101651583A (zh) | 一种监控信息管理方法及装置 | |
Gong et al. | A Reliable and Efficient Stress Generation and Control System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220113 Address after: Room 1423, No. 1256 and 1258, Wanrong Road, Jing'an District, Shanghai 200040 Applicant after: Tianyi Digital Life Technology Co.,Ltd. Address before: 1 / F and 2 / F, East Garden, Huatian International Plaza, 211 Longkou Middle Road, Tianhe District, Guangzhou, Guangdong 510630 Applicant before: Century Dragon Information Network Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |