CN113342680A - 异步交易性能测试方法和系统 - Google Patents

异步交易性能测试方法和系统 Download PDF

Info

Publication number
CN113342680A
CN113342680A CN202110727226.1A CN202110727226A CN113342680A CN 113342680 A CN113342680 A CN 113342680A CN 202110727226 A CN202110727226 A CN 202110727226A CN 113342680 A CN113342680 A CN 113342680A
Authority
CN
China
Prior art keywords
transaction
performance
log information
client
log
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.)
Pending
Application number
CN202110727226.1A
Other languages
English (en)
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202110727226.1A priority Critical patent/CN113342680A/zh
Publication of CN113342680A publication Critical patent/CN113342680A/zh
Pending legal-status Critical Current

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)

Abstract

本申请提供一种异步交易性能测试方法和系统。该方法包括:被测设备的代理模块实时从系统中获取应用日志。被测设备的代理模块可以在实时获取新增的日志信息后,对该日志信息进行筛选。被测设备将日志信息发送到客户端。客户端获取被测设备发送的日志信息。客户端根据日志信息,计算得到新的交易的性能参数。客户端确定该更新后的性能指标后,可以将各个更新后的性能指标添加到性能曲线的对应时刻中。该性能曲线可以显示于客户端的显示界面中。本申请的方法,实现了在保证测试效率的基础上,实时统计被测设备的交易性能,并实现了可视化。

Description

异步交易性能测试方法和系统
技术领域
本申请涉及计算机领域,尤其涉及一种异步交易性能测试方法和系统。
背景技术
目前,交易性能测试通常可以分为同步交易性能测试和异步交易性能测试两种。在交易性能测试中,测试设备将生成多个虚拟用户。测试设备通过这些虚拟用户,并发地向被测设备发送请求报文。测试设备可以根据请求报文和响应报文,确定被测设备对该条请求报文的性能参数。进而,测试设备可以通过统计测试过程中的性能参数,确定该被测设备的交易性能。
其中,同步交易性能测试中,测试设备中的每一虚拟用户需要在接收到被测设备的响应报文后,才能再次向被测设备发送请求报文。在该过程中,测试设备可以根据请求报文和响应报文的时间戳,确定该次请求的性能参数。进而,该测试设备可以根据该性能参数,实时统计性能测试结果。
其中,异步交易性能测试中,测试设备则不需要等待被测设备的响应报文。一般情况下,异步交易性能测试时,测试设备中发送请求报文和接收响应报文的进程为不同进程。因此,测试设备需要在完成该次交易性能测试后,才能根据两个进程,确定每次请求的性能参数。进而,该测试设备可以根据该性能参数,统计性能测试结果。
上述同步交易性能测试的测试过程受到被测设备性能的限制,存在测试效率低的问题。而上述异步交易性能测试需要在完成测试后才能对测试数据进行统计,则存在无法对测试进行实时统计的问题。因此,如何在保证测试效率的基础上,实现交易性能的实时统计成为亟待解决的问题。
发明内容
本申请提供一种异步交易性能测试方法和系统,用以解决如何在保证测试效率的基础上,实现交易性能的实时统计成为亟待解决的问题
第一方面,本申请提供一种异步交易性能测试方法,应用于被测设备,包括:
实时获取所述被测设备的日志信息,所述日志信息为处理交易请求时生成的系统信息,一笔所述交易包括多条日志信息;
根据所述日志信息中的日志标识,确定所述日志信息中是否包括性能信息;
当所述日志信息中包括性能信息时,发送所述日志信息到客户端。
可选的,所述方法,包括:
获取测试设备发送的请求报文,所述请求报文用于模拟交易请求在所述被测设备中生成交易数据;
根据所述请求报文的处理过程,生成日志信息。
可选的,所述日志信息还包括交易码、日志号、交易起始标识、时间戳中的至少一项,所述交易码和所述日志号可以唯一标识一个交易的日志信息,所述交易起始标识用于标识一个交易的开始或者结束,所述时间戳用于标识所述日志信息的记录时间。
第二方面,本申请提供一种异步交易性能测试方法,应用于客户端,包括:
获取日志信息;
根据所述日志信息,更新被测设备的性能指标,所述性能指标为所述被测设备在一次性能测试中,性能参数的统计值;
根据所述性能指标,更新性能曲线。
可选的,所述根据所述日志信息,更新所述被测设备的性能指标,包括:
根据所述日志信息,计算性能参数;
根据所述性能参数,更新性能指标。
可选的,所述性能指标包括每秒交易次数、总交易响应时间、最大响应时间、最小响应时间、平均响应时间、交易成功率中的至少一项。
可选的,所述方法,还包括:
将所述性能曲线保存到存储单元内。
第三方面,本申请提供一种异步交易性能测试装置,应用于被测设备,包括:
第一获取模块,用于实时获取所述被测设备的日志信息,所述日志信息为处理交易请求时生成的系统信息,一笔所述交易包括多条日志信息;
确定模块,用于根据所述日志信息中的日志标识,确定所述日志信息中是否包括性能信息;
发送模块,用于当所述日志信息中包括性能信息时,发送所述日志信息到客户端。
可选的,所述装置,包括:
第二获取模块,用于获取测试设备发送的请求报文,所述请求报文用于模拟交易请求在所述被测设备中生成交易数据;
生成模块,用于根据所述请求报文的处理过程,生成日志信息。
可选的,所述日志信息还包括交易码、日志号、交易起始标识、时间戳中的至少一项,所述交易码和所述日志号可以唯一标识一个交易的日志信息,所述交易起始标识用于标识一个交易的开始或者结束,所述时间戳用于标识所述日志信息的记录时间。
第四方面,本申请提供一种异步交易性能测试装置,应用于客户端,包括:
获取模块,用于获取日志信息;
第一更新模块,用于根据所述日志信息,更新被测设备的性能指标,所述性能指标为所述被测设备在一次性能测试中,性能参数的统计值;
第二更新模块,用于根据所述性能指标,更新性能曲线。
可选的,所述第一更新模块具体用于根据所述日志信息,计算性能参数;根据所述性能参数,更新性能指标。
可选的,所述性能指标包括每秒交易次数、总交易响应时间、最大响应时间、最小响应时间、平均响应时间、交易成功率中的至少一项。
可选的,所述装置,还包括:
存储模块,用于将所述性能曲线保存到存储单元内。
第五方面,本申请提供一种被测设备,包括:存储器和处理器;
存储器用于存储计算机程序;处理器用于调用存储器中的用于存储计算机程序执行第一方面及第一方面任一种可能的设计中的异步交易性能测试方法。
第六方面,本申请提供一种客户端,包括:存储器和处理器;
存储器用于存储计算机程序;处理器用于调用存储器中的用于存储计算机程序执行第二方面及第二方面任一种可能的设计中的异步交易性能测试方法。
第七方面,本申请提供一种可读存储介质,可读存储介质中存储有计算机程序,当被测设备的至少一个处理器执行该计算机程序时,被测设备执行第一方面及第一方面任一种可能的设计中的异步交易性能测试方法。
第八方面,本申请提供一种可读存储介质,可读存储介质中存储有计算机程序,当客户端的至少一个处理器执行该计算机程序时,客户端执行第二方面及第二方面任一种可能的设计中的异步交易性能测试方法。
第九方面,本申请提供一种计算机程序产品,计算机程序产品包括计算机程序,当被测设备的至少一个处理器执行该计算机程序时,被测设备执行第一方面及第一方面任一种可能的设计中的异步交易性能测试方法。
第十方面,本申请提供一种计算机程序产品,计算机程序产品包括计算机程序,当客户端的至少一个处理器执行该计算机程序时,客户端执行第二方面及第二方面任一种可能的设计中的异步交易性能测试方法。
第十一方面,本申请提供一种异步交易性能测试系统,,所述系统,包括:如第一方面及第一方面任一种可能的设计中的被测设备、如第二方面及第二方面任一种可能的设计中的客户端和测试设备。
本申请提供的异步交易性能测试方法,通过被测设备的代理模块实时从系统中获取应用日志。被测设备的代理模块可以在实时获取新增的日志信息后,对该日志信息进行筛选。被测设备将S102中筛选得到的日志信息发送到客户端。客户端获取被测设备发送的日志信息。客户端根据日志信息,计算得到新的交易的性能参数。客户端确定该更新后的性能指标后,可以将各个更新后的性能指标添加到性能曲线的对应时刻中。该性能曲线可以显示于客户端的显示界面中的手段,实现在保证测试效率的基础上,实时统计被测设备的交易性能的效果。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的一种异步交易性能测试的场景示意图;
图2为本申请一实施例提供的一种异步交易性能测试方法的信令交互图;
图3为本申请一实施例提供的一种性能曲线示意图;
图4为本申请一实施例提供的一种异步交易性能测试方法的信令交互图;
图5为本申请一实施例提供的一种异步交易性能测试装置的结构示意图;
图6为本申请一实施例提供的一种异步交易性能测试装置的结构示意图;
图7为本申请一实施例提供的一种被测设备的硬件结构示意图;
图8为本申请一实施例提供的一种被测设备的硬件结构示意图;
图9为本申请一实施例提供的一种异步交易性能测试系统的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当……时"或"响应于确定"。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。
应当进一步理解,术语“包含”、“包括”表明存在的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。
此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
目前,交易性能测试通常可以分为同步交易性能测试和异步交易性能测试两种。在交易性能测试中,测试设备将生成多个虚拟用户。测试设备通过这些虚拟用户,并发地向被测设备发送请求报文。测试设备可以根据请求报文和响应报文,确定被测设备对该条请求报文的性能参数。进而,测试设备可以通过统计性能测试过程中的性能参数,确定该被测设备的交易性能。该性能测试具体用于通过自动化的测试设备模拟多种正常、峰值以及异常负载条件来对被测设备的各项性能指标进行测试。其中,性能指标可以包括用于衡量系统性能水平的各项参数,常见的性能指标有吞吐量(每秒交易数)、响应时间、资源使用率(CPU、内存、磁盘、网络等)。
在同步交易性能测试过程中,常用的测试设备可以包括LoadRunner、JMeter等工具。测试设备可以模拟并发用户向被测设备发送请求报文。每一请求报文可以认为在一个线程中进行处理。针对一个线程的请求报文,测试设备等待被测设备返回响应报文。测试设备在获取该响应报文后,根据该响应报文和请求报文确定被测设备处理该请求报文的性能参数。当测试设备完成对该响应报文的处理后,该线程再次发送请求报文。在该过程中,如果该线程一直没有收到被测系统反馈的响应报文,则该线程一直处于等待状态。在该过程中,测试设备可以根据该性能参数,实时统计性能测试结果。
然而,在同步交易性能测试过程中,当测试数据量不变时,被测设备的性能将直接影响测试效率。相较而言,由于不依赖被测设备的性能、效率高等特点,异步交易在越来越多的场景中得以应用,如MQ、Kakfa等消息队列,又如直接通过Socket建立长连接进行异步通信等。
异步交易性能测试中,测试设备可以模拟并发用户向被测设备发送请求报文。测试设备不需要等待被测设备的接收到响应报文后,再发送下一条请求报文。一般情况下,异步交易性能测试时,测试设备中发送请求报文和接收响应报文的进程为不同进程。或者,被测设备可以不返回响应报文。该情况下,性能参数的计算需要等到测试数据发送完成后,才能分别从两个进程中,获取全部请求报文和响应报文,进而匹配每一请求报文和响应报文。因此,在异步交易性能测试时,测试设备需要在完成该次交易性能测试后,才能计算得到每次请求的性能参数。
然而,异步交易性能测试虽然提高了性能测试的测试效率,但是其分析无法实现实时性。
针对这一问题,本申请提出了一种异步交易性能测试系统。该异步交易性能测试系统可以包括被测设备、测试设备和客户端三个部分。其中,测试设备用于向被测设备发送请求报文。测试设备在接收该请求报文后,处理该请求报文并生成日志文件。该日志文件为标准化后的日志文件。该日志文件的标准化过程可以在该请求报文的处理程序中进行修改实现。本申请所使用的被测设备中还可以运行有代理模块。该代理模块被用于实时获取被测设备中的日志文件。该代理模块获取该日志文件后,从该日志文件的多条日志信息中提取其中包括性能信息的日志信息。该代理模块将该提取出来的日志信息发送到客户端。该客户端程序可以运行于测试设备。或者,该客户端程序可以运行于任意一个电子设备中。客户端在获取该日志信息后,根据该日志信息,确定其中的性能信息。客户端根据该性能信息统计得到性能指标。客户端还可以根据该性能指标,生成性能曲线,并显示。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1示出了本申请一实施例提供的一种异步交易性能测试的场景示意图。如图所示,该异步交易性能测试系统包括测试设备、被测设备和客户端。在一次异步交易性能测试过程中,测试设备生成测试数据。该测试数据中包括多个虚拟用户,以及每一虚拟用户的多条请求报文。测试设备根据预设规律向被测设备发送请求报文。被测设备接收该请求报文后,处理该请求报文,并对应生成日志文件。其中,被测设备生成的日志文件可以包括安装在被测设备中的交易模块在执行上述请求报文时生成的应用日志。该应用日志即为下述实施例中提及的日志信息。该日志信息中包括该交易模块运行的日志信息,以及该交易模块在执行交易时生成的日志信息。该被测设备中还安装有代理模块。该代理模块用于实时刷新该被测设备中的应用日志。该代理模块还可以从该应用日志的日志信息中筛选出执行交易时生成的日志信息。该代理模块将该筛选出的日志信息实时发送到客户端。客户端实时接收被测设备发送的日志信息。客户端根据该日志信息,确定其中的性能参数。客户端统计该次性能测试的性能参数,确定性能指标。客户端可以将该性能指标转化为性能曲线,并显示该性能曲线。
本申请中,以被测设备和客户端为执行主体,执行如下实施例的异步交易性能测试方法。具体地,该执行主体可以为被测设备和客户端的硬件装置,或者为被测设备和客户端中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
图2示出了本申请一实施例提供的一种异步交易性能测试方法的信令交互图。在图1所示实施例的基础上,如图2所示,以被测设备和客户端为执行主体,本实施例的方法可以包括如下步骤:
S101、被测设备实时获取被测设备的日志信息,日志信息为处理交易请求时生成的系统信息,一笔交易包括多条日志信息。
本实施例中,被测设备的代理模块实时从系统中获取应用日志。该应用日志中包括多条日志信息。由于该被测设备处于测试状态,因此,该被测设备的应用日志处于快速更新状态。被测设备的代理模块实时获取增加的日志信息。或者,被测设备的代理模块可以以预设频率获取新增的日志信息。该预设频率可以为每秒1次、每分钟1次等。
被测设备的代理模块获取的日志信息可以包括该被测设备中交易模块处理请求报文时生成的交易日志,以及该交易模块运行时生成的运行日志。其中请求报文为测试设备模型交易请求生成的测试请求。当被测设备收到该请求报文时,被测设备对该请求报文的处理过程与交易请求的处理过程一致。为了便于后续对日志的处理,被测设备的交易模块生成的日志为标准化后的日志。该日志的标准化可以通过修改该交易模块中的日志模块实现。
一种示例中,该标准化的日志信息可以包括日志标识、交易码、日志号、交易起始标识、时间戳等。例如,两条日志信息可以如下:
PTestLogger|!Transaction123|!123456788|!BEGIN|!2020-08-10
12:34:56.789|!remark
PTestLogger|!Transaction123|!123456789|!END|!2020-08-10
12:34:57.789|!{"resCode":0,"resMessage":"调用成功"}
其中,日志标识用于标识该日志信息中是否包括性能信息。当一条日志信息中存在该日志标识时,该日志信息中存在性能信息。例如,上述日志信息中包括日志标识“PTestLogger”。第一条日志信息中包括请求报文获取时间,第二条日志信息中包括响应报文生成事件。根据该两条日志信息可以确定响应时间。该响应时间为性能参数之一。
其中,交易码和日志号用于唯一标识一条日志信息。交易码用于标识一个交易。一个交易可以生成多条日志信息。例如,上述日志信息中,两条日志信息的交易码均为“Transaction123”。日志号用于区分一个交易中的多条日志信息。例如,上述日志信息中,两条日志信息的日志号分别为“123456788”和“123456789”。该日志号可以针对每一个交易重新编号。例如,交易Transaction1包括日志号1、2、3。交易Transaction2包括日志号1、2、3。或者,该日志号可以针对该次测试顺序编号。例如,交易Transaction1包括日志号1、2、3。交易Transaction2包括日志号4、5、6。
其中,交易起始标识用于标识一个交易的开始或者结束。例如,上述日志信息中,两条日志信息中分别包括“BEGIN”和“END”两个标识。
其中,时间戳用于标识该条日志信息的记录时间。例如,上述日志信息中的“2020-08-10 12:34:56.789”。该时间戳的精度可以根据被测设备的运行效率确定。
其中,“|!”为该日志信息中的分隔符,用于分隔该日志信息中的不同内容。
一种示例中,该标准化的日志信息中还可以包括自定义域。该自定义域中可以根据实际需要输入不同的信息。例如,上述日志信息中,针对交易起始标识是END的记录,该自定义域中可以记录交易的执行结果。该执行结果为“{"resCode":0,"resMessage":"调用成功"}”。或者,针对异常记录,该自定义域中可以记录异常编码或者异常提醒。
S102、被测设备根据日志信息中的日志标识,确定日志信息中是否包括性能信息。
本实施例中,被测设备的代理模块可以在实时获取新增的日志信息后,对该日志信息进行筛选。被测设备的代理模块可以根据每一条日志信息,判断该条日志信息中是否包括日志标识。当该条日志信息中包括日志标识时,被测设备的代理模块可以确定该日志信息中包括性能信息。被测设备的代理模块从新增的日志信息中筛选出包括性能信息的日志信息。
S1001、当日志信息中包括性能信息时,被测设备发送日志信息到客户端。
本实施例中,被测设备将S102中筛选得到的日志信息发送到客户端。其中,被测设备可以在筛选得到一条包括性能信息的日志信息时,立即将该条日志信息发送到客户端。或者,被测设备可以在筛选完一个交易的全部日志信息后,将筛选出的日志信息发送到客户端。或者,被测设备还可以在筛选完该次的新增日志信息后,将筛选出的日志信息发送到客户端。或者,被测设备还可以根据预设频率将筛选出的日志信息发送到客户端。
S103、客户端获取日志信息。
本实施例中,客户端获取被测设备发送的日志信息。其中,客户端与被测设备可以通过网络连接、无线信号连接、总线连接等。本申请对客户端与被测设备的连接方式,及信号的收发方式不作限制。
S104、客户端根据日志信息,更新被测设备的性能指标,性能指标为被测设备在一次性能测试中,性能参数的统计值。
本实施例中,客户端根据日志信息,计算得到新的交易的性能参数。客户端将该新的交易的性能参数累计到性能指标中,得到更新后的性能指标。该性能指标为该次性能测试中,性能参数的统计值。
一种示例中,上述性能指标的更新过程具体可以包括:
步骤1、客户端根据日志信息,计算性能参数。
本步骤中,客户端可以根据交易码将日志信息分到不同交易中。客户端每次针对一个交易的日志信息进行处理。客户端根据日志号将该次交易的日志信息进行排序。客户端可以根据该次交易的日志信息的交易起始标识,确定该次交易的响应时间。例如,以上述日志信息为例,客户端可以根据该次交易的开始时间“BEGIN|!2020-08-10 12:34:56.789”和该次交易的结束时间“END|!2020-08-10 12:34:57.789”,确定该次交易的响应时间为1秒。客户端还可以根据自定义域中的执行结果,确定该次交易的执行结果。例如,以上述日志信息为例,该执行结果为“{"resCode":0,"resMessage":"调用成功"}”。该次交易执行成功。
步骤2、客户端根据性能参数,更新性能指标。
本步骤中,客户端可以累计计算该次性能测试的性能指标。
一种示例中,性能指标可以包括每秒交易次数、最大响应时间、最小响应时间、总交易响应时间、平均响应时间、交易成功率等。
客户端可以在根据上述步骤1确定一个交易的性能参数后,确定该次获取的日志信息中的全部性能参数。客户端根据该全部性能参数,更新性能指标。
例如,客户端在确定该全部性能参数中的全部响应时间后,客户端可以根据该全部响应时间和已经计算得到的最大响应时间进行比较。当该全部响应时间中存在大于最大响应时间的响应时间时,更新最大响应时间为该全部响应时间中最大响应时间。
或者,客户端可以根据该全部性能参数中的全部响应时间和已经计算得到的最小响应时间进行比较。当该全部响应时间中存在小于最小响应时间的响应时间时,更新最小响应时间为该全部响应时间中最小响应时间。
或者,客户端可以将该全部性能参数中的全部响应时间累加到总交易响应时间中。
或者,客户端还可以根据更新后的总交易响应时间和更新后的总交易次数,确定新的平均响应时间。
或者,客户端还可以将该全部性能参数中的全部执行结果增加到交易成功次数或者交易失败次数中。进而,根据该更新后的交易成功次数或者交易失败次数,计算得到新的交易成功率。
或者,客户端还可以根据该日志信息中的交易结束时间,更新该次性能测试的总时长。客户端还可以统计到当前日志信息为止的总交易次数。客户端根据该总时长和交易次数,更新每秒交易次数。
S105、客户端根据性能指标,更新性能曲线。
本实施例中,客户端的性能曲线的横坐标可以为时间。该横坐标中的各点为获取日志信息的各个时刻。客户端确定该更新后的性能指标后,可以将各个更新后的性能指标添加到性能曲线的对应时刻中。其中,该性能曲线可以如图3所示。横坐标为时间。如图3所示,横坐标的时间间隔为10秒。则对应于该性能曲线,被测设备的代理模块每10秒将日志信息发送到客户端。客户端每10秒更新一次性能曲线。或者,客户端在接收被测设备的代理模块发送的日志信息后,先不对日志信息进行处理。客户端每隔10秒,统一处理一次日志信息。纵坐标为指标的数值。该图3仅为示意,在实际使用中,被测设备的代理模块可以实时发送日志信息。或者,被测设备的代理模块可以每秒发送10次日志信息、1秒发送1次日志信息等,本申请对此不作限制。客户端可以在接收到被测设备发送的日志信息后,立即对该日志信息进行处理。或者,客户端可以根据预设频率对该日志信息进行处理。该预设频率可以为每秒10次、1秒1次等,本申请对此不作限制。该性能曲线中的每一点为该时刻更新后的性能指标。该性能曲线可以显示于客户端的显示界面中。当计算得到新的性能指标后,更新该显示界面中的性能指标。
本申请提供的异步交易性能测试方法,被测设备的代理模块实时从系统中获取应用日志。被测设备的代理模块可以在实时获取新增的日志信息后,对该日志信息进行筛选。被测设备将S102中筛选得到的日志信息发送到客户端。客户端获取被测设备发送的日志信息。客户端根据日志信息,计算得到新的交易的性能参数。客户端确定该更新后的性能指标后,可以将各个更新后的性能指标添加到性能曲线的对应时刻中。该性能曲线可以显示于客户端的显示界面中。本申请中,通过被测设备的代理模块实现日志信息的筛查和输出,通过客户端实现日志信息的解析,并计算得到性能指标,生成性能曲线,实现该性能指标的实时更新,以及可视化,实现了在保证测试效率的基础上,实时统计被测设备的交易性能。
图4示出了本申请一实施例提供的一种异步交易性能测试方法的信令交互图。在图1至图3实施例的基础上,如图4所示,以被测设备和客户端为执行主体,本实施例的方法可以包括如下步骤:
S201、被测设备获取测试设备发送的请求报文,请求报文用于模拟交易请求在被测设备中生成交易数据。
本实施例中,在开始性能测试后,被测设备中的交易模块实时获取测试设备发送的请求报文。被测设备中的交易模块在接收到该请求报文后,开始处理该请求报文。该请求报文为测试设备模拟用户的交易请求生成的测试数据。被测设备中的交易模块对该请求报文的处理过程与交易请求的处理过程相同。被测设备中的交易模块处理该请求报文生成交易数据。
S202、被测设备根据请求报文的处理过程,生成日志信息。
本实施例中,在被测设备的交易模块处理该请求报文过程中,该被测设备的交易模块根据预设在该交易模块中的日志模块,生成日志信息。该日志信息中可以为应用日志。该应用日志中可以包括该交易模块的运行日志和该交易模块中每一交易信息的执行日志。
该预设在交易模块中的日志模块,通常为嵌入该交易模块代码中的日志相关代码。该日志相关代码生成的日志信息为标准格式的日志信息。该标准格式为管理员根据实际需要结合惯用日志模板生成的日志格式。该交易模块的代码中可以包括日志方法。该日志方法可以包括交互界面。管理员可以在该交互界面中设置该日志格式。
S203、被测设备实时获取被测设备的日志信息,日志信息为处理交易请求时生成的系统信息,一笔交易包括多条日志信息。
S204、被测设备根据日志信息中的日志标识,确定日志信息中是否包括性能信息。
S2001、被测设备当日志信息中包括性能信息时,发送日志信息到客户端。
S205、客户端获取日志信息。
S206、客户端根据日志信息,更新被测设备的性能指标,性能指标为被测设备在一次性能测试中,性能参数的统计值。
S207、客户端根据性能指标,更新性能曲线。
其中,步骤S202至S207和S2001与图2实施例中的步骤S101至S105和S1001的实现方式类似,本实施例此处不再赘述。
S208、客户端将性能曲线保存到存储单元内。
本实施例中,客户端可以在该次性能测试结束后,将该次性能测试得到的性能曲线保存到客户端的存储单元中。
本申请提供的异步交易性能测试方法,在开始性能测试后,被测设备中的交易模块实时获取测试设备发送的请求报文。被测设备中的交易模块在接收到该请求报文后,开始处理该请求报文。在被测设备的交易模块处理该请求报文过程中,该被测设备的交易模块根据预设在该交易模块中的日志模块,生成日志信息。被测设备实时获取被测设备的日志信息。被测设备根据日志信息中的日志标识,确定日志信息中是否包括性能信息。被测设备当日志信息中包括性能信息时,发送日志信息到客户端。客户端获取日志信息。客户端根据日志信息,更新被测设备的性能指标。客户端根据性能指标,更新性能曲线。客户端可以在该次性能测试结束后,将该次性能测试得到的性能曲线保存到客户端的存储单元中。本申请中,通过被测设备的代理模块实现日志信息的筛查和输出,通过客户端实现日志信息的解析,并计算得到性能指标,生成性能曲线,实现该性能指标的实时更新,以及可视化,实现了在保证测试效率的基础上,实时统计被测设备的交易性能。本申请还实现了性能曲线的存储,便于后续回顾以及分析该性能曲线。
图5示出了本申请一实施例提供的一种异步交易性能测试装置的结构示意图,如图5所示,本实施例的异步交易性能测试装置10用于实现上述任一方法实施例中对应于被测设备的操作,本实施例的异步交易性能测试装置10包括:
第一获取模块11,用于实时获取被测设备的日志信息,日志信息为处理交易请求时生成的系统信息,一笔交易包括多条日志信息。
确定模块12,用于根据日志信息中的日志标识,确定日志信息中是否包括性能信息。
发送模块13,用于当日志信息中包括性能信息时,发送日志信息到客户端。
一种示例中,异步交易性能测试装置10还包括:
第二获取模块14,用于获取测试设备发送的请求报文,请求报文用于模拟交易请求在被测设备中生成交易数据。
生成模块15,用于根据请求报文的处理过程,生成日志信息。
一种示例中,日志信息还包括交易码、日志号、交易起始标识、时间戳中的至少一项,交易码和日志号可以唯一标识一个交易的日志信息,交易起始标识用于标识一个交易的开始或者结束,时间戳用于标识日志信息的记录时间。
本申请实施例提供的异步交易性能测试装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图6示出了本申请一实施例提供的一种异步交易性能测试装置的结构示意图,如图6所示,本实施例的异步交易性能测试装置20用于实现上述任一方法实施例中对应于客户端的操作,本实施例的异步交易性能测试装置20包括:
获取模块21,用于获取日志信息。
第一更新模块22,用于根据日志信息,更新被测设备的性能指标,性能指标为被测设备在一次性能测试中,性能参数的统计值。
第二更新模块23,用于根据性能指标,更新性能曲线。
一种示例中,第一更新模块22具体用于根据日志信息,计算性能参数。根据性能参数,更新性能指标。
一种示例中,性能指标包括每秒交易次数、交易响应时间、最大响应时间、最小响应时间、平均响应时间、交易成功率中的至少一项。
一种示例中,异步交易性能测试装置20还包括:
存储模块24,用于将性能曲线保存到存储单元内。
本申请实施例提供的异步交易性能测试装置20,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图7示出了本申请实施例提供的一种被测设备的硬件结构示意图。如图7所示,该被测设备30,用于实现上述任一方法实施例中对应于被测设备的操作,本实施例的被测设备30可以包括:存储器31,处理器32和通信接口34。
存储器31用于存储计算机程序。
处理器32用于执行存储器存储的计算机程序,以实现上述实施例中的异步交易性能测试方法。
可选地,存储器31既可以是独立的,也可以跟处理器32集成在一起。
当存储器31是独立于处理器32之外的器件时,被测设备30还可以包括总线33。该总线33用于连接存储器31和处理器32。
通信接口34可以用于接收测试设备发送的请求报文。通信接口34还可以用于向客户端发送日志信息。
本实施例提供的被测设备30可用于执行上述的异步交易性能测试方法,其实现方式和技术效果类似,本实施例此处不再赘述。
图8示出了本申请实施例提供的一种客户端的硬件结构示意图。如图8所示,该客户端40,用于实现上述任一方法实施例中对应于客户端的操作,本实施例的客户端40可以包括:存储器41,处理器42和通信接口44。
存储器41用于存储计算机程序。
处理器42用于执行存储器存储的计算机程序,以实现上述实施例中的异步交易性能测试方法。
可选地,存储器41既可以是独立的,也可以跟处理器42集成在一起。
当存储器41是独立于处理器42之外的器件时,客户端40还可以包括总线43。该总线43用于连接存储器41和处理器42。
通信接口44可以用于接收被测设备发送的日志信息。
本实施例提供的客户端40可用于执行上述的异步交易性能测试方法,其实现方式和技术效果类似,本实施例此处不再赘述。
图9示出了本申请实施例提供的一种异步交易性能测试系统的硬件结构示意图。如图9所示,该异步交易性能测试系统50,用于实现上述任一方法实施例中的操作,本实施例的异步交易性能测试系统50可以包括:如图6所示的被测设备51、如图7所示的客户端52和测试设备53。该异步交易性能测试系统50可用于执行上述的异步交易性能测试方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质中读取该计算机程序,至少一个处理器执行该计算机程序使得设备实施上述的各种实施方式提供的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
其中,各个模块可以是物理上分开的,例如安装于一个的设备的不同位置,或者安装于不同的设备上,或者分布到多个网络单元上,或者分布到多个处理器上。各个模块也可以是集成在一起的,例如,安装于同一个设备中,或者,集成在一套代码中。各个模块可以以硬件的形式存在,或者也可以以软件的形式存在,或者也可以采用软件加硬件的形式实现。本申请可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
当各个模块以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种异步交易性能测试方法,其特征在于,应用于被测设备,所述方法,包括:
实时获取所述被测设备的日志信息,所述日志信息为处理交易请求时生成的系统信息,一笔所述交易包括多条日志信息;
根据所述日志信息中的日志标识,确定所述日志信息中是否包括性能信息;
当所述日志信息中包括性能信息时,发送所述日志信息到客户端。
2.根据权利要求1所述的异步交易性能测试方法,其特征在于,所述方法,包括:
获取测试设备发送的请求报文,所述请求报文用于模拟交易请求在所述被测设备中生成交易数据;
根据所述请求报文的处理过程,生成日志信息。
3.根据权利要求1或2所述的异步交易性能测试方法,其特征在于,所述日志信息还包括交易码、日志号、交易起始标识、时间戳中的至少一项,所述交易码和所述日志号可以唯一标识一个交易的日志信息,所述交易起始标识用于标识一个交易的开始或者结束,所述时间戳用于标识所述日志信息的记录时间。
4.一种异步交易性能测试方法,其特征在于,应用于客户端,所述方法,包括:
获取日志信息;
根据所述日志信息,更新被测设备的性能指标,所述性能指标为所述被测设备在一次性能测试中,性能参数的统计值;
根据所述性能指标,更新性能曲线。
5.根据权利要求4所述的异步交易性能测试方法,其特征在于,所述根据所述日志信息,更新所述被测设备的性能指标,包括:
根据所述日志信息,计算性能参数;
根据所述性能参数,更新性能指标。
6.根据权利要求4或5所述的异步交易性能测试方法,其特征在于,所述性能指标包括每秒交易次数、总交易响应时间、最大响应时间、最小响应时间、平均响应时间、交易成功率中的至少一项。
7.根据权利要求4或5所述的异步交易性能测试方法,其特征在于,所述方法,还包括:
将所述性能曲线保存到存储单元内。
8.一种被测设备,其特征在于,所述被测设备,包括:存储器,处理器;
所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序,实现如权利要求1-3中任意一项所述的异步交易性能测试方法。
9.一种客户端,其特征在于,所述客户端,包括:存储器,处理器;
所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序,实现如权利要求4-7中任意一项所述的异步交易性能测试方法。
10.一种异步交易性能测试系统,其特征在于,所述系统,包括:如权利要求8所述的被测设备、如权利要求9所述的客户端和测试设备。
CN202110727226.1A 2021-06-29 2021-06-29 异步交易性能测试方法和系统 Pending CN113342680A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110727226.1A CN113342680A (zh) 2021-06-29 2021-06-29 异步交易性能测试方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110727226.1A CN113342680A (zh) 2021-06-29 2021-06-29 异步交易性能测试方法和系统

