CN108733545B - 一种压力测试方法及装置 - Google Patents

一种压力测试方法及装置 Download PDF

Info

Publication number
CN108733545B
CN108733545B CN201710280319.8A CN201710280319A CN108733545B CN 108733545 B CN108733545 B CN 108733545B CN 201710280319 A CN201710280319 A CN 201710280319A CN 108733545 B CN108733545 B CN 108733545B
Authority
CN
China
Prior art keywords
pressure test
node
pressure
request
task
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
Application number
CN201710280319.8A
Other languages
English (en)
Other versions
CN108733545A (zh
Inventor
燕卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nextainment Group
Original Assignee
Nextainment Group
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nextainment Group filed Critical Nextainment Group
Priority to CN201710280319.8A priority Critical patent/CN108733545B/zh
Publication of CN108733545A publication Critical patent/CN108733545A/zh
Application granted granted Critical
Publication of CN108733545B publication Critical patent/CN108733545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3433Recording 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 for load 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)
  • Debugging And Monitoring (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明的实施例公开一种压力测试方法及装置,涉及计算机性能压力测试技术,能够提升压力测试效率。所述压力测试方法包括:接收压力测试请求,依据所述压力测试请求中包含的压力测试节点标识查询获取对应的压力测试任务,向发送所述压力测试请求的压力测试节点发送,所述压力测试任务通过在网页操作界面输入压力测试参数生成;接收所述压力测试节点依据所述压力测试任务进行压力测试返回的压力测试结果信息,进行压力测试分析。本发明适用于利用分布式方式进行压力测试。

Description

一种压力测试方法及装置
技术领域
本发明涉及计算机性能压力测试技术,尤其涉及一种压力测试方法及装置。
背景技术
随着计算机通信以及互联网技术的不断发展,电子设备,例如,智能移动电话、个人数字助理、掌上电脑、笔记本电脑等应用越来越广泛,呈现在电子设备屏幕上的内容也越来越丰富,极大地满足了不同用户的个性化需求。
为了满足大量用户的个性化需求,需要信息运营商提供包含巨量信息的信息服务装置,并维护信息服务装置的安全性以及运行稳定性等性能,以能够向大量用户并发提供海量信息,因而,需要对信息服务装置进行性能评估。
目前,一般采用压力测试方法对信息服务装置进行性能评估,其中,压力测试是通过确定一个装置的瓶颈或者不能接收的性能点,来获得该装置能提供的最大的服务级别的一种评估方法。常用的压力测试工具为ab(ApacheBench)压力测试工具,广泛应用于Apache超文本传输协议(HTTP,Hyper Text Transfer Protocol)的性能测试。但该压力测试方法,由于ab的命令行一次只能支持一次测试,无法提供分布式的功能,使得单机提供的压力源有限,如果需要批量执行不同功能的测试,需要测试人员通过编写脚本来控制HTTP请求的细节,且每一单机需要编写一相应的脚本,因而,要求测试人员需要具有较高的技术要求,使得压力测试所需的时间较长、压力测试效率较低。
发明内容
有鉴于此,本发明实施例提供一种压力测试方法及装置,能够提升压力测试效率,以解决现有的压力测试方法中,需要测试人员通过编写脚本来控制HTTP请求的细节导致的压力测试所需的时间较长、压力测试效率较低的问题。
第一方面,本发明实施例提供一种压力测试方法,包括:
接收压力测试请求,依据所述压力测试请求中包含的压力测试节点标识查询获取对应的压力测试任务,向发送所述压力测试请求的压力测试节点发送,所述压力测试任务通过在网页操作界面输入压力测试参数生成;
接收所述压力测试节点依据所述压力测试任务进行压力测试返回的压力测试结果信息,进行压力测试分析。
结合第一方面,在第一方面的第一种实施方式中,所述压力测试参数包括:压力测试目标请求地址、压力测试请求数量、并发数量以及HTTP报头。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述方法还包括:
设置压力测试节点依据压力测试任务包含的压力测试请求数量以及并发数量,采用GoLang语言自动编写生成用于进行压力测试的HTTP请求。
结合第一方面、第一方面的第一种或第二种实施方式,在第一方面的第三种实施方式中,所述方法还包括:
设置压力测试节点将依据所述压力测试任务进行压力测试返回的数据存储至预先设置的清理文件夹中。
结合第一方面、第一方面的第一种或第二种实施方式,在第一方面的第四种实施方式中,所述方法还包括:
周期性或非周期性向压力测试节点发送心跳报文,如果在预先设置的心跳时间阈值内未接收到心跳报文响应,删除所述压力测试节点,关闭与所述压力测试节点的TCP连接。
第二方面,本发明实施例提供一种压力测试装置,包括:
压力测试任务处理模块,用于接收压力测试请求,依据所述压力测试请求中包含的压力测试节点标识查询获取对应的压力测试任务,向发送所述压力测试请求的压力测试节点发送,所述压力测试任务通过在网页操作界面输入压力测试参数生成;
压力测试分析模块,用于接收所述压力测试节点依据所述压力测试任务进行压力测试返回的压力测试结果信息,进行压力测试分析。
结合第二方面,在第二方面的第一种实施方式中,所述压力测试参数包括:压力测试目标请求地址、压力测试请求数量、并发数量以及HTTP报头。
结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述装置还包括:
HTTP请求设置模块,用于设置压力测试节点依据压力测试任务包含的压力测试请求数量以及并发数量,采用GoLang语言自动编写生成用于进行压力测试的HTTP请求。
结合第二方面、第二方面的第一种或第二种实施方式,在第二方面的第三种实施方式中,所述装置还包括:
返回数据处理模块,用于设置压力测试节点将依据所述压力测试任务进行压力测试返回的数据存储至预先设置的清理文件夹中。
结合第二方面、第二方面的第一种或第二种实施方式,在第二方面的第四种实施方式中,所述装置还包括:
心跳检测模块,用于周期性或非周期性向压力测试节点发送心跳报文,如果在预先设置的心跳时间阈值内未接收到心跳报文响应,删除所述压力测试节点,关闭与所述压力测试节点的TCP连接。
本发明实施例提供的一种压力测试方法及装置,通过接收压力测试请求,依据所述压力测试请求中包含的压力测试节点标识查询获取对应的压力测试任务,向发送所述压力测试请求的压力测试节点发送,所述压力测试任务通过在网页操作界面输入压力测试参数生成;接收所述压力测试节点依据所述压力测试任务进行压力测试返回的压力测试结果信息,进行压力测试分析,能够提升压力测试效率,以解决现有的压力测试方法中,需要测试人员通过编写脚本来控制HTTP请求的细节导致的压力测试所需的时间较长、压力测试效率较低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例一压力测试方法流程示意图;
图2为本发明的实施例二压力测试装置结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明的实施例一压力测试方法流程示意图,如图1所示,本实施例的方法可以包括:
步骤101,接收压力测试请求,依据所述压力测试请求中包含的压力测试节点标识查询获取对应的压力测试任务,向发送所述压力测试请求的压力测试节点发送,所述压力测试任务通过在网页操作界面输入压力测试参数生成;
本实施例中,作为一可选实施例,接收压力测试请求的为主控制(master)节点,发送压力测试请求的压力测试节点为从(cell)节点,主控制节点与压力测试节点建立TCP连接。主控制节点提供利用tyrant协议编辑的用于进行压力测试参数设置的网页(web)操作界面,用户通过master节点的web操作界面,输入所需的压力测试任务并存储。
本实施例中,tyrant协议使用简单的基于TCP/IP协议的简单二进制协议进行通信,拥有Memcached兼容协议并且可以使用HTTP/1.1协议进行数据交换,从而可以实现跨平台、跨语言使用tyrant协议。因而,利用tyrant协议编辑的网页操作界面,可提供可扩展的压力源,具备简单友好的操作界面及丰富的压力测试参数选项,从而无需测试人员进行脚本编辑,对测试人员无任何技术要求,通过可视化的网页操作界面,可以便捷而高效地为不同压力测试节点生成不同的压力测试任务,或者,将相同的压力测试任务应用于不同的压力测试节点,这样,通过提供web操作界面,可以实现多用户登录web操作界面并创建相应的压力测试任务,有效降低了脚本编辑压力测试任务所需的时间,提升了压力测试效率。
本实施例中,通过tyrant协议设置可视化的web操作界面,并在可视化的web操作界面中展示压力测试任务包含的各项参数,使得用户可以根据各压力测试的实际需要,在web操作界面中选取相应的压力测试参数并进行赋值即可,然后点击提交任务生成压力测试任务。
本实施例中,作为一可选实施例,可以将多用户登录并创建的各压力测试任务按照任务完成时间顺序添加到压力测试任务队列中,并在后续流程中,依次执行压力测试任务队列中的压力测试任务。例如,master节点接收到用户输入生成的压力测试任务后,输出至内存的任务队列中,任务队列按顺序执行压力测试任务,即master节点的工作线程从任务队列中顺序取出压力测试任务,利用TCP协议将取出的压力测试任务发送给cell节点。
本实施例中,作为另一可选实施例,压力测试任务还可以是用户预先在本地客户端的网页操作界面输入相应压力测试参数生成并上传至主控制节点,本实施例对此不作限定。
本实施例中,压力测试任务与压力测试节点标识可以是一对一、一对多、多对一或多对多的映射关系。
本实施例中,作为一可选实施例,压力测试参数包括但不限于:压力测试目标请求地址、压力测试请求数量、并发数量以及HTTP报头等参数。
本实施例中,作为一可选实施例,在所述接收压力测试请求之前,该方法还包括:
A1,接收压力测试节点发送的注册请求,所述注册请求中包含有压力测试节点的性能参数信息;
本实施例中,作为一可选实施例,cell节点与master节点采用TCP协议进行通信。cell节点在启动后,通过TCP协议向master节点发送一预先设置的协议包(注册请求),以向master节点注册。
A2,对注册请求进行认证,在认证通过后为所述压力测试节点分配压力测试节点标识,存储所述压力测试节点的性能参数信息,并通知所述压力测试节点注册成功。
本实施例中,Master节点接收到cell节点的协议包(注册请求)后,进行注册认证,在注册认证通过后,将cell节点的性能参数信息,例如,TCP相关信息存储在内存,以便于master节点后续依据预先设置的压力测试策略,计算该性能参数信息能够进行的压力测试范围,并在用户在网页操作界面中选取为该cell节点设置压力测试任务时,将对应的压力测试范围进行展示以便于用户设置。
本实施例中,作为一可选实施例,由master节点为每一注册的cell节点分配标识,并将分配的标识通知压力测试节点以表示注册成功。
步骤102,接收所述压力测试节点依据所述压力测试任务进行压力测试返回的压力测试结果信息,进行压力测试分析。
本实施例中,作为一可选实施例,压力测试节点依据压力测试任务包含的压力测试请求数量以及并发数量,采用GoLang语言自动编写生成用于进行压力测试的HTTP请求,其中,GoLang是一种全新的开源编程语言,提供了轻量级的goroutinue机制支持,可用来模拟大量的HTTP请求。其中,goroutinue机制相当于一个线程池,当一goroutinue线程被阻塞后,资源会调用另外一已经准备好的goroutinue线程。
本实施例中,作为一可选实施例,cell节点根据压力测试任务中包含的并发数量参数,启动相应数量的工作线程,每一工作线程对应一并发。每一工作线程根据压力测试任务中包含的压力测试目标请求地址,向该压力测试目标请求地址发起HTTP请求。
本实施例中,工作线程在完成一HTTP请求后,依据压力测试请求数量,再发起一新的HTTP请求,直至发起的HTTP请求数量等于压力测试请求数量为止。
本实施例中,作为一可选实施例,压力测试结果信息包括:HTTP请求成功数、HTTP请求数以及HTTP请求完成时长,HTTP请求完成时长包括:成功的HTTP请求时长以及不成功的HTTP请求时长。每一压力测试节点上报一压力测试结果信息。Cell节点在完成所有HTTP请求后,获取压力测试结果信息,并通过TCP协议,将压力测试结果信息发送至master节点。
本实施例中,作为一可选实施例,进行压力测试分析包括:
B1,统计每一压力测试结果信息中包含的HTTP请求完成时长,依次得到单机HTTP请求总完成时长;
B2,将单机HTTP请求总完成时长除以对应压力测试结果信息中包含的HTTP请求数,得到单机HTTP请求平均时长;
B3,计算各单机HTTP请求平均时长的和值与压力测试结果信息数的商,得到HTTP请求平均时长。
本实施例中,作为另一可选实施例,进行压力测试分析包括:
C1,统计压力测试结果信息中包含的成功的HTTP请求时长,得到成功HTTP请求总时长;
C2,将HTTP请求成功数除以成功HTTP请求总时长,得到每秒查询率。
本实施例中,Master节点接收所有的压力测试结果信息,进行汇总统计。例如,针对每一cell节点,将该cell节点的所有HTTP请求的HTTP请求完成时长进行相加后除以HTTP请求数,从而计算出该cell节点的HTTP请求平均时长;或者,将各cell节点的HTTP请求成功数相加后除以该HTTP请求成功数对应的HTTP请求完成时长,从而可计算出该cell节点的每秒查询率(GPS,Query Per Second)。
本实施例中,对于每一HTTP请求,压力测试目标请求地址会返回相应的HTTP请求数据,由于本实施例是压力测试,并不关注返回的HTTP请求数据的具体内容,关注的是HTTP请求是否完成、是否异常。因而,作为一可选实施例,该方法还可以包括:
设置压力测试节点将依据所述压力测试任务进行压力测试返回的数据存储至预先设置的清理文件夹中。
本实施例中,可以设置压力测试节点将发起HTTP请求接收到的HTTP请求数据(无用数据)存储至linux的/dev/null中来进行丢弃处理,以节省cell节点的内存占用。
本实施例中,为了有效监测与master节点相连接的多个cell节点的连接状态,作为一可选实施例,该方法还包括:
周期性或非周期性向压力测试节点发送心跳报文,如果在预先设置的心跳时间阈值内未接收到心跳报文响应,删除所述压力测试节点,关闭与所述压力测试节点的TCP连接。
本实施例中,作为一可选实施例,master节点定时向cell节点发送心跳报文,例如,预先设置的协议包,如果cell节点在预先设置的心跳时间阈值内未返回相应的心跳报文响应(协议包),则确认该cell节点工作异常,从内存记录中删除掉该cell节点,并关闭与该cell节点的TCP连接。
图2为本发明的实施例二压力测试装置结构示意图。参见图2,该压力测试装置包括:压力测试任务处理模块201以及压力测试分析模块202,其中,
压力测试任务处理模块201,用于接收压力测试请求,依据所述压力测试请求中包含的压力测试节点标识查询获取对应的压力测试任务,向发送所述压力测试请求的压力测试节点发送,所述压力测试任务通过在网页操作界面输入压力测试参数生成;
本实施例中,作为一可选实施例,压力测试参数包括:压力测试目标请求地址、压力测试请求数量、并发数量以及HTTP报头。
压力测试分析模块202,用于接收所述压力测试节点依据所述压力测试任务进行压力测试返回的压力测试结果信息,进行压力测试分析。
本实施例中,压力测试装置为主控制节点,与压力测试节点(cell节点)组成压力测试系统,本实施例中,压力测试系统采用分布式结构,主控制节点的数量为一个,压力测试节点的数量为多个。其中,
master节点与cell节点的网络拓扑采用服务器-客户端(server-client)模式,master节点为服务器,cell节点为客户端;
master节点提供利用tyrant协议编辑的用于进行压力测试参数设置的web操作界面,用户通过master节点的web操作界面,输入所需的压力测试任务并存储,cell节点为工作机。master节点与cell节点之间利用TCP网络协议进行通信,作为一可选实施例,TCP网络协议选用protocolbuf协议。
本实施例中,cell节点与master节点进行连接,各cell节点之间无需相互连接,从而可根据各cell节点的承受能力进行压力测试,并可批量获取每一cell节点的压力测试结果信息。
本实施例中,cell节点在启动后,通过TCP协议向master节点发送一预先设置的协议包,以向master节点注册。
本实施例中,作为一可选实施例,master节点可根据预先设置的压力测试分配策略,例如,压力测试节点的性能参数信息,向各cell节点发送对应的压力测试任务。
本实施例中,压力测试目标请求地址对应的节点用于模拟终端用户与cell节点建立HTTP连接,并进行HTTP请求对应的数据传输,获得对应的压力测试结果信息,并将压力测试结果信息返回至cell节点。
本实施例中,作为一可选实施例,该装置还包括:
注册模块(图中未示出),用于接收压力测试节点发送的注册请求,所述注册请求中包含有压力测试节点的性能参数信息;对注册请求进行认证,在认证通过后为所述压力测试节点分配压力测试节点标识,存储所述压力测试节点的性能参数信息,并通知所述压力测试节点注册成功。
本实施例中,作为一可选实施例,该装置还包括:
HTTP请求设置模块(图中未示出),用于设置压力测试节点依据压力测试任务包含的压力测试请求数量以及并发数量,采用GoLang语言自动编写生成用于进行压力测试的HTTP请求。
本实施例中,作为一可选实施例,压力测试节点依据压力测试任务包含的压力测试请求数量以及并发数量,采用GoLang语言自动编写生成用于进行压力测试的HTTP请求。
本实施例中,cell节点根据压力测试任务中包含的并发数量参数,启动相应并发数量的工作线程,每一工作线程对应一并发。每一工作线程根据压力测试任务中包含的压力测试目标请求地址,向该压力测试目标请求地址发起HTTP请求。
本实施例中,工作线程在完成一HTTP请求后,依据压力测试请求数量,再发起一新的HTTP请求,直至发起的HTTP请求数量等于压力测试请求数量为止。
本实施例中,作为一可选实施例,压力测试结果信息包括:HTTP请求成功数、HTTP请求数以及HTTP请求完成时长,HTTP请求完成时长包括:成功的HTTP请求时长以及不成功的HTTP请求时长。每一压力测试节点上报一压力测试结果信息。Cell节点在完成所有HTTP请求后,获取压力测试结果信息,并通过TCP协议,将压力测试结果信息发送至master节点。
本实施例中,作为另一可选实施例,该装置还包括:
返回数据处理模块(图中未示出),用于设置压力测试节点将依据所述压力测试任务进行压力测试返回的数据存储至预先设置的清理文件夹中。
本实施例中,可以设置压力测试节点将发起HTTP请求接收到的HTTP请求数据(无用数据)存储至linux的/dev/null中来进行丢弃处理,以节省cell节点的内存占用。
本实施例中,作为再一可选实施例,该装置还包括:
心跳检测模块(图中未示出),用于周期性或非周期性向压力测试节点发送心跳报文,如果在预先设置的心跳时间阈值内未接收到心跳报文响应,删除所述压力测试节点,关闭与所述压力测试节点的TCP连接。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行装置、装置或设备(如基于计算机的装置、包括处理器的装置或其他可以从指令执行装置、装置或设备取指令并执行指令的装置)使用,或结合这些指令执行装置、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行装置、装置或设备或结合这些指令执行装置、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (6)

1.一种压力测试方法,其特征在于,包括:
接收压力测试请求,依据所述压力测试请求中包含的压力测试节点标识查询获取对应的压力测试任务,向发送所述压力测试请求的压力测试节点发送,所述压力测试任务通过在网页操作界面输入压力测试参数生成;其中,所述接收压力测试请求的节点所提供的进行压力测试参数设置的网页操作界面是基于tyrant协议进行编辑的;
接收所述压力测试节点依据所述压力测试任务进行压力测试返回的压力测试结果信息,进行压力测试分析;
所述方法还包括:
设置压力测试节点将依据所述压力测试任务进行压力测试返回的数据存储至预先设置的清理文件夹中;
所述方法还包括:
周期性或非周期性向压力测试节点发送心跳报文,如果在预先设置的心跳时间阈值内未接收到心跳报文响应,删除所述压力测试节点,关闭与所述压力测试节点的TCP连接;
在所述接收压力测试请求之前,该方法还包括:
接收压力测试节点发送的注册请求,所述注册请求中包含有压力测试节点的性能参数信息;
对注册请求进行认证,在认证通过后为所述压力测试节点分配压力测试节点标识,存储所述压力测试节点的性能参数信息,并通知所述压力测试节点注册成功;
所述方法还包括:将多用户登录并创建的各压力测试任务按照任务完成时间顺序添加到压力测试任务队列中,并在后续流程中,依次执行压力测试任务队列中的压力测试任务;
在接收到接收压力测试请求时,利用工作线程从任务队列中顺序取出压力测试任务,利用TCP协议将取出的压力测试任务发送给压力测试节点。
2.根据权利要求1所述的压力测试方法,其特征在于,所述压力测试参数包括:压力测试目标请求地址、压力测试请求数量、并发数量以及HTTP报头。
3.根据权利要求2所述的压力测试方法,其特征在于,所述方法还包括:
设置压力测试节点依据压力测试任务包含的压力测试请求数量以及并发数量,采用GoLang语言自动编写生成用于进行压力测试的HTTP请求。
4.一种压力测试装置,其特征在于,包括:
压力测试任务处理模块,用于接收压力测试请求,依据所述压力测试请求中包含的压力测试节点标识查询获取对应的压力测试任务,向发送所述压力测试请求的压力测试节点发送,所述压力测试任务通过在网页操作界面输入压力测试参数生成;其中,所述接收压力测试请求的节点所提供的进行压力测试参数设置的网页操作界面是基于tyrant协议进行编辑的;
压力测试分析模块,用于接收所述压力测试节点依据所述压力测试任务进行压力测试返回的压力测试结果信息,进行压力测试分析;
所述装置还包括:
返回数据处理模块,用于设置压力测试节点将依据所述压力测试任务进行压力测试返回的数据存储至预先设置的清理文件夹中;
所述装置还包括:
心跳检测模块,用于周期性或非周期性向压力测试节点发送心跳报文,如果在预先设置的心跳时间阈值内未接收到心跳报文响应,删除所述压力测试节点,关闭与所述压力测试节点的TCP连接;
还包括注册模块,用于在所述接收压力测试请求之前,接收压力测试节点发送的注册请求,所述注册请求中包含有压力测试节点的性能参数信息;
对注册请求进行认证,在认证通过后为所述压力测试节点分配压力测试节点标识,存储所述压力测试节点的性能参数信息,并通知所述压力测试节点注册成功;
压力测试任务处理模块,还用于将多用户登录并创建的各压力测试任务按照任务完成时间顺序添加到压力测试任务队列中,并在后续流程中,依次执行压力测试任务队列中的压力测试任务;
在接收到接收压力测试请求时,利用工作线程从任务队列中顺序取出压力测试任务,利用TCP协议将取出的压力测试任务发送给压力测试节点。
5.根据权利要求4所述的压力测试装置,其特征在于,所述压力测试参数包括:压力测试目标请求地址、压力测试请求数量、并发数量以及HTTP报头。
6.根据权利要求5所述的压力测试装置,其特征在于,所述装置还包括:
HTTP请求设置模块,用于设置压力测试节点依据压力测试任务包含的压力测试请求数量以及并发数量,采用GoLang语言自动编写生成用于进行压力测试的HTTP请求。
CN201710280319.8A 2017-04-25 2017-04-25 一种压力测试方法及装置 Active CN108733545B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710280319.8A CN108733545B (zh) 2017-04-25 2017-04-25 一种压力测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710280319.8A CN108733545B (zh) 2017-04-25 2017-04-25 一种压力测试方法及装置

Publications (2)

Publication Number Publication Date
CN108733545A CN108733545A (zh) 2018-11-02
CN108733545B true CN108733545B (zh) 2022-02-18

Family

ID=63934690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710280319.8A Active CN108733545B (zh) 2017-04-25 2017-04-25 一种压力测试方法及装置

Country Status (1)

Country Link
CN (1) CN108733545B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625443B (zh) * 2019-02-28 2023-04-18 阿里巴巴集团控股有限公司 一种压力测试方法、装置、设备和存储介质
CN111404769B (zh) * 2020-02-28 2022-07-08 北京达佳互联信息技术有限公司 一种性能测试方法、装置、服务器及存储介质
CN113608974B (zh) * 2021-06-29 2023-12-22 济南浪潮数据技术有限公司 一种分布式存储系统的性能压测方法、系统及相关组件
CN113672495A (zh) * 2021-07-06 2021-11-19 微梦创科网络科技(中国)有限公司 一种对生产环境实施全链路压测的系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268082A (zh) * 2014-09-26 2015-01-07 北京国双科技有限公司 浏览器的压力测试方法和装置
CN105843732A (zh) * 2016-03-17 2016-08-10 畅捷通信息技术股份有限公司 测试用例分配方法和测试用例分配装置
CN106201862A (zh) * 2015-05-25 2016-12-07 阿里巴巴集团控股有限公司 web服务压力测试方法及装置
CN106383786A (zh) * 2016-09-27 2017-02-08 北京金山安全软件有限公司 一种接口压力性能测试方法、装置及电子设备
CN106470133A (zh) * 2015-08-20 2017-03-01 阿里巴巴集团控股有限公司 系统压力测试方法及装置
CN106484622A (zh) * 2016-10-18 2017-03-08 网易(杭州)网络有限公司 测试方法、装置及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915344B1 (en) * 1999-11-30 2005-07-05 Microsoft Corporation Server stress-testing response verification
US7334220B2 (en) * 2004-03-11 2008-02-19 Microsoft Corporation Data driven test automation of web sites and web services
US20070255965A1 (en) * 2006-04-15 2007-11-01 Elliot McGucken System and method for content marketplace, DRM marketplace, distribution marketplace, and search engine: the dodge city marketplace and search engine
CN102750300B (zh) * 2011-12-27 2014-05-07 浙江大学 一种支持多粒度查询的高性能非结构化数据存取方法
CN104077212B (zh) * 2013-03-26 2017-03-01 阿里巴巴集团控股有限公司 压力测试系统及方法
KR101559206B1 (ko) * 2013-11-29 2015-10-13 건국대학교 산학협력단 로그 데이터 처리 방법 및 이를 수행하는 시스템
CN104077230B (zh) * 2014-07-11 2017-01-18 百度在线网络技术(北京)有限公司 在分布式系统上执行压力测试的方法以及装置
US9836385B2 (en) * 2014-11-24 2017-12-05 Syntel, Inc. Cross-browser web application testing tool
CN104579822B (zh) * 2014-12-10 2018-06-19 华南理工大学 基于Http协议的移动应用自动化性能测试系统及方法
CN106506255B (zh) * 2016-09-21 2019-11-05 微梦创科网络科技(中国)有限公司 一种压力测试的方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268082A (zh) * 2014-09-26 2015-01-07 北京国双科技有限公司 浏览器的压力测试方法和装置
CN106201862A (zh) * 2015-05-25 2016-12-07 阿里巴巴集团控股有限公司 web服务压力测试方法及装置
CN106470133A (zh) * 2015-08-20 2017-03-01 阿里巴巴集团控股有限公司 系统压力测试方法及装置
CN105843732A (zh) * 2016-03-17 2016-08-10 畅捷通信息技术股份有限公司 测试用例分配方法和测试用例分配装置
CN106383786A (zh) * 2016-09-27 2017-02-08 北京金山安全软件有限公司 一种接口压力性能测试方法、装置及电子设备
CN106484622A (zh) * 2016-10-18 2017-03-08 网易(杭州)网络有限公司 测试方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于LoadRunner的压力测试参数化;郑磊;《信息与电脑(理论版)》;20141115;84页 *

Also Published As

Publication number Publication date
CN108733545A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108733545B (zh) 一种压力测试方法及装置
CN108984388B (zh) 一种生成自动化测试用例的方法及终端设备
US8910128B2 (en) Methods and apparatus for application performance and capacity analysis
CN110750436B (zh) 分层测试方法、装置、计算机可读介质及电子设备
CN108268372B (zh) Mock测试处理方法、装置、存储介质和计算机设备
CN110311831B (zh) 基于容器云的系统资源监控方法及相关设备
CN108228444B (zh) 一种测试方法和装置
CN105677452B (zh) 任务平台任务处理方法和装置
CN108255707B (zh) 测试用例的开发角色创建方法、装置、设备及存储介质
US8910294B1 (en) System and method for application failure testing in a cloud computing environment
CN108600034B (zh) 业务压力管理方法、装置、设备、系统及存储介质
CN109885496B (zh) 测试日志管理方法及系统
EP3618352A1 (en) Virtual machine management
CN107566214B (zh) 一种性能测试方法和装置
CN112311628B (zh) 网络测速方法、系统、网络设备和存储介质
CN110582750A (zh) 用于任务调度和设备管理的系统和方法
US20180176289A1 (en) Information processing device, information processing system, computer-readable recording medium, and information processing method
CN113672441B (zh) 对智能设备的测试方法及装置
US20180188990A1 (en) Method, apparatus and system for inserting disk
CN109902028A (zh) Acl特性的自动化测试方法、装置、设备及存储介质
CN107203464B (zh) 业务问题的定位方法以及装置
CN110750453B (zh) 基于html5的智能移动端测试方法、系统、服务器及存储介质
US10585620B2 (en) Storage monitoring system for monitoring components in a storage system in a distributed manner
CN111126604A (zh) 模型训练方法、装置、服务器及存储介质
CN108647139B (zh) 系统的测试方法、装置、存储介质及电子装置

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
GR01 Patent grant
GR01 Patent grant