一种性能测试异步请求处理时间点的提取方法技术

技术编号:36438510 阅读:21 留言:0更新日期:2023-01-20 22:53
本发明专利技术提供了一种性能测试异步请求处理时间点的提取方法,包括以下步骤:S1,调整待压测链路上应用服务的日志输出,增加日志输出请求处理流程的时间点、请求流水号与流程识别关键字输出;S2,对待测链路进行性能测试,并记录性能测试的开始时间和结束时间;S3,收集测试过程中压测链路上的应用服务产生的日志文件,当性能测试执行完后,通过开始时间和结束时间到每个应用服务所在的服务器上收集日志文件;该方法能有效解决性能测试异步请求响应时间的提取问题,通过日志输出方式统一数据提供方式,减少二次开发工作量。减少二次开发工作量。减少二次开发工作量。

【技术实现步骤摘要】
一种性能测试异步请求处理时间点的提取方法


[0001]本专利技术涉及数据处理
,更具体地说,涉及一种性能测试异步请求处理时间点的提取方法。

技术介绍

[0002]请求响应时间是性能测试结果的一个重要指标, 请求响应时间通过计算请求的结果返回时间点和请求的触发时间点的差值获取。主流的性能测试工具如jmeter、loadrunner等,其性能测试结果中统计的是从触发API请求到接收到API返回结果这个过程的响应时间,仅适用于同步请求的API。而对于异步请求API除了API自身的响应时间外还需统计分析后台服务处理异步请求的响应时间,当前性能测试面临着异步请求各流程时间点获取的难点,需要开发人员对后台服务程序进行设计提供各流程的处理时间点获取的支持。
[0003]现有技术通过以下的技术方案实现:1、java通过skywalking等框架对开启请求跟踪,并通过二次开发实现请求在各服务的处理时间点和耗时的存储供后续响应时间统计;2、C++或其他语言缺少请求追踪框架时,需要额外开发请求追踪功能。但是其存在以下的缺陷,不同开发语言在其生态下对请求追踪的支持程度不同,缺少统一的技术框架,需要开发人员对服务程序做较多的改动来实现存储请求在各服务的处理时间点。

技术实现思路

[0004]本专利技术要解决的技术问题在于,针对上述技术方案存在的不足,提供一种能减少二次开发工作量的性能测试异步请求处理时间点的提取方法。
[0005]本专利技术提供一种性能测试异步请求处理时间点的提取方法,所述方法包括以下步骤:S1,调整待压测链路上应用服务的日志输出,增加日志输出请求处理流程的时间点、请求流水号与流程识别关键字输出;S2,对待测链路进行性能测试,并记录性能测试的开始时间和结束时间;S3,收集测试过程中压测链路上的应用服务产生的日志文件,当性能测试执行完后,通过开始时间和结束时间到每个应用服务所在的服务器上收集日志文件;S4,读取日志文件的内容后使用正则表达式匹配和提取各日志输出请求处理流程时间点,将同一流程时间点的日志提取记录存储到缓存文件中;S5,通过请求流水号对所有流程时间点的缓存文件记录进行关联,得到每个请求的所有处理流程时间点。
[0006]在本专利技术所述的性能测试异步请求处理时间点的提取方法中,所述步骤S4还包括以下步骤:S41,设置各流程时间点的提取规则,每个规则负责提取处理流程的一个时间点,当同一个应用服务下的日志文件记录多个时间点时,需要对同一个应用服务下的日志文件
配置多个提取规则。
[0007]在本专利技术所述的性能测试异步请求处理时间点的提取方法中,所述步骤S4还包括以下步骤:S42,通过设置内容提取步骤控制日志内容提取的操作顺序。
[0008]在本专利技术所述的性能测试异步请求处理时间点的提取方法中,所述步骤S4还包括以下步骤:S43,依次执行所有内容提取步骤,完成所有请求的各流程时间点的提取,得到所有请求的流程时间点的缓存文件。
[0009]在本专利技术所述的性能测试异步请求处理时间点的提取方法中,在所述步骤S41中规则内容包括:内容提取正则表达式、提取字段名与内容提取缓存文件,其中所述内容提取正则表达式用于日志文件内容的正则匹配,并通过流程识别关键字匹配日志内容,通过提取子表达式提取时间点和请求流水号;所述提取字段名用于后续关联操作时识别提取内容,其中所有提取规则中请求流水号使用相同的字段名;所述内容提取缓存文件为csv格式的文件,用于存储本规则提取的流程时间点记录,其中缓存文件内容的第一行为提取字段名,从第二行开始为日志时间点提取记录。
[0010]在本专利技术所述的性能测试异步请求处理时间点的提取方法中,在所述步骤S42中;所述内容提取步骤通过文件过滤正则表达式过滤步骤S42中需要处理的日志文件范围,在性能测试过程中应用服务会生成多个日志文件,为了能同时对同一服务的日志文件进行内容提取,通过正则表达式的方式匹配文件名进行日志文件的过滤;通过提取规则设置步骤S42中处理范围的日志文件内容所有时间点的提取规则列表,在读取日志文件内容过程中,每一行日志内容会执行本列表中所有提取规则进行内容提取和存储。
[0011]在本专利技术所述的性能测试异步请求处理时间点的提取方法中,所述步骤S5还包括以下步骤:S51,将应用服务日志记录的测试请求触发时间点提取文件内容加载到内存中,并赋值给关联的结果缓存对象;S52,将结果缓存对象按固定大小对请求记录划分多个分片;S53,关联线程组按分片的数量创建相同数量的关联线程,并将分片分别分配给关联线程后进行关联操作;S54,关联线程组创建完线程后通知关联控制器触发下一轮关联;S55,关联控制器接收触发下一轮关联请求时,通知缓存加载控制器加载下一个提取文件到内存中。
[0012]在本专利技术所述的性能测试异步请求处理时间点的提取方法中,所述步骤S5还包括以下步骤:S56,当缓存加载控制器接收到加载下一个提取文件请求时,判断是否还有时间点提取文件未处理,若有,则加载一个未处理的提取文件内容到内存中的时间点缓存,并在完成加载后通知关联控制器加载完毕,若全部提取文件已完成关联,则通知关联控制器关联完毕;S57,当关联控制器接收到缓存加载完毕信号后通知关联线程组开始关联,在接收
到关联完毕信号后通知关联线程组释放线程资源,并把结果缓存对象的记录写入到关联结果文件中。
[0013]在本专利技术所述的性能测试异步请求处理时间点的提取方法中,所述步骤S5还包括以下步骤:S58,当关联线程组接收到开始关联信号后,所有关联线程会依次读取其分片每一条请求记录并使用请求流水号去时间点缓存中查询流程时间点并添加到分片记录中,所有关联线程完成本轮关联操作后关联线程组通知关联控制器发送触发下一轮关联。
[0014]本专利技术的性能测试异步请求处理时间点的提取方法能解决性能测试异步请求响应时间的提取问题,通过日志输出方式统一数据提供方式,减少二次开发工作量。
附图说明
[0015]图1是本专利技术一种性能测试异步请求处理时间点的提取方法的流程示意图。
具体实施方式
[0016]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0017]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0018]如图1所示,提供一种性能测试异步请求处理时间点的提取方法,该方法包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种性能测试异步请求处理时间点的提取方法,其特征在于,所述方法包括以下步骤:S1,调整待压测链路上应用服务的日志输出,增加日志输出请求处理流程的时间点、请求流水号与流程识别关键字输出;S2,对待测链路进行性能测试,并记录性能测试的开始时间和结束时间;S3,收集测试过程中压测链路上的应用服务产生的日志文件,当性能测试执行完后,通过开始时间和结束时间到每个应用服务所在的服务器上收集日志文件;S4,读取日志文件的内容后使用正则表达式匹配和提取各日志输出请求处理流程时间点,将同一流程时间点的日志提取记录存储到缓存文件中;S5,通过请求流水号对所有流程时间点的缓存文件记录进行关联,得到每个请求的所有处理流程时间点。2.根据权利要求1所述的性能测试异步请求处理时间点的提取方法,其特征在于,所述步骤S4还包括以下步骤:S41,设置各流程时间点的提取规则,每个规则负责提取处理流程的一个时间点,当同一个应用服务下的日志文件记录多个时间点时,需要对同一个应用服务下的日志文件配置多个提取规则。3.根据权利要求2所述的性能测试异步请求处理时间点的提取方法,其特征在于,所述步骤S4还包括以下步骤:S42,通过设置内容提取步骤控制日志内容提取的操作顺序。4.根据权利要求3所述的性能测试异步请求处理时间点的提取方法,其特征在于,所述步骤S4还包括以下步骤:S43,依次执行所有内容提取步骤,完成所有请求的各流程时间点的提取,得到所有请求的流程时间点的缓存文件。5.根据权利要求4所述的性能测试异步请求处理时间点的提取方法,其特征在于,在所述步骤S41中规则内容包括:内容提取正则表达式、提取字段名与内容提取缓存文件,其中所述内容提取正则表达式用于日志文件内容的正则匹配,并通过流程识别关键字匹配日志内容,通过提取子表达式提取时间点和请求流水号;所述提取字段名用于后续关联操作时识别提取内容,其中所有提取规则中请求流水号使用相同的字段名;所述内容提取缓存文件为csv格式的文件,用于存储本规则提取的流程时间点记录,其中缓存文件内容的第一行为提取字段名,从第二行开始为日志时间点提取记录。6.根据权利要求5所述的性...

【专利技术属性】
技术研发人员:胡晓球
申请(专利权)人:深圳联友科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1