CN110245078A - 一种软件的压力测试方法、装置、存储介质和服务器 - Google Patents
一种软件的压力测试方法、装置、存储介质和服务器 Download PDFInfo
- Publication number
- CN110245078A CN110245078A CN201910441474.2A CN201910441474A CN110245078A CN 110245078 A CN110245078 A CN 110245078A CN 201910441474 A CN201910441474 A CN 201910441474A CN 110245078 A CN110245078 A CN 110245078A
- Authority
- CN
- China
- Prior art keywords
- pressure
- surveys
- test
- file
- survey
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
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)
- Measuring Fluid Pressure (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,提出一种软件的压力测试方法、装置、存储介质和服务器。本发明通过预先构建多个压测场景的压测属性参数,在调用jmeter工具执行压力测试的过程中,每执行完一个压测场景的压力测试,会自动将jmeter工具的压测属性参数替换为下一个压测场景的压测属性参数,然后执行下一个压测场景的压力测试,直至采用相同的方式执行完所有压测场景的压力测试。最后,再对所有压测场景的压力测试结果进行整合,以达到同时完成多个压测场景的压力测试的目的。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件的压力测试方法、装置、存储介质和服务器。
背景技术
软件的压力测试是一种基本的质量保证行为,是软件测试工作的一部分。软件压力测试的基本思路是对系统不断施加压力,通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试,例如测试一个Web站点在大量的负荷下,何时系统的响应会退化或失败。目前,人们通常采用Jmeter等开源的压力测试工具进行软件压力测试,获得性能测试报告。然而,采用这类压力测试工具每次只能针对单个压测场景进行测试,局限性较大。
发明内容
有鉴于此,本发明实施例提供了一种软件的压力测试方法、装置、存储介质和服务器,能够同时完成多个压测场景的压力测试。
本发明实施例的第一方面,提供了一种软件的压力测试方法,包括:
当接收到压力测试指令时,获取待测软件的压测脚本和压测属性参数表,所述压测属性参数表记录多套不同的压测属性参数,每套压测属性参数对应一个压测场景;
使用saltstack工具向所述待测软件的压测服务器组发送nmon文件,以使所述压测服务器组执行nmon后台收集系统性能数据的命令;
调用jmeter工具,依次设置所述jmeter工具的压测属性参数为所述压测属性参数表中的各套压测属性参数,每设置一套压测属性参数运行一次所述压测脚本,分别得到每个压测场景的jtl测试文件,所述jtl测试文件为采用jmeter工具执行压力测试后得到的记录压力测试结果数据的文件;
使用saltstack工具接收所述压测服务器组返回的nmon格式的性能监测文件,所述性能监测文件记录所述压测服务器组的性能数据;
整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告。
本发明实施例的第二方面,提供了一种软件的压力测试装置,包括:
压测信息获取模块,用于当接收到压力测试指令时,获取待测软件的压测脚本和压测属性参数表,所述压测属性参数表记录多套不同的压测属性参数,每套压测属性参数对应一个压测场景;
nmon文件发送模块,用于使用saltstack工具向所述待测软件的压测服务器组发送nmon文件,以使所述压测服务器组执行nmon后台收集系统性能数据的命令;
压力测试模块,用于调用jmeter工具,依次设置所述jmeter工具的压测属性参数为所述压测属性参数表中的各套压测属性参数,每设置一套压测属性参数运行一次所述压测脚本,分别得到每个压测场景的jtl测试文件,所述jtl测试文件为采用jmeter工具执行压力测试后得到的记录压力测试结果数据的文件;
性能监测文件接收模块,用于使用saltstack工具接收所述压测服务器组返回的nmon格式的性能监测文件,所述性能监测文件记录所述压测服务器组的性能数据;
文件整合模块,用于整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告。
本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如本发明实施例的第一方面提出的软件的压力测试方法的步骤。
本发明实施例的第四方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如本发明实施例的第一方面提出的软件的压力测试方法的步骤。
本申请通过预先构建多个压测场景的压测属性参数,在调用jmeter工具执行压力测试的过程中,每执行完一个压测场景的压力测试,会自动将jmeter工具的压测属性参数替换为下一个压测场景的压测属性参数,然后执行下一个压测场景的压力测试,直至采用相同的方式执行完所有压测场景的压力测试。最后,再对所有压测场景的压力测试结果进行整合,以达到同时完成多个压测场景的压力测试的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种软件的压力测试方法的第一个实施例的流程图;
图2是本发明实施例提供的一种软件的压力测试方法的第二个实施例的流程图;
图3是本发明实施例提供的一种软件的压力测试装置的一个实施例的结构图;
图4是本发明实施例提供的一种服务器的示意图。
具体实施方式
本发明实施例提供了一种软件的压力测试方法、装置、存储介质和服务器,能够一次完成针对多个压测场景的性能测试。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种软件的压力测试方法的第一个实施例包括:
101、当接收到压力测试指令时,获取待测软件的压测脚本和压测属性参数表;
本申请可以设计一个压力测试工具,用户通过点击该压力测试工具上的启动按键发出压力测试指令,然后可以选取待测软件的压测脚本以及压测属性参数表。压测脚本和压测属性参数表都是预先构建好的,该压测属性参数表记录多套不同的压测属性参数,每套压测属性参数对应一个压测场景。压测属性参数可以包括并发参数、执行时间、运行次数和压测服务器组等信息,并发参数相当于设置线程组中的线程数(并发用户数),执行时间即线程组工作的持续时间,运行次数即线程组运行的循环次数,压测服务器组即待测软件所部署的服务器组。
具体的,压测场景可以分为3种类型:(1)按照时间运行,即设置线程组的线程数以及线程组的持续时间;(2)按照运行次数运行,即设置线程组的线程数以及运行的循环次数;(3)按照原始设置运行,即直接运行压测脚本,采用压测脚本中记录的压测属性参数。
102、使用saltstack工具向所述待测软件的压测服务器组发送nmon文件,以使所述压测服务器组执行nmon后台收集系统性能数据的命令;
接着,使用saltstack工具向所述待测软件的压测服务器组发送nmon文件,以使所述压测服务器组执行nmon后台收集系统性能数据的命令。nmon是常用的系统性能监视工具,由IBM工程师Nigel Griffiths开发,适用于AIX和Linux操作系统。该工具可以直接在屏幕上显示当前操作系统的资源利用率,以帮助大家找出系统瓶颈和协助系统调优,可以轻松监控系统CPU、内存、网络、磁盘、文件系统、NFS、Top进程等信息。将nmon文件发送给压测服务器组之后,可以监测并收集压测服务器组的性能数据。
Saltstack是一个基于Python开发的一套C/S架构配置管理工具,底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理。部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。
103、调用jmeter工具,依次设置所述jmeter工具的压测属性参数为所述压测属性参数表中的各套压测属性参数,每设置一套压测属性参数运行一次所述压测脚本,分别得到每个压测场景的jtl测试文件;
然后,调用jmeter工具,依次设置所述jmeter工具的压测属性参数为所述压测属性参数表中的各套压测属性参数,每设置一套压测属性参数运行一次所述压测脚本,分别得到每个压测场景的jtl测试文件。也即,依次执行各个压测场景的压力测试,在各个压测场景的压测属性参数下,分别调用jmeter工具运行该压测脚本,获得jtl测试文件,所述jtl测试文件为采用jmeter工具执行压力测试后得到的记录压力测试结果数据的文件。比如,总共有A-E共5个压测场景,首先调用jmeter工具,设置压测属性参数为A场景的压测属性参数,执行压力测试,获得A场景的jtl文件;然后设置压测属性参数为B场景的压测属性参数,执行压力测试,获得B场景的jtl文件,以此类推,最终获得E场景的jtl文件,jtl文件打开后是一行行的性能测试结果。
进一步的,在调用jmeter工具依次执行各个压测场景的压力测试的过程中,若任意一个压测场景的压力测试出错,则退出压力测试的过程,并在退出压力测试的过程之后,构建并输出报错信息,所述报错信息包含压力测试出错的压测场景所对应的压测属性参数。通过这样设置,用户可以获知是哪个压测场景的压力测试出现了问题,便于定位分析问题的产生原因。
104、使用saltstack工具接收所述压测服务器组返回的nmon格式的性能监测文件;
执行完所有压测场景的压力测试之后,调用saltstack工具接收所述压测服务器组返回的nmon格式的性能监测文件,可以将该文件发送至指定的存储目录。在使用nmon工具执行nmon后台收集系统资源命令之后,能够监测压测服务器组的性能参数,并生成nmon格式的性能监测文件,所述性能监测文件记录所述压测服务器组的性能数据。
105、整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告。
最后,整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告,该压力测试报告包含多个不同压测场景的压力测试结果。可见,利用本申请提出的压力测试方法,用户只需要预先做好压测脚本和压测属性参数表,然后点击开发的某个压力测试工具的启动按钮,即可一次获得多个压测场景的压力测试结果。
本发明实施例通过预先构建多个压测场景的压测属性参数,在调用jmeter工具执行压力测试的过程中,每执行完一个压测场景的压力测试,会自动将jmeter工具的压测属性参数替换为下一个压测场景的压测属性参数,然后执行下一个压测场景的压力测试,直至采用相同的方式执行完所有压测场景的压力测试。最后,再对所有压测场景的压力测试结果进行整合,以达到同时完成多个压测场景的压力测试的目的。
请参阅图2,本发明实施例中一种软件的压力测试方法的第二个实施例包括:
201、当接收到压力测试指令时,获取待测软件的压测脚本和压测属性参数表;
202、使用saltstack工具向所述待测软件的压测服务器组发送nmon文件,以使所述压测服务器组执行nmon后台收集系统性能数据的命令;
203、调用jmeter工具,依次设置所述jmeter工具的压测属性参数为所述压测属性参数表中的各套压测属性参数,每设置一套压测属性参数运行一次所述压测脚本,分别得到每个压测场景的jtl测试文件;
204、使用saltstack工具接收所述压测服务器组返回的nmon格式的性能监测文件;
步骤201-204与步骤101-104相同,具体可参照步骤101-104的相关说明。
205、解析所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述每个压测场景下的压力测试结果数据以及所述压测服务器组的性能数据;
在得到jtl测试文件和性能监测文件之后,解析这些文件数据,得到所述每个压测场景下的压力测试结果数据以及所述压测服务器组的性能数据。
206、将所述压力测试结果数据以及所述压测服务器组的性能数据按照预设的方式添加到预先构建的excel模板文件中,得到所述待测软件的压力测试报告;
接着,将所述压力测试结果数据以及所述压测服务器组的性能数据按照预设的方式添加到预先构建的excel模板文件中,整合得到所述待测软件的一份压力测试报告。
进一步的,所述将所述压力测试结果数据按照预设的方式添加到预先构建的excel模板文件中可以包括:
(1)统计所述压测属性参数表包含的压测属性参数的套数,并为每套压测属性参数构建对应的参数编号;
(2)将所述excel模板文件划分为数量为所述套数的多个区域,每个所述区域分别和一个所述参数编号关联;
(3)将各个压测场景的压力测试结果数据按照关联的参数编号,分别添加至所述各个区域内。
假设所述压测属性参数表包含5套压测属性参数,分别编号为A-E,则将所述excel模板文件划分为5个区域,每个区域分别和一个编号对应,即有A区域、B区域、C区域、D区域和E区域。然后,将A编号的压测属性参数所对应的压测场景的压力测试结果添加到A区域,将B编号的压测属性参数所对应的压测场景的压力测试结果添加到B区域,以此类推。通过这样设置,能够获得一份清楚明了的压力测试报告,用户可以直观地查看各个压测场景的压力测试结果数据和对应的压测属性参数。
207、使用ELK工具收集所述压测服务器组的异步接口的日志信息;
208、解析所述日志信息,得到所述异步接口的响应时间;
209、将所述响应时间添加到所述压力测试报告中。
ELK是三个开源软件的缩写,分别表示:Elasticsearch,Logstash,Kibana。其中,Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。Kibana也是一个开源和免费的工具,Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web界面,可以帮助汇总、分析和搜索重要的数据日志。
使用ELK工具可以收集所述压测服务器组的异步接口的日志信息,解析该日志信息,得到其中包含的异步接口的响应时间,最后将所述响应时间添加到所述压力测试报告中。通过这样设置,能够同时获取压测服务器组的异步接口的性能指标,进一步提高压力测试的全面性与完整性。
本发明实施例通过预先构建多个压测场景的压测属性参数,在调用jmeter工具执行压力测试的过程中,每执行完一个压测场景的压力测试,会自动将jmeter工具的压测属性参数替换为下一个压测场景的压测属性参数,然后执行下一个压测场景的压力测试,直至采用相同的方式执行完所有压测场景的压力测试。最后,再对所有压测场景的压力测试结果进行整合,以达到同时完成多个压测场景的压力测试的目的。另外,在本实施例中,还会使用ELK工具收集压测服务器组的异步接口的日志信息,解析该日志信息,得到其中包含的异步接口的响应时间,最后将所述响应时间添加到所述压力测试报告中,能够同时获取压测服务器组的异步接口的性能指标,进一步提高压力测试的全面性与完整性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种软件的压力测试方法,下面将对一种软件的压力测试装置进行详细描述。
请参阅图3,本发明实施例中一种软件的压力测试装置的一个实施例包括:
压测信息获取模块301,用于当接收到压力测试指令时,获取待测软件的压测脚本和压测属性参数表,所述压测属性参数表记录多套不同的压测属性参数,每套压测属性参数对应一个压测场景;
nmon文件发送模块302,用于使用saltstack工具向所述待测软件的压测服务器组发送nmon文件,以使所述压测服务器组执行nmon后台收集系统性能数据的命令;
压力测试模块303,用于调用jmeter工具,依次设置所述jmeter工具的压测属性参数为所述压测属性参数表中的各套压测属性参数,每设置一套压测属性参数运行一次所述压测脚本,分别得到每个压测场景的jtl测试文件,所述jtl测试文件为采用jmeter工具执行压力测试后得到的记录压力测试结果数据的文件;
性能监测文件接收模块304,用于使用saltstack工具接收所述压测服务器组返回的nmon格式的性能监测文件,所述性能监测文件记录所述压测服务器组的性能数据;
文件整合模块305,用于整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告。
进一步的,所述压力测试装置还可以包括:
测试退出模块,用于在调用jmeter工具依次执行各个压测场景的压力测试的过程中,若任意一个压测场景的压力测试出错,则退出压力测试的过程;
报错信息构建模块,用于在退出压力测试的过程之后,构建并输出报错信息,所述报错信息包含压力测试出错的压测场景所对应的压测属性参数。
进一步的,所述文件整合模块可以包括:
数据解析单元,用于所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述每个压测场景下的压力测试结果数据以及所述压测服务器组的性能数据;
数据添加单元,用于将所述压力测试结果数据以及所述压测服务器组的性能数据按照预设的方式添加到预先构建的excel模板文件中,得到所述待测软件的压力测试报告。
进一步的,所述数据添加单元可以包括:
参数数量统计子单元,用于统计所述压测属性参数表包含的压测属性参数的套数,并为每套压测属性参数构建对应的参数编号;
区域划分子单元,用于将所述excel模板文件划分为数量为所述套数的多个区域,每个所述区域分别和一个所述参数编号关联;
数据添加子单元,用于将各个压测场景的压力测试结果数据按照关联的参数编号,分别添加至所述各个区域内。
进一步的,所述压力测试装置还可以包括:
日志信息收集模块,用于使用ELK工具收集所述压测服务器组的异步接口的日志信息;
日志信息解析模块,用于解析所述日志信息,得到所述异步接口的响应时间;
响应时间添加模块,用于将所述响应时间添加到所述压力测试报告中。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如图1或图2表示的任意一种软件的压力测试方法的步骤。
本发明实施例还提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如图1或图2表示的任意一种软件的压力测试方法的步骤。
图4是本发明一实施例提供的服务器的示意图。如图4所示,该实施例的服务器4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机可读指令42。所述处理器40执行所述计算机可读指令42时实现上述各个软件的压力测试方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器40执行所述计算机可读指令42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至305的功能。
示例性的,所述计算机可读指令42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令42在所述服务器4中的执行过程。
所述服务器4可以是智能手机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是服务器4的示例,并不构成对服务器4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器4还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述服务器4的内部存储单元,例如服务器4的硬盘或内存。所述存储器41也可以是所述服务器4的外部存储设备,例如所述服务器4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器41还可以既包括所述服务器4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnLyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种软件的压力测试方法,其特征在于,包括:
当接收到压力测试指令时,获取待测软件的压测脚本和压测属性参数表,所述压测属性参数表记录多套不同的压测属性参数,每套压测属性参数对应一个压测场景;
使用saltstack工具向所述待测软件的压测服务器组发送nmon文件,以使所述压测服务器组执行nmon后台收集系统性能数据的命令;
调用jmeter工具,依次设置所述jmeter工具的压测属性参数为所述压测属性参数表中的各套压测属性参数,每设置一套压测属性参数运行一次所述压测脚本,分别得到每个压测场景的jtl测试文件,所述jtl测试文件为采用jmeter工具执行压力测试后得到的记录压力测试结果数据的文件;
使用saltstack工具接收所述压测服务器组返回的nmon格式的性能监测文件,所述性能监测文件记录所述压测服务器组的性能数据;
整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告。
2.根据权利要求1所述的压力测试方法,其特征在于,还包括:
在调用jmeter工具依次执行各个压测场景的压力测试的过程中,若任意一个压测场景的压力测试出错,则退出压力测试的过程;
在退出压力测试的过程之后,构建并输出报错信息,所述报错信息包含压力测试出错的压测场景所对应的压测属性参数。
3.根据权利要求1或2所述的压力测试方法,其特征在于,所述整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告包括:
解析所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述每个压测场景下的压力测试结果数据以及所述压测服务器组的性能数据;
将所述压力测试结果数据以及所述压测服务器组的性能数据按照预设的方式添加到预先构建的excel模板文件中,得到所述待测软件的压力测试报告。
4.根据权利要求3所述的压力测试方法,其特征在于,在得到所述待测软件的压力测试报告之后,还包括:
使用ELK工具收集所述压测服务器组的异步接口的日志信息;
解析所述日志信息,得到所述异步接口的响应时间;
将所述响应时间添加到所述压力测试报告中。
5.根据权利要求3所述的软件的压力测试方法,其特征在于,所述将所述压力测试结果数据按照预设的方式添加到预先构建的excel模板文件中包括:
统计所述压测属性参数表包含的压测属性参数的套数,并为每套压测属性参数构建对应的参数编号;
将所述excel模板文件划分为数量为所述套数的多个区域,每个所述区域分别和一个所述参数编号关联;
将各个压测场景的压力测试结果数据按照关联的参数编号,分别添加至所述各个区域内。
6.一种软件的压力测试装置,其特征在于,包括:
压测信息获取模块,用于当接收到压力测试指令时,获取待测软件的压测脚本和压测属性参数表,所述压测属性参数表记录多套不同的压测属性参数,每套压测属性参数对应一个压测场景;
nmon文件发送模块,用于使用saltstack工具向所述待测软件的压测服务器组发送nmon文件,以使所述压测服务器组执行nmon后台收集系统性能数据的命令;
压力测试模块,用于调用jmeter工具,依次设置所述jmeter工具的压测属性参数为所述压测属性参数表中的各套压测属性参数,每设置一套压测属性参数运行一次所述压测脚本,分别得到每个压测场景的jtl测试文件,所述jtl测试文件为采用jmeter工具执行压力测试后得到的记录压力测试结果数据的文件;
性能监测文件接收模块,用于使用saltstack工具接收所述压测服务器组返回的nmon格式的性能监测文件,所述性能监测文件记录所述压测服务器组的性能数据;
文件整合模块,用于整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的软件的压力测试方法的步骤。
8.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
当接收到压力测试指令时,获取待测软件的压测脚本和压测属性参数表,所述压测属性参数表记录多套不同的压测属性参数,每套压测属性参数对应一个压测场景;
使用saltstack工具向所述待测软件的压测服务器组发送nmon文件,以使所述压测服务器组执行nmon后台收集系统性能数据的命令;
调用jmeter工具,依次设置所述jmeter工具的压测属性参数为所述压测属性参数表中的各套压测属性参数,每设置一套压测属性参数运行一次所述压测脚本,分别得到每个压测场景的jtl测试文件,所述jtl测试文件为采用jmeter工具执行压力测试后得到的记录压力测试结果数据的文件;
使用saltstack工具接收所述压测服务器组返回的nmon格式的性能监测文件,所述性能监测文件记录所述压测服务器组的性能数据;
整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告。
9.根据权利要求8所述的服务器,其特征在于,所述整合所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述待测软件的压力测试报告包括:
解析所述性能监测文件和所述每个压测场景的jtl测试文件,得到所述每个压测场景下的压力测试结果数据以及所述压测服务器组的性能数据;
将所述压力测试结果数据以及所述压测服务器组的性能数据按照预设的方式添加到预先构建的excel模板文件中,得到所述待测软件的压力测试报告。
10.根据权利要求9所述的服务器,其特征在于,在得到所述待测软件的压力测试报告之后,还包括:
使用ELK工具收集所述压测服务器组的异步接口的日志信息;
解析所述日志信息,得到所述异步接口的响应时间;
将所述响应时间添加到所述压力测试报告中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910441474.2A CN110245078B (zh) | 2019-05-24 | 2019-05-24 | 一种软件的压力测试方法、装置、存储介质和服务器 |
PCT/CN2019/118558 WO2020238066A1 (zh) | 2019-05-24 | 2019-11-14 | 一种软件的压力测试方法、装置、存储介质和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910441474.2A CN110245078B (zh) | 2019-05-24 | 2019-05-24 | 一种软件的压力测试方法、装置、存储介质和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110245078A true CN110245078A (zh) | 2019-09-17 |
CN110245078B CN110245078B (zh) | 2020-11-13 |
Family
ID=67884992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910441474.2A Active CN110245078B (zh) | 2019-05-24 | 2019-05-24 | 一种软件的压力测试方法、装置、存储介质和服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110245078B (zh) |
WO (1) | WO2020238066A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078478A (zh) * | 2019-12-17 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 服务器压力测试方法、装置和计算机可读存储介质 |
CN111159009A (zh) * | 2019-11-29 | 2020-05-15 | 深圳智链物联科技有限公司 | 一种日志服务系统的压力测试方法及装置 |
CN111294257A (zh) * | 2020-03-09 | 2020-06-16 | 北京九州云动科技有限公司 | 应用服务器自动压力测试的方法、装置和系统 |
CN111651351A (zh) * | 2020-05-29 | 2020-09-11 | 成都新潮传媒集团有限公司 | 一种基于Jenkins的软件性能测试方法及装置 |
WO2020238066A1 (zh) * | 2019-05-24 | 2020-12-03 | 平安国际智慧城市科技股份有限公司 | 一种软件的压力测试方法、装置、存储介质和服务器 |
CN112148599A (zh) * | 2020-09-16 | 2020-12-29 | 上海中通吉网络技术有限公司 | 性能压测方法、装置及设备 |
CN112148600A (zh) * | 2020-09-16 | 2020-12-29 | 上海中通吉网络技术有限公司 | 一种软件性能的测试方法、装置、设备及存储介质 |
CN112463605A (zh) * | 2020-11-26 | 2021-03-09 | 杭州网易云音乐科技有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN113037589A (zh) * | 2021-03-01 | 2021-06-25 | 广东睿住智能科技有限公司 | 网关设备的压力测试方法、装置、测试平台及存储介质 |
CN113127356A (zh) * | 2021-04-22 | 2021-07-16 | 挂号网(杭州)科技有限公司 | 压测方法、装置、电子设备及存储介质 |
CN113300900A (zh) * | 2020-06-28 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 云上服务测试方法、装置和系统以及容器测试方法和装置 |
CN113656314A (zh) * | 2021-08-19 | 2021-11-16 | 工银科技有限公司 | 压力测试处理方法及装置 |
CN114003482A (zh) * | 2020-07-28 | 2022-02-01 | 苏州沈苏自动化技术开发有限公司 | 一种无编码型软件系统压力测试方法及系统 |
CN114036034A (zh) * | 2021-10-27 | 2022-02-11 | 北京闪送科技有限公司 | 一种应用于实时流式计算的性能测试方法 |
CN115883431A (zh) * | 2022-11-29 | 2023-03-31 | 重庆长安汽车股份有限公司 | 一种终端通讯协议性能测试系统、方法、车辆及存储介质 |
CN111444068B (zh) * | 2020-03-03 | 2023-09-19 | Oppo广东移动通信有限公司 | 系统性能测试方法、装置、计算机设备及存储介质 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559360A (zh) * | 2020-12-22 | 2021-03-26 | 盛银消费金融有限公司 | 一种基于代码方法级的压力测试方法 |
CN113807909A (zh) * | 2021-01-13 | 2021-12-17 | 北京沃东天骏信息技术有限公司 | 一种订单压测方法、装置、电子设备以及存储介质 |
CN112988535B (zh) * | 2021-03-03 | 2023-12-22 | 北京百度网讯科技有限公司 | 数据推送服务的测试方法、设备、存储介质及程序产品 |
CN113391994A (zh) * | 2021-03-09 | 2021-09-14 | 深圳市星锐游戏有限公司 | 一种基于Unity平台的手机软件自动化测试方法 |
CN115114127B (zh) * | 2021-03-22 | 2024-04-30 | 小沃科技有限公司 | 压力测试系统 |
CN113064777B (zh) * | 2021-04-02 | 2024-07-30 | 中国建设银行股份有限公司 | 数据采集服务的测试方法和装置 |
CN113094272B (zh) * | 2021-04-14 | 2023-11-03 | 北京京东振世信息技术有限公司 | 应用测试方法、装置、电子设备和计算机可读介质 |
CN113259201B (zh) * | 2021-06-17 | 2023-10-10 | 中国农业银行股份有限公司 | 链路性能测试方法、装置、服务器及存储介质 |
CN114143238A (zh) * | 2021-08-23 | 2022-03-04 | 郑州时空隧道信息技术有限公司 | 一种基于跑腿业务进行的全链路压测系统 |
CN113760777B (zh) * | 2021-10-12 | 2024-01-23 | 平安国际智慧城市科技股份有限公司 | 应用程序压力测试方法、装置、设备及存储介质 |
CN113965502B (zh) * | 2021-10-20 | 2023-04-28 | 上海汇付支付有限公司 | 一种全链路性能测试方法和系统 |
CN114186699A (zh) * | 2021-11-02 | 2022-03-15 | 深圳追一科技有限公司 | 质检节点的优化方法、装置、计算机设备及存储介质 |
CN114040191A (zh) * | 2021-11-04 | 2022-02-11 | 广州博冠信息科技有限公司 | 直播场景的压力测试方法、装置、介质及电子设备 |
CN114567578B (zh) * | 2022-03-14 | 2023-09-26 | 重庆紫光华山智安科技有限公司 | 一种压力测试方法、装置、测试平台及存储介质 |
CN114615171B (zh) * | 2022-03-16 | 2024-01-30 | 网易(上海)网络有限公司 | 云游戏服务器的压测处理方法、设备、介质及程序产品 |
CN114579473B (zh) * | 2022-05-09 | 2022-09-02 | 太平金融科技服务(上海)有限公司深圳分公司 | 应用测试方法、装置、设备及存储介质 |
CN116680165B (zh) * | 2023-04-25 | 2024-01-23 | 厦门国际银行股份有限公司 | 一种接口性能测试方法、装置以及设备 |
CN117389813B (zh) * | 2023-11-07 | 2024-08-02 | 中科驭数(北京)科技有限公司 | Rdma测试方法、装置、电子设备及计算机存储介质 |
CN117579531B (zh) * | 2024-01-15 | 2024-05-28 | 云筑信息科技(成都)有限公司 | 一种需要动态加验签接口的压测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063305A (zh) * | 2013-03-18 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 智能终端软件的压力测试方法、装置和系统 |
CN106708818A (zh) * | 2015-07-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种压力测试方法和系统 |
CN107544783A (zh) * | 2016-06-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 一种数据更新方法、装置及系统 |
CN107609202A (zh) * | 2017-10-25 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种部署数据库实例的方法、装置及计算机设备 |
CN107783899A (zh) * | 2017-08-25 | 2018-03-09 | 上海壹账通金融科技有限公司 | 应用程序中h5页面的测试方法、装置和计算机设备 |
WO2018068427A1 (zh) * | 2016-10-13 | 2018-04-19 | 北京百度网讯科技有限公司 | 用于开发无人驾驶车辆应用的方法和装置 |
US20180276112A1 (en) * | 2017-03-27 | 2018-09-27 | International Business Machines Corporation | Balancing memory pressure across systems |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239218B (zh) * | 2014-10-17 | 2017-04-19 | 苏州大学 | 一种实时软件压力测试用例生成方法及装置 |
CN105117262B (zh) * | 2015-09-11 | 2018-12-21 | 北京京东尚科信息技术有限公司 | 一种任务自动化执行方法 |
CN109426593A (zh) * | 2017-08-24 | 2019-03-05 | 北京京东尚科信息技术有限公司 | 自动评估系统性能的方法和装置 |
CN107544897A (zh) * | 2017-08-25 | 2018-01-05 | 重庆扬讯软件技术股份有限公司 | 基于一体化实时监控的性能测试方法与系统 |
CN110245078B (zh) * | 2019-05-24 | 2020-11-13 | 平安国际智慧城市科技股份有限公司 | 一种软件的压力测试方法、装置、存储介质和服务器 |
-
2019
- 2019-05-24 CN CN201910441474.2A patent/CN110245078B/zh active Active
- 2019-11-14 WO PCT/CN2019/118558 patent/WO2020238066A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063305A (zh) * | 2013-03-18 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 智能终端软件的压力测试方法、装置和系统 |
CN106708818A (zh) * | 2015-07-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种压力测试方法和系统 |
CN107544783A (zh) * | 2016-06-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 一种数据更新方法、装置及系统 |
WO2018068427A1 (zh) * | 2016-10-13 | 2018-04-19 | 北京百度网讯科技有限公司 | 用于开发无人驾驶车辆应用的方法和装置 |
US20180276112A1 (en) * | 2017-03-27 | 2018-09-27 | International Business Machines Corporation | Balancing memory pressure across systems |
CN107783899A (zh) * | 2017-08-25 | 2018-03-09 | 上海壹账通金融科技有限公司 | 应用程序中h5页面的测试方法、装置和计算机设备 |
CN107609202A (zh) * | 2017-10-25 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种部署数据库实例的方法、装置及计算机设备 |
Non-Patent Citations (1)
Title |
---|
梁超超等: "基于模型的云应用动态配置框架", 《计算机科学》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020238066A1 (zh) * | 2019-05-24 | 2020-12-03 | 平安国际智慧城市科技股份有限公司 | 一种软件的压力测试方法、装置、存储介质和服务器 |
CN111159009A (zh) * | 2019-11-29 | 2020-05-15 | 深圳智链物联科技有限公司 | 一种日志服务系统的压力测试方法及装置 |
CN111159009B (zh) * | 2019-11-29 | 2024-03-12 | 深圳智链物联科技有限公司 | 一种日志服务系统的压力测试方法及装置 |
CN111078478A (zh) * | 2019-12-17 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 服务器压力测试方法、装置和计算机可读存储介质 |
CN111444068B (zh) * | 2020-03-03 | 2023-09-19 | Oppo广东移动通信有限公司 | 系统性能测试方法、装置、计算机设备及存储介质 |
CN111294257A (zh) * | 2020-03-09 | 2020-06-16 | 北京九州云动科技有限公司 | 应用服务器自动压力测试的方法、装置和系统 |
CN111651351A (zh) * | 2020-05-29 | 2020-09-11 | 成都新潮传媒集团有限公司 | 一种基于Jenkins的软件性能测试方法及装置 |
CN113300900A (zh) * | 2020-06-28 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 云上服务测试方法、装置和系统以及容器测试方法和装置 |
CN114003482B (zh) * | 2020-07-28 | 2024-02-13 | 沈苏科技(苏州)股份有限公司 | 一种无编码型软件系统压力测试方法及系统 |
CN114003482A (zh) * | 2020-07-28 | 2022-02-01 | 苏州沈苏自动化技术开发有限公司 | 一种无编码型软件系统压力测试方法及系统 |
CN112148599A (zh) * | 2020-09-16 | 2020-12-29 | 上海中通吉网络技术有限公司 | 性能压测方法、装置及设备 |
CN112148600A (zh) * | 2020-09-16 | 2020-12-29 | 上海中通吉网络技术有限公司 | 一种软件性能的测试方法、装置、设备及存储介质 |
CN112463605A (zh) * | 2020-11-26 | 2021-03-09 | 杭州网易云音乐科技有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN112463605B (zh) * | 2020-11-26 | 2024-03-15 | 杭州网易云音乐科技有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN113037589B (zh) * | 2021-03-01 | 2022-04-22 | 广东睿住智能科技有限公司 | 网关设备的压力测试方法、装置、测试平台及存储介质 |
CN113037589A (zh) * | 2021-03-01 | 2021-06-25 | 广东睿住智能科技有限公司 | 网关设备的压力测试方法、装置、测试平台及存储介质 |
CN113127356A (zh) * | 2021-04-22 | 2021-07-16 | 挂号网(杭州)科技有限公司 | 压测方法、装置、电子设备及存储介质 |
CN113656314A (zh) * | 2021-08-19 | 2021-11-16 | 工银科技有限公司 | 压力测试处理方法及装置 |
CN114036034A (zh) * | 2021-10-27 | 2022-02-11 | 北京闪送科技有限公司 | 一种应用于实时流式计算的性能测试方法 |
CN115883431A (zh) * | 2022-11-29 | 2023-03-31 | 重庆长安汽车股份有限公司 | 一种终端通讯协议性能测试系统、方法、车辆及存储介质 |
CN115883431B (zh) * | 2022-11-29 | 2024-06-04 | 重庆长安汽车股份有限公司 | 一种终端通讯协议性能测试系统、方法、车辆及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020238066A1 (zh) | 2020-12-03 |
CN110245078B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245078A (zh) | 一种软件的压力测试方法、装置、存储介质和服务器 | |
CN109947746B (zh) | 一种基于etl流程的数据质量管控方法和系统 | |
CN111258722B (zh) | 一种集群的日志采集方法、系统、设备以及介质 | |
CN110457178A (zh) | 一种基于日志采集分析的全链路监控告警方法 | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN108280022A (zh) | 性能监测方法及装置 | |
CN111459944B (zh) | 一种mr数据存储方法、装置、服务器及存储介质 | |
CN106776337A (zh) | 一种性能分析方法、装置及电子设备 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN113656245B (zh) | 数据的巡检方法、装置、存储介质及处理器 | |
CN105227405A (zh) | 监控方法及系统 | |
CN112559525B (zh) | 数据检查系统、方法、装置和服务器 | |
CN114218218A (zh) | 基于数据仓库的数据处理方法、装置、设备及存储介质 | |
CN104993957A (zh) | 一种为使用Log4j的分布式应用提供云端日志服务的方法 | |
CN108460068A (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
CN111400393A (zh) | 基于多应用平台的数据处理方法和装置、存储介质 | |
CN111970151A (zh) | 虚拟及容器网络的流量故障定位方法及系统 | |
WO2015139565A1 (en) | Heterogeneous logging system management configuration | |
CN112579552A (zh) | 日志存储及调用方法、装置及系统 | |
CN113434473A (zh) | 一种分布式日志的处理方法、装置、介质及电子设备 | |
Li et al. | Logspy: System log anomaly detection for distributed systems | |
CN114756301B (zh) | 日志处理方法、装置和系统 | |
CN114090382B (zh) | 超融合集群健康巡检方法和装置 | |
CN115757045A (zh) | 一种交易日志分析方法、系统及装置 | |
CN115022402A (zh) | 一种基于一栈式集成技术的agent采集方法及系统 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210201 Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Patentee after: Shenzhen saiante Technology Service Co.,Ltd. Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000 Patentee before: Ping An International Smart City Technology Co.,Ltd. |