CN112835792B - 一种压力测试系统及方法 - Google Patents

一种压力测试系统及方法 Download PDF

Info

Publication number
CN112835792B
CN112835792B CN202110112851.5A CN202110112851A CN112835792B CN 112835792 B CN112835792 B CN 112835792B CN 202110112851 A CN202110112851 A CN 202110112851A CN 112835792 B CN112835792 B CN 112835792B
Authority
CN
China
Prior art keywords
test
service
tested
configuration information
information
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
CN202110112851.5A
Other languages
English (en)
Other versions
CN112835792A (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.)
Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Original Assignee
Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
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 Hunan Happly Sunshine Interactive Entertainment Media Co Ltd filed Critical Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Priority to CN202110112851.5A priority Critical patent/CN112835792B/zh
Publication of CN112835792A publication Critical patent/CN112835792A/zh
Application granted granted Critical
Publication of CN112835792B publication Critical patent/CN112835792B/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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)

Abstract

本申请提供了一种压力测试系统与方法,其中,系统包括:流量回放平台、调度器和执行器,其中,流量回放平台对已上线待测服务的历史实际用户请求进行采样,得到已上线待测服务的实际用户请求;调度器获取对预设的待测服务执行压力测试的测试任务的配置信息;从执行器中确定用于执行所述测试任务的执行器;并向选取的执行器发送对应的测试任务的配置信息;执行器在接收到任一待测服务的任一测试任务的配置信息的情况下,从预设接口中确定目标协议类型对应的方法;依据所述方法以及该测试任务的配置信息,对该待测服务进行压力测试。本申请可以使得压力测试结果与实际上线效果间的偏差减小,以及满足对待测服务的技术栈涉及的全部协议的压力测试。

Description