Publications (1)

Publication Number Publication Date
CN113342680A true CN113342680A (zh) 2021-09-03

Family

ID=77481559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110727226.1A Pending CN113342680A (zh) 2021-06-29 2021-06-29 异步交易性能测试方法和系统

Country Status (1)

Country Link
CN (1) CN113342680A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970876A (zh) * 2014-05-15 2014-08-06 浪潮电子信息产业股份有限公司 一种基于Informix数据库服务器性能评估实现方法
CN105426278A (zh) * 2015-11-20 2016-03-23 北京畅游天下网络技术有限公司 一种客户端设备性能测试方法及系统
CN109756364A (zh) * 2018-12-07 2019-05-14 成都四方伟业软件股份有限公司 一种基于日志分析的微服务性能优化系统和分析方法
CN110458379A (zh) * 2018-05-08 2019-11-15 阿里巴巴集团控股有限公司 压力测试系统、方法、装置及电子设备
CN111444073A (zh) * 2020-03-26 2020-07-24 中国信息通信研究院 用于测试金融数据库性能的方法、装置和系统
CN111459834A (zh) * 2020-04-15 2020-07-28 中国银行股份有限公司 一种异步交易性能测试方法及装置
CN112363908A (zh) * 2020-09-16 2021-02-12 贝壳技术有限公司 异步化接口测试方法、系统、电子设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970876A (zh) * 2014-05-15 2014-08-06 浪潮电子信息产业股份有限公司 一种基于Informix数据库服务器性能评估实现方法
CN105426278A (zh) * 2015-11-20 2016-03-23 北京畅游天下网络技术有限公司 一种客户端设备性能测试方法及系统
CN110458379A (zh) * 2018-05-08 2019-11-15 阿里巴巴集团控股有限公司 压力测试系统、方法、装置及电子设备
CN109756364A (zh) * 2018-12-07 2019-05-14 成都四方伟业软件股份有限公司 一种基于日志分析的微服务性能优化系统和分析方法
CN111444073A (zh) * 2020-03-26 2020-07-24 中国信息通信研究院 用于测试金融数据库性能的方法、装置和系统
CN111459834A (zh) * 2020-04-15 2020-07-28 中国银行股份有限公司 一种异步交易性能测试方法及装置
CN112363908A (zh) * 2020-09-16 2021-02-12 贝壳技术有限公司 异步化接口测试方法、系统、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN109885496B (zh) 测试日志管理方法及系统
CN112256542B (zh) 基于eBPF的微服务系统性能检测方法、装置和系统
CN111400186A (zh) 性能测试方法及系统
CN111181800B (zh) 测试数据处理方法、装置、电子设备及存储介质
CN111752850B (zh) 区块链系统的测试方法及相关设备
CN111045879B (zh) 压力测试报告的生成方法、装置及存储介质
CN111224848B (zh) 网络质量测试方法、装置、设备及存储介质
CN111614483A (zh) 链路监控方法、装置、存储介质及计算机设备
KR20070080313A (ko) 클라이언트 단말로 제공되는 서비스 성능 분석 방법 및시스템
CN106713011B (zh) 一种获取测试数据的方法与系统
CN111427796A (zh) 系统测试方法、装置及电子设备
CN115757150A (zh) 一种生产环境测试方法、装置、设备及存储介质
CN110825466B (zh) 一种程序卡顿的处理方法以及卡顿处理装置
CN114281784A (zh) 分布式核心系统的交易日志回放方法、装置、设备和介质
CN112948262A (zh) 一种系统测试方法、装置、计算机设备和存储介质
CN113342680A (zh) 异步交易性能测试方法和系统
CN112948195B (zh) 接口测试的方法、装置、电子设备和存储介质
CN114637685A (zh) 银行系统中应用程序的性能测试方法、装置、设备和介质
CN114239296A (zh) 一种数据处理方法、装置及电子设备
CN110990237B (zh) 一种信息收集系统、方法及存储介质
CN113138917A (zh) 一种性能测试平台
CN112463480A (zh) 一种基于arm架构的压力测试方法、系统、终端及存储介质
CN115589370A (zh) 一种芯片内的数据互联网络测试日志的处理方法及装置
CN114884799A (zh) 集群告警功能的测试方法、系统、设备和存储介质
CN116909903A (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