一种压力测试系统及方法
技术领域
本申请涉及测试领域,尤其涉及一种压力测试系统及方法。
背景技术
在日常的服务开发过程中,需要针对各种服务进行压力测试来发现服务的潜在问题。其中,待进行压力测试的服务可以为已上线服务,也可以为待上线服务。在实际中,可以采用压力测试工具对待测服务进行压力测试。其中,目前的压力测试工具可以包括Jmeter、Ab和LoadRunner等。
在实际场景中,可能会出现由于待测服务众多,导致待测服务的技术栈不同和使用的协议不同,即待测服务涉及多种协议(例如,Grpc、Doubbo、http2和http等)。
但是,目前的压力测试工具无法满足对待测服务的技术栈涉及的全部协议的压力测试,以及对已上线待测服务的压力测试效果与上线效果之间存在一定偏差。
发明内容
本申请提供了一种压力测试系统及方法,目的在于解决无法满足对待测服务的技术栈涉及的全部协议的压力测试,以及对已上线待测服务的压力测试效果与上线效果之间存在一定偏差的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请提供了一种压力测试系统,包括:流量回放平台、调度器和执行器;
所述流量回放平台,用于对已上线待测服务的历史实际用户请求进行采样,得到所述已上线待测服务的实际用户请求;
所述调度器,用于获取对预设的待测服务执行压力测试的测试任务的配置信息;其中,任一待测服务的任一测试任务的配置信息包括:测试用例信息、执行器数量、协议类型,以及运行该待测服务的设备的地址;在该待测服务为已上线待测服务的情况下,所述测试用例信息指示的测试用例为所述流量回放平台对该待测服务采样的实际用户请求;
所述调度器,还用于从所述执行器中确定用于执行所述测试任务的执行器;并向选取的执行器发送对应的测试任务的配置信息;
所述执行器,用于在接收到任一待测服务的任一测试任务的配置信息的情况下,从预设接口中确定目标协议类型对应的方法;所述预设接口是对预设多种协议类型配置的方法封装得到;所述目标协议类型为该测试任务的配置信息中的协议类型;
所述执行器,还用于依据所述方法以及该测试任务的配置信息,对该待测服务进行压力测试。
可选的,任一待测服务的任一测试任务的配置信息还包括:压力测试时长和每个执行器发送测试用例的并发数;
所述执行器,还用于依据所述方法以及该测试任务的配置信息,对该待测服务进行压力测试,包括:
所述执行器,具体用于获取该测试任务的配置信息中的测试用例信息、运行该待测服务的设备的地址;获取所述测试用例信息指示的测试用例;在所述压力测试时长内,按照所述方法向所述地址指示的设备发送所述并发数的测试用例;接收该待测服务对每次测试用例的响应结果。
可选的,所述执行器,还用于依据该待测服务对每次测试用例的响应结果,确定该待测服务对每次测试用例的测试信息。
可选的,所述执行器,还用于按照预设的第一采集频率,采集所述执行器的状态信息,得到第一状态信息;
所述执行器,还用于按照预设的第一发送频率,将所述第一状态信息和所述测试信息发送给所述调度器。
可选的,所述系统还包括用于运行所述待测服务的设备;
所述设备,用于按照预设的第二采集频率,采集对应设备的状态信息,得到第二状态信息;
所述设备,还用于按照预设的第二发送频率,将所述第二状态信息发送给所述调度器。
可选的,所述调度器,还用于依据所述测试信息,生成该待测服务的压力测试指标;
所述调度器,还用于将所述压力测试指标与历史压力测试指标进行对比,生成压力测试报告;
所述调度器,还用于输出所述压力测试报告。
可选的,在任一待测服务为未上线待测服务的情况下,该待测服务的任一测试任务的配置信息中的测试用例信息指:事先生成的测试用例的信息。
可选的,所述流量回放平台,用于对已上线待测服务的历史实际用户请求进行采样,得到所述已上线待测服务的实际用户请求,包括:
所述流量回放平台,具体用于获取已上线待测服务的历史用户请求日志;对所述历史用户请求日志进行预设操作,得到目标用户请求日志;所述预设操作包括:合并、去重和加权;存储所述目标用户请求日志。
可选的,所述调度器,还用于在接收到对所述目标用户请求日志的操作指令的情况下,按照所述指令对所述目标用户请求日志进行操作。
本申请还提供了一种压力测试方法,包括:
对已上线待测服务的历史实际用户请求进行采样,得到所述已上线待测服务的实际用户请求;
获取对预设的待测服务执行压力测试的测试任务的配置信息;其中,任一待测服务的任一测试任务的配置信息包括:测试用例信息、执行器数量、协议类型,以及运行该待测服务的设备的地址;在该待测服务为已上线待测服务的情况下,所述测试用例信息指示的测试用例为所述流量回放平台对该待测服务采样的实际用户请求;
对于任一待测服务的任一测试任务的配置信息,从预设接口中确定目标协议类型对应的方法;所述预设接口是对预设多种协议类型配置的方法封装得到;所述目标协议类型为该测试任务的配置信息中的协议类型;
依据所述方法以及该测试任务的配置信息,对运行该待测服务的设备进行压力测试。
本申请所述的压力测试系统及方法,包括:流量回放平台、调度器和执行器;其中,流量回放平台对已上线待测服务的历史实际用户请求进行采样,得到已上线待测服务的实际用户请求;调度器获取对预设的待测服务执行压力测试的测试任务的配置信息;其中,任一待测服务的任一测试任务的配置信息包括:测试用例信息、执行器数量、协议类型,以及运行该待测服务的设备的地址;从执行器中选取用于执行测试任务的执行器;并向选取的执行器发送对应的测试任务的配置信息;执行器在接收到任一待测服务的任一测试任务的配置信息的情况下,从预设接口中确定目标协议类型对应的方法;依据所述方法以及该测试任务的配置信息,对运行该待测服务的设备进行压力测试。
一方面,在本申请中,在该待测服务为已上线待测服务的情况下,该待测服务的任一测试任务的配置信息中的测试用例信息指示的测试用例为:流量回放平台对该待测服务采样的实际用户请求,使得后续采用该测试用例对待测服务进行压力测试,使得压力测试结果与实际上线效果间的偏差减小。
另一方面,在本申请中,预设接口是对预设多种协议类型配置的方法封装得到,从而,使得预设接口可以被扩展,使得本申请执行器可以从预设接口中确定测试任务的配置信息中的协议类型的方法,使得本申请提供的压力测试系统可以满足对待测服务的技术栈涉及的全部协议的压力测试。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种应用场景示意图;
图2为本申请实施例公开的压力测试系统对待测服务进行压力测试的实现流程图;
图3为本申请实施例公开的一种压力测试系统对待测服务进行压力测试的示意图;
图4为本申请实施例公开的一种压力测试系统对待测服务进行压力测试方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
发明人在研究中发现,现有技术中存在压力测试效果与上线效果之间存在偏差的原因包括:目前的压力测试工具都是通过用户手工输入或者使用脚本生成导入固定的用例数据。由于真实环境中逻辑分支往往千变万化,包括各种正常、异常场景,导致人工导入或脚本生成的用例数据对实际场景中的用例数据是很难模拟全的,即现有导入的用例数据无法完全覆盖实际的全部分支场景,因此,在一定概率上会导致压力测试与真实上线结果会存在不一致。
发明人在研究中还发现,现有技术中的压力测试工具无法满足对待测服务的技术栈涉及的全部协议的压力测试的原因包括:现有的压力测试工具仅包括少数的协议,并且,不可扩展。因此,在本申请实施例中,通过将预设的多种协议的预设方法进行封装得到接口,使得该接口可以被灵活扩展,进而,使得本申请实施例提供的压力测试系统可以满足对待测服务的技术栈涉及的全部协议的压力测试。
图1为本申请实施例提供的一种应用场景示意图,包括:压力测试系统和运行系统。其中,运行系统用于运行待测服务,压力测试系统用于对运行系统上运行的待测服务进行压力测试。
在本实施例中,运行系统可以包括:多个运行设备。运行系统控制哪个运行设备运行哪个服务。其中,运行设备上配置有服务容器,服务容器用于为该运行设备上所需运行的服务提供软件环境。作为示例,在本实施例中,运行系统可以为CI/CD运维管理平台,在CI/CD运维管理平台中配置有多个运行设备,CI/CD运维管理平台控制每个运行设备用于运行哪个服务,其中,CI/CD运维管理平台的具体结构,详细的实现原理为现有技术,这里不再赘述。
需要说明的是,在本实施例中,CI/CD运维管理平台是运行系统的一个示例,在实际中,运行系统还可以为其他系统,本实施例不对运行系统的具体内容作限定。
图2为本申请实施例提供的压力测试系统对待测服务进行压力测试的实现流程图,其中,本实施例的压力测试系统包括:流量回放平台、调度器和执行器;其中,对待测服务进行压力测试的流程可以包括:
S201、流量回放平台对已上线待测服务的历史实际用户请求进行采样,得到已上线待测服务的实际用户请求。
在本实施例中,待测服务是根据实际的压力测试场景确定的,本实施例不对待测服务的具体内容作限定。在实际中,待测服务可以包括:已上线待测服务,也可以包括未上线待测服务。
在实际中,由于已上线待测服务在历史的上线运行过程中,产生请求日志。在本实施例中,流量回放平台对已上线待测服务的历史实际用户请求进行采样。具体的,可以使用单线程从拉取请求日志,例如,每次最多获取10000条用户请求,当然,在实际中,可以根据实际情况设置拉取频率与批次。
S202、流量回放平台对历史用户请求日志进行预设操作,得到目标用户请求日志,并存储目标用户请求日志。
在本实施例中,预设操作可以包括:合并、去重和加权。
在本实施例中,可以将目标用户请求日志存储于调度器的预设存储空间。
可选的,在本实施例中,调度器还可以在接收到对目标用户请求日志的操作指令的情况下,按照该指令对目标用户请求日志进行操作。其中,操作可以包括增删改查。
S203、调度器获取对预设的待测服务执行压力测试的测试任务的配置信息。
在本实施例中,每个待测服务可能对应多个测试任务,即对任一待测服务都可能进行多个测试任务。在本实施例中,每个待测服务的每个测试任务的测试参数,是由人工进行配置的,为了描述方便,将人工对任一待测服务的任一测试任务配置的测试参数,称为该待测服务的该测试任务的配置信息。
其中,任一待测服务的任一测试任务的配置信息包括:测试用例信息、执行器数量、协议类型,以及运行该待测服务的设备的地址;可选的,在实际中,配置信息还可以包括:压力测试时长和每个执行器发送测试用例的并发数。
对于配置信息中的测试用例信息指:为该待测服务的该测试任务配置的测试用例的信息。其中,如果该待测服务为已上线待测服务,则为该待测服务的测试任务配置的测试用例为:流量回放平台对该待测服务采样的实际用户请求。如果该待测服务为未上线待测服务,则为该待测服务的测试任务配置的测试用例为自定义生成。
S204、调度器从执行器中确定用于执行测试任务的执行器。
在本实施例中,调度器可以依据压力测试系统中各执行器的状态,确定空闲状态的执行器,并从空闲状态执行器中,确定用于执行测试任务的执行器。
在本实施例中,以任一待测服务的任一测试任务为例,调度器依据该测试任务的配置信息中的执行器数量,从空闲状态的执行器中确定配置信息中执行器数量的执行器,作为用于执行该测试任务的执行器。
S205、调度器向选取的执行器发送对应的测试任务的配置信息。
以任一待测服务的任一测试任务为例,在本步骤中,调度器向用于执行该测试任务的执行器发送该测试任务的配置信息。
需要说明的是,在实际中,可能存在多个待测服务,每个待测服务都可能对应多个测试任务,在本实施例中,调度器是为每个测试任务确定执行器以及发送配置信息的过程,可以是串行执行,也可以为并行执行,本实施例不对具体的实现方式作限定。
S206、执行器在接收到任一待测服务的任一测试任务的配置信息的情况下,从预设接口中确定目标协议类型对应的方法。
在本实施例中,预设接口是对预设多种协议类型配置的方法封装得到。目标协议类型为该测试任务的配置信息中的协议类型。
S207、执行器依据方法以及该测试任务的配置信息,对该待测服务进行压力测试。
可选的,本步骤的具体实现方式可以包括:获取该测试任务的配置信息中的测试用例信息、运行该待测服务的设备的地址;获取测试用例信息指示的测试用例;在压力测试时长内,按照所述方法向所述地址指示的设备发送所述并发数的测试用例。接收该待测服务对每次测试用例的响应结果。并依据该待测服务对每次测试用例的响应结果,确定该待测服务对每次测试用例的测试信息,其中,测试信息可以包括:请求耗时和请求状态等。
在本实施例中,还对每次发送的测试用例确定的测试信息进行记录,得到该待测服务每次发送的测试用例与测试信息间的对应关系。
可选的,在本实施例中,执行器还可以按照预设的第一采集频率,采集执行器的状态信息,得到第一状态信息。其中,第一状态信息可以包括:内存、CPU和IO等。执行器还可以按照预设的第一发送频率,将第一状态信息和测试信息发送给调度器。
可选的,在实际中,可以在执行器中安装采集器客户端,执行器将每隔预设时长,将该时长内记录的对应关系,发送给采集器客户端。例如,执行器10秒聚合一次记录的对应关系,并发送给采集器客户端。采集器客户端10秒进行一次执行器系统状态采集:内存、CPU、IO等。
可选的,在本实施例中,压力测试系统还可以包括:用于运行待测服务的设备。
可选的,在本实施例中,用于运行待测服务的设备可以按照预设的第二采集频率,采集对应设备的状态信息,得到第二状态信息。并按照预设的第二发送频率,将第二状态信息发送给调度器。
作为示例,在用于运行待测服务的设备上事先安装采集客户端,采集器客户端10秒进行一次系统状态采集:内存、CPU、IO等。采集器客户端10秒一次把记录推送到调度器中的采集器服务端。
可选的,在本实施例中,调度器还可以依据测试信息,生成该待测服务的压力测试指标。其中,压力测试指标可以包括:最大响应时间、平均响应时间、QPS、TP90、TP50等,当然,在实际中,压力测试指标还可以包括其他内容,本实施例不对压力测试指标的具体内容作限定。
可选的,在本实施例中,调度器还可以将压力测试指标与历史压力测试指标进行对比,生成压力测试报告。
可选的,在本实施例中,调度器还可以输出压力测试报告。当然,在本实施例中,调度器还可以输出第一状态信息和第二状态信息。其中,对于第一状态信息、第二状态信息和压力测试指标与历史压力测试指标的对比结果,分别可以单独输出。
可选的,在本实施例中,压测报告数据可以存储在influxDB中,本实施例不对具体的存储方式作限定。
图3为本申请实施例提供的一种压力测试系统对待测服务进行压力测试的示意图,图3包括流量回放平台、调度器、用于选取后的用于执行测试任务的执行器和CI/CD运维管理平台。其中,流量回放平台将采集的已上线待测服务的历史用户请求,存储于调度器中。
调度器包括控制台、执行器管理模块、配置管理模块、日志管理模块和用例管理模块,其中,控制台用于进行用例日志导入、压测配置、执行器管理、日志查询、监控告警、运行报表、压测报表和压测对比等功能。执行器管理模块用于对预设的多个执行器进行管理,包括注册和调度等。配置管理模块,用于对压测配置数据进行管理。日志管理模块,用于对在已上线待测服务的历史运行过程中,CI/CD运维管理平台中产生的系统执行日志进行管理,还可以对压测指标日志进行管理。用例管理模块,用于对流量回放平台采样的用户请求日志和用户自定义的用例进行管理。
调度器依据预设的多个执行器的状态,确定出用于运行任一待测服务的任一测试任务的执行器的情况下,向该执行器发送该测试任务的配置信息,该执行器进行初始化,包括获取该配置信息中测试用例信息指示的测试用例、从预设接口中适配出该配置信息中的协议类型对应的方法,并获取该配置信息中执行器相关参数(例如,单个执行器的并发数等),并通过执行模块,向CI/CD运维管理平台中用于运行该待测服务的设备发送测试用例,并接收响应结果,记录每次发送的测试用例与响应结果间的对应关系,依据该对应关系,生成测试信息。通过采集客户端将测试信息采集并发送给调度器的采集服务端,采集服务端将接收到的数据进行存储。
CI/CI运维管理平台中事先配置有多个用于运行服务的设备,例如,设备1、设备2……设备n。其中,每个设备都与采集器客户端连接,采集器客户端对设备进行数据采集,并将采集的数据发送给服务端,服务端将接收的数据进行存储。
图4为本申请实施例提供的一种压力测试系统对待测服务进行压力测试的方法,执行主体为本申请实施例提供的压力测试系统,可以包括以下步骤:
S401、对已上线待测服务的历史实际用户请求进行采样,得到已上线待测服务的实际用户请求。
此部分表示的含义以及具体实现方式可以参考图2中S201,这里不再进行赘述。
S402、获取对预设的待测服务执行压力测试的测试任务的配置信息。
其中,任一待测服务的任一测试任务的配置信息包括:测试用例信息、执行器数量、协议类型,以及运行该待测服务的设备的地址;在该待测服务为已上线待测服务的情况下,所述测试用例信息指示的测试用例为所述流量回放平台对该待测服务采样的实际用户请求。
此部分的含义以及实现过程,可以参考S203~S205,这里不再赘述。
S403、对于任一待测服务的任一测试任务的配置信息,从预设接口中确定目标协议类型对应的方法。
所述预设接口是对预设多种协议类型配置的方法封装得到;所述目标协议类型为该测试任务的配置信息中的协议类型。
此部分的含义以及实现过程,可以参考S206,这里不再赘述。
S404、依据所述方法以及该测试任务的配置信息,对运行该待测服务的设备进行压力测试。
此部分的含义以及实现过程,可以参考S207,这里不再赘述。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种压力测试系统,其特征在于,包括:流量回放平台、调度器和执行器;
所述流量回放平台,用于对已上线待测服务的历史实际用户请求进行采样,得到所述已上线待测服务的实际用户请求;
所述调度器,用于获取对预设的待测服务执行压力测试的测试任务的配置信息;其中,任一待测服务的任一测试任务的配置信息包括:测试用例信息、执行器数量、协议类型以及运行该待测服务的设备的地址;在该待测服务为已上线待测服务的情况下,所述测试用例信息指示的测试用例为所述流量回放平台对该待测服务采样的实际用户请求;
所述调度器,还用于从所述执行器中确定用于执行所述测试任务的执行器;并向选取的执行器发送对应的测试任务的配置信息;
所述执行器,用于在接收到任一待测服务的任一测试任务的配置信息的情况下,从预设接口中确定目标协议类型对应的方法;所述预设接口是对预设多种协议类型配置的方法封装得到;所述目标协议类型为该测试任务的配置信息中的协议类型;
所述执行器,还用于依据所述方法以及该测试任务的配置信息,对该待测服务进行压力测试。
2.根据权利要求1所述的系统,其特征在于,任一待测服务的任一测试任务的配置信息还包括:压力测试时长和每个执行器发送测试用例的并发数;
所述执行器,还用于依据所述方法以及该测试任务的配置信息,对该待测服务进行压力测试,包括:
所述执行器,具体用于获取该测试任务的配置信息中的测试用例信息、运行该待测服务的设备的地址;获取所述测试用例信息指示的测试用例;在所述压力测试时长内,按照所述方法向所述地址指示的设备发送所述并发数的测试用例;接收该待测服务对每次测试用例的响应结果。
3.根据权利要求2所述的系统,其特征在于,所述执行器,还用于依据该待测服务对每次测试用例的响应结果,确定该待测服务对每次测试用例的测试信息。
4.根据权利要求3所述的系统,其特征在于,
所述执行器,还用于按照预设的第一采集频率,采集所述执行器的状态信息,得到第一状态信息;
所述执行器,还用于按照预设的第一发送频率,将所述第一状态信息和所述测试信息发送给所述调度器。
5.根据权利要求4所述的系统,其特征在于,所述系统还包括用于运行所述待测服务的设备;
所述设备,用于按照预设的第二采集频率,采集对应设备的状态信息,得到第二状态信息;
所述设备,还用于按照预设的第二发送频率,将所述第二状态信息发送给所述调度器。
6.根据权利要求5所述的系统,其特征在于,
所述调度器,还用于依据所述测试信息,生成该待测服务的压力测试指标;
所述调度器,还用于将所述压力测试指标与历史压力测试指标进行对比,生成压力测试报告;
所述调度器,还用于输出所述压力测试报告。
7.根据权利要求1所述的系统,其特征在于,在任一待测服务为未上线待测服务的情况下,该待测服务的任一测试任务的配置信息中的测试用例信息指:事先生成的测试用例的信息。
8.根据权利要求1所述的系统,其特征在于,所述流量回放平台,用于对已上线待测服务的历史实际用户请求进行采样,得到所述已上线待测服务的实际用户请求,包括:
所述流量回放平台,具体用于获取已上线待测服务的历史用户请求日志;对所述历史用户请求日志进行预设操作,得到目标用户请求日志;所述预设操作包括:合并、去重和加权;存储所述目标用户请求日志。
9.根据权利要求8所述的系统,其特征在于,
所述调度器,还用于在接收到对所述目标用户请求日志的操作指令的情况下,按照所述指令对所述目标用户请求日志进行操作。
10.一种压力测试方法,其特征在于,包括:
对已上线待测服务的历史实际用户请求进行采样,得到所述已上线待测服务的实际用户请求;
获取对预设的待测服务执行压力测试的测试任务的配置信息;其中,任一待测服务的任一测试任务的配置信息包括:测试用例信息、执行器数量、协议类型以及运行该待测服务的设备的地址;在该待测服务为已上线待测服务的情况下,所述测试用例信息指示的测试用例为流量回放平台对该待测服务采样的实际用户请求;
对于任一待测服务的任一测试任务的配置信息,从预设接口中确定目标协议类型对应的方法;所述预设接口是对预设多种协议类型配置的方法封装得到;所述目标协议类型为该测试任务的配置信息中的协议类型;
依据所述方法以及该测试任务的配置信息,对运行该待测服务的设备进行压力测试。
CN202110112851.5A 2021-01-27 2021-01-27 一种压力测试系统及方法 Active CN112835792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110112851.5A CN112835792B (zh) 2021-01-27 2021-01-27 一种压力测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110112851.5A CN112835792B (zh) 2021-01-27 2021-01-27 一种压力测试系统及方法

Publications (2)

Publication Number Publication Date
CN112835792A CN112835792A (zh) 2021-05-25
CN112835792B true CN112835792B (zh) 2023-03-03

Family

ID=75931984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110112851.5A Active CN112835792B (zh) 2021-01-27 2021-01-27 一种压力测试系统及方法

Country Status (1)

Country Link
CN (1) CN112835792B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312223B (zh) * 2021-06-04 2022-12-09 深圳市腾讯信息技术有限公司 一种压测方法、装置及调度设备
CN113344454A (zh) * 2021-07-05 2021-09-03 湖南快乐阳光互动娱乐传媒有限公司 一种压测数据的处理方法及装置
CN114465927B (zh) * 2022-04-12 2022-08-02 鹏城实验室 Dns服务器压力测试方法、电子设备及可读存储介质
CN115396346B (zh) * 2022-08-30 2023-11-28 北京知道创宇信息技术股份有限公司 仿真压力测试方法、装置、系统和电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897206A (zh) * 2015-12-18 2017-06-27 阿里巴巴集团控股有限公司 一种业务测试方法及装置
CN107066385A (zh) * 2017-03-31 2017-08-18 北京奇艺世纪科技有限公司 一种测试方法、装置及系统
CN109491891A (zh) * 2018-10-17 2019-03-19 深圳壹账通智能科技有限公司 全自动接口压测方法、装置、计算机设备及存储介质
CN109800137A (zh) * 2018-12-06 2019-05-24 珠海西山居互动娱乐科技有限公司 一种服务器性能测试方法和系统
CN110278122A (zh) * 2018-03-16 2019-09-24 厦门靠谱云股份有限公司 一种云数据库流量数据采样分析方法
CN110968468A (zh) * 2019-12-18 2020-04-07 广州唯品会信息科技有限公司 压力测试方法、终端设备及计算机存储介质
CN111400186A (zh) * 2020-03-19 2020-07-10 时时同云科技(成都)有限责任公司 性能测试方法及系统
CN111488285A (zh) * 2020-04-15 2020-08-04 北京字节跳动网络技术有限公司 接口测试方法、装置、电子设备及计算机可读存储介质
CN111756714A (zh) * 2020-06-15 2020-10-09 国家计算机网络与信息安全管理中心 一种用于工控协议的流量重放式测试方法及测试引擎
CN111917603A (zh) * 2020-07-22 2020-11-10 广州虎牙信息科技有限公司 客户端测试方法、装置、计算机设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898564B1 (en) * 2000-05-23 2005-05-24 Microsoft Corporation Load simulation tool for server resource capacity planning
CN1231032C (zh) * 2002-07-22 2005-12-07 华为技术有限公司 一种网络协议测试方法及其测试系统
CN103064786B (zh) * 2012-12-14 2016-08-03 北京思特奇信息技术股份有限公司 一种基于多协议支撑的逻辑层自动化测试系统
CN104009889B (zh) * 2014-06-10 2017-04-26 西安西电捷通无线网络通信股份有限公司 一种通信协议测试方法及其被测设备和测试平台
CN105988922B (zh) * 2015-02-06 2018-11-06 阿里巴巴集团控股有限公司 应用程序的测试方法、装置及服务器
CN107908541B (zh) * 2017-07-26 2020-10-30 平安壹钱包电子商务有限公司 接口测试方法、装置、计算机设备及存储介质
CN110505111B (zh) * 2019-07-09 2020-12-01 杭州电子科技大学 基于流量重放的工控协议模糊测试方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897206A (zh) * 2015-12-18 2017-06-27 阿里巴巴集团控股有限公司 一种业务测试方法及装置
CN107066385A (zh) * 2017-03-31 2017-08-18 北京奇艺世纪科技有限公司 一种测试方法、装置及系统
CN110278122A (zh) * 2018-03-16 2019-09-24 厦门靠谱云股份有限公司 一种云数据库流量数据采样分析方法
CN109491891A (zh) * 2018-10-17 2019-03-19 深圳壹账通智能科技有限公司 全自动接口压测方法、装置、计算机设备及存储介质
CN109800137A (zh) * 2018-12-06 2019-05-24 珠海西山居互动娱乐科技有限公司 一种服务器性能测试方法和系统
CN110968468A (zh) * 2019-12-18 2020-04-07 广州唯品会信息科技有限公司 压力测试方法、终端设备及计算机存储介质
CN111400186A (zh) * 2020-03-19 2020-07-10 时时同云科技(成都)有限责任公司 性能测试方法及系统
CN111488285A (zh) * 2020-04-15 2020-08-04 北京字节跳动网络技术有限公司 接口测试方法、装置、电子设备及计算机可读存储介质
CN111756714A (zh) * 2020-06-15 2020-10-09 国家计算机网络与信息安全管理中心 一种用于工控协议的流量重放式测试方法及测试引擎
CN111917603A (zh) * 2020-07-22 2020-11-10 广州虎牙信息科技有限公司 客户端测试方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN112835792A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN112835792B (zh) 一种压力测试系统及方法
CN110888783B (zh) 微服务系统的监测方法、装置以及电子设备
CN107294808B (zh) 接口测试的方法、装置和系统
US8528039B2 (en) System for and method of set-top box memory monitoring
US7873594B2 (en) System analysis program, system analysis method, and system analysis apparatus
US10116534B2 (en) Systems and methods for WebSphere MQ performance metrics analysis
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
US7913233B2 (en) Performance analyzer
CN111176941B (zh) 一种数据处理的方法、装置和存储介质
CN110737639A (zh) 审计日志方法、装置、计算机设备及存储介质
CN111124830B (zh) 一种微服务的监控方法及装置
CN102710458B (zh) 测试过程的监控方法、测试管理服务器和测试服务器
US7617313B1 (en) Metric transport and database load
CN111177094A (zh) 日志数据处理方法、装置、电子设备及存储介质
CN116107913B (zh) 单节点服务器的测试控制方法、装置及系统
CN115525392A (zh) 容器监控方法、装置、电子设备及存储介质
CN113472881B (zh) 在线终端设备的统计方法和装置
US11243857B2 (en) Executing test scripts with respect to a server stack
CN106933718B (zh) 性能监控方法及装置
CN114546743A (zh) 设备接口性能的测试方法及装置
CN113297358A (zh) 数据处理方法、装置、服务器和计算机可读存储介质
CN116431872B (zh) 可观测系统及基于可观测系统的服务观测方法
CN116074388B (zh) 一种基于日志队列的流量转发方法及系统
CN113411206B (zh) 一种日志审计方法、装置、设备和计算机存储介质
CN108449343B (zh) Ssh协议文本数据采集方法、采集器及计算机设备

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