CN108521353B - 定位性能瓶颈的处理方法、设备及可读存储介质 - Google Patents

定位性能瓶颈的处理方法、设备及可读存储介质 Download PDF

Info

Publication number
CN108521353B
CN108521353B CN201810281859.2A CN201810281859A CN108521353B CN 108521353 B CN108521353 B CN 108521353B CN 201810281859 A CN201810281859 A CN 201810281859A CN 108521353 B CN108521353 B CN 108521353B
Authority
CN
China
Prior art keywords
subsystem
distributed
performance bottleneck
log
pressure test
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
CN201810281859.2A
Other languages
English (en)
Other versions
CN108521353A (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201810281859.2A priority Critical patent/CN108521353B/zh
Publication of CN108521353A publication Critical patent/CN108521353A/zh
Application granted granted Critical
Publication of CN108521353B publication Critical patent/CN108521353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种定位性能瓶颈的处理方法,包括:在待测系统中执行全链路压力测试任务,并在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息;在压力测试任务结束后,基于采集的各子系统的日志信息,计算待测系统中每一子系统的请求平均响应时间;生成待测系统的压力测试结果报表,以供基于所述压力测试结果报表定位待测系统的性能瓶颈;其中,所述压力测试结果报表中包含有各子系统之间的调用关系以及每一子系统的请求平均响应时间。本发明还公开了一种定位性能瓶颈的处理设备及计算机可读存储介质。本发明保证了对各子系统的请求平均响应时间计算的实时高效性,便于统一管理,提升了定位系统性能瓶颈的操作效率。

Description

定位性能瓶颈的处理方法、设备及可读存储介质
技术领域
本发明涉及系统性能测试领域,尤其涉及一种定位性能瓶颈的处理方法、设备及计算机可读存储介质。
背景技术
现有技术在端到端链路压力测试定位性能瓶颈时,一般通过手工编写的Shell脚本分析被测系统中各子系统经过压力测试后所产生的日志信息,并由Shell脚本计算出各子系统的平均耗时,从而定位系统瓶颈。由于每次进行压力测试都需要测试人员手工登录各子系统的多台机器并编写执行Shell脚本,因而计算结果无法达到实时高效,不利于统一管理,整个测试过程操作效率低下。
发明内容
本发明的主要目的在于提供一种定位性能瓶颈的处理方法、设备及计算机可读存储介质,旨在解决现有技术中计算结果无法达到实时高效,不利于统一管理,定位被测系统的性能瓶颈的测试过程操作效率低下的技术问题。
为实现上述目的,本发明提供一种定位性能瓶颈的处理方法,所述定位性能瓶颈的处理方法包括以下步骤:
在待测系统中执行全链路压力测试任务,并在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息;
在压力测试任务结束后,基于采集的各子系统的日志信息,计算待测系统中每一子系统的请求平均响应时间;
生成待测系统的压力测试结果报表,以供基于所述压力测试结果报表定位待测系统的性能瓶颈;其中,所述压力测试结果报表中包含有各子系统之间的调用关系以及每一子系统的请求平均响应时间。
可选地,所述在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息包括:
在压力测试任务执行过程中,通过部署在子系统测试机器上的分布式日志采集系统Flume,采集待测系统中与压力测试任务相关的各子系统的日志信息;
将各子系统的日志信息封装成JSON格式报文并发送至分布式消息队列Kafka中进行存储;
调用分布式计算框架Spark中的Spark Streaming组件实时批量拉取分布式消息队列Kafka中存储的日志信息并进行解析,获得各子系统的业务信息与请求响应时间信息;
将所述业务信息与请求响应时间信息保存到分布式搜索服务器Elasticsearch中。
可选地,所述日志信息包括子系统的业务信息,所述业务信息包括子系统测试机器的IP地址、子系统对应的应用名称、子系统的日志文件名。
可选地,所述在压力测试任务结束后,基于采集的各子系统的日志信息,计算待测系统中每一子系统的请求平均响应时间包括:
在压力测试任务结束后,基于分布式搜索服务器Elasticsearch中保存的各子系统的业务信息与请求响应时间信息,调用分布式搜索服务器Elasticsearch的API计算待测系统中每一子系统的请求平均响应时间,并接收分布式搜索服务器Elasticsearch返回的计算结果。
可选地,所述定位性能瓶颈的处理方法还包括:
将部署分布式日志采集系统Flume的子系统测试机器作为节点注册到分布式服务框架Zookeeper中;
在分布式服务框架Zookeeper中设置观察者,以观察分布式服务框架Zookeeper中各注册节点上部署的分布式日志采集系统Flume是否存在异常;
当所述观察者接收到分布式服务框架Zookeeper发送的分布式日志采集系统Flume异常信息时,将所述异常信息发送至预设邮箱或预设账户以进行Flume异常告警。
可选地,所述定位性能瓶颈的处理方法还包括:
定时查询分布式搜索服务器Elasticsearch中是否存在日志解析异常标签;
当分布式搜索服务器Elasticsearch中存在日志解析异常标签时,将所述异常标签所对应的日志解析异常信息发送至预设邮箱或预设账户以进行日志解析异常告警。
可选地,所述日志解析异常告警的处理方式包括:修改Spark Streaming组件中的日志解析配置,并重启Spark Streaming组件。
进一步地,为实现上述目的,本发明还提供一种定位性能瓶颈的处理设备,所述处理设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的定位性能瓶颈的处理程序,所述定位性能瓶颈的处理程序被所述处理器执行时实现如上述任一项所述的定位性能瓶颈的处理方法的步骤。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有定位性能瓶颈的处理程序,所述定位性能瓶颈的处理程序被处理器执行时实现如上述任一项所述的定位性能瓶颈的处理方法的步骤。
本发明具体通过全链路压力测试来定位待测系统的性能瓶颈,并在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息;在压力测试任务结束后,基于采集的各子系统的日志信息,计算待测系统中每一子系统的请求平均响应时间;最后再生成待测系统的压力测试结果报表,该报表中包含有各子系统之间的调用关系以及每一子系统的请求平均响应时间,测试人员通过该报表可以快速定位待测系统的性能瓶颈。本发明中,整个测试过程自动化处理,自动完成日志信息的采集以及每一子系统的请求平均响应时间的计算,保证了对各子系统的请求平均响应时间计算的实时高效性,便于统一管理,提升了定位系统性能瓶颈的操作效率。
附图说明
图1为本发明定位性能瓶颈的处理设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明定位性能瓶颈的处理方法第一实施例的流程示意图;
图3为本发明定位性能瓶颈的处理方法一实施例的压力测试场景示意图;
图4为本发明定位性能瓶颈的处理方法第二实施例的流程示意图;
图5为本发明定位性能瓶颈的处理方法第三实施例的流程示意图;
图6为本发明定位性能瓶颈的处理方法第四实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明定位性能瓶颈的处理设备实施例方案涉及的设备硬件运行环境的结构示意图。
本发明实施例定位性能瓶颈的处理设备用于管理压力测试并定位待测系统的性能瓶颈。定位性能瓶颈的处理设备可以计算机、服务器等设备。
如图1所示,该定位性能瓶颈的处理设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的定位性能瓶颈的处理设备的硬件结构并不构成对定位性能瓶颈的处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及定位性能瓶颈的处理程序。其中,操作系统是管理和控制定位性能瓶颈的处理设备与软件资源的程序,支持网络通信模块、用户接口模块、定位性能瓶颈的处理程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的定位性能瓶颈的处理设备硬件结构中,网络接口1004主要用于连接系统后台,与系统后台进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;定位性能瓶颈的处理设备通过处理器1001调用存储器1005中存储的定位性能瓶颈的处理程序,并执行以下操作:
在待测系统中执行全链路压力测试任务,并在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息;
在压力测试任务结束后,基于采集的各子系统的日志信息,计算待测系统中每一子系统的请求平均响应时间;
生成待测系统的压力测试结果报表,以供基于所述压力测试结果报表定位待测系统的性能瓶颈;其中,所述压力测试结果报表中包含有各子系统之间的调用关系以及每一子系统的请求平均响应时间。
进一步地,定位性能瓶颈的处理设备通过处理器1001调用存储器1005中存储的定位性能瓶颈的处理程序还执行以下操作:
在压力测试任务执行过程中,通过部署在子系统测试机器上的分布式日志采集系统Flume,采集待测系统中与压力测试任务相关的各子系统的日志信息;
将各子系统的日志信息封装成JSON格式报文并发送至分布式消息队列Kafka中进行存储;
调用分布式计算框架Spark中的Spark Streaming组件实时批量拉取分布式消息队列Kafka中存储的日志信息并进行解析,获得各子系统的业务信息与请求响应时间信息;
将所述业务信息与请求响应时间信息保存到分布式搜索服务器Elasticsearch中。
进一步地,定位性能瓶颈的处理设备通过处理器1001调用存储器1005中存储的定位性能瓶颈的处理程序还执行以下操作:
在压力测试任务结束后,基于分布式搜索服务器Elasticsearch中保存的各子系统的业务信息与请求响应时间信息,调用分布式搜索服务器Elasticsearch的API计算待测系统中每一子系统的请求平均响应时间,并接收分布式搜索服务器Elasticsearch返回的计算结果。
进一步地,定位性能瓶颈的处理设备通过处理器1001调用存储器1005中存储的定位性能瓶颈的处理程序还执行以下操作:
将部署分布式日志采集系统Flume的子系统测试机器作为节点注册到分布式服务框架Zookeeper中;
在分布式服务框架Zookeeper中设置观察者,以观察分布式服务框架Zookeeper中各注册节点上部署的分布式日志采集系统Flume是否存在异常;
当所述观察者接收到分布式服务框架Zookeeper发送的分布式日志采集系统Flume异常信息时,将所述异常信息发送至预设邮箱或预设账户以进行Flume异常告警。
进一步地,定位性能瓶颈的处理设备通过处理器1001调用存储器1005中存储的定位性能瓶颈的处理程序还执行以下操作:
定时查询分布式搜索服务器Elasticsearch中是否存在日志解析异常标签;
当分布式搜索服务器Elasticsearch中存在日志解析异常标签时,将所述异常标签所对应的日志解析异常信息发送至预设邮箱或预设账户以进行日志解析异常告警。
基于上述定位性能瓶颈的处理设备的硬件结构,提出本发明定位性能瓶颈的处理方法的以下各实施例。
参照图2,图2为本发明定位性能瓶颈的处理方法第一实施例的流程示意图。本实施例中,所述定位性能瓶颈的处理方法包括以下步骤:
步骤S110,在待测系统中执行全链路压力测试任务,并在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息;
本实施例中,待测系统具体指应用程序系统,任意的应用程序系统都可以作为本发明的待测系统。子系统具体指实现待测系统中各种服务功能的系统,所有子系统构成了一个完整的待测系统。通常子系统可以调用其他子系统或者被其他子系统所调用,以实现某种服务功能。
本实施例对于压力测试任务的设置不限,例如,可以实现待测系统的某种服务功能作为压力测试任务。比如,购票系统为待测系统,则购买票据这一服务功能可以作为压力测试任务,比如发起购票请求,发起账单支付等。
本实施例中,全链路压力测试是指端到端的压力测试,具体指整个待测系统中每一条从请求端到处理端的压力测试。通过全链路压力测试可以完整全面地检测出待测系统中各子系统对压力测试任务的执行情况,从而便于准确定位性能瓶颈所在子系统。
本实施例中,各子系统在执行压力测试任务时,会产生相应的日志信息,比如日志信息中记录了子系统的应用名称、日志文件名、运行子系统的机器的IP地址、子系统接收请求的时间、发送响应的时间等信息。
本实施例对于采集各子系统的日志信息的实现方式不限。
步骤S120,在压力测试任务结束后,基于采集的各子系统的日志信息,计算待测系统中每一子系统的请求平均响应时间;
本实施例中,在压力测试任务结束后,基于采集的各子系统的日志信息即可计算出待测系统中每一子系统的请求平均响应时间。请求响应时间是指并发用户从第一次资源请求开始到最后次资源请求完成花费的时间,而请求平均响应时间则是对所有用户请求响应时间的平均值。
例如,子系统A同时接收到3个请求,对于第一个请求的请求响应时间为1、对于第二个请求的请求响应时间为3、对于第三个请求的请求响应时间为8,则子系统A的请求平均响应时间为4。
本实施例对于计算各子系统的请求平均响应时间的方式不限。
步骤S130,生成待测系统的压力测试结果报表,以供基于所述压力测试结果报表定位待测系统的性能瓶颈;其中,所述压力测试结果报表中包含有各子系统之间的调用关系以及每一子系统的请求平均响应时间。
本实施例中,在计算得到待测系统中各子系统的请求平均响应时间后,为便于测试人员能够快速定位待测系统的性能瓶颈,也即确定影响待测系统性能的某个子系统,因此,采用报表形式进行直观显示,显示内容包括待测系统中各子系统之间的调用关系以及每一子系统的请求平均响应时间。
如图3所示的压力测试场景。假设待测系统包括A、B、C、D四个子系统,并且该待测系统实现某一服务功能所对应的各子系统之间的调用关系为子系统A调用子系统B,而子系统B分别调用子系统C与D,其中,定位性能瓶颈的处理设备计算得到的整个待测系统实现某一服务功能的请求平均响应时间为510ms,而子系统A的请求平均响应时间为500ms、子系统B的请求平均响应时间为450ms、子系统C的请求平均响应时间为50ms、子系统D的请求平均响应时间为400ms。
根据如图3所示各子系统之间的调用关系及每一子系统的请求平均响应时间,由于子系统D的请求平均响应时间要远远高于同一层级的子系统C,并且子系统D的请求平均响应时间与上一层级的子系统B相差不大,因此可以确定待测系统实现该服务功能场景的性能瓶颈为子系统D。
本实施例具体通过全链路压力测试来定位待测系统的性能瓶颈,并在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息;在压力测试任务结束后,基于采集的各子系统的日志信息,计算待测系统中每一子系统的请求平均响应时间;最后再生成待测系统的压力测试结果报表,该报表中包含有各子系统之间的调用关系以及每一子系统的请求平均响应时间,测试人员通过该报表可以快速定位待测系统的性能瓶颈。本实施例中,整个测试过程自动化处理,自动完成日志信息的采集以及每一子系统的请求平均响应时间的计算,保证了对各子系统的请求平均响应时间计算的实时高效性,便于统一管理,提升了定位系统性能瓶颈的操作效率。
参照图4,图4为本发明定位性能瓶颈的处理方法第二实施例的流程示意图。基于上述第一实施例,本实施例中,上述步骤S110中:在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息包括:
步骤S1101,在压力测试任务执行过程中,通过部署在子系统测试机器上的分布式日志采集系统Flume,采集待测系统中与压力测试任务相关的各子系统的日志信息;
Flume为Apache顶级项目,一种分布式的、可靠的、高可用的日志收集系统,可以高效地收集、聚合和移动大量的日志数据到数据存储系统。
本实施例中,在每台子系统测试机器上部署日志采集系统Flume,用于采集子系统在压力测试过程中产生的日志信息。本实施例对于日志采集系统Flume的日志采集方式及流程不做过多赘述。
可选的,为便于计算各子系统的请求平均响应时间,通过二次开发Flume而修改日志格式,以添加必要的业务信息,所述日志信息包括子系统的业务信息,所述业务信息包括子系统测试机器的IP地址、子系统对应的应用名称、子系统的日志文件名。
步骤S1102,将各子系统的日志信息封装成JSON格式报文并发送至分布式消息队列Kafka中进行存储;
JSON(JavaScript Object Notation,JS对象标记),是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。
Kafka为Apache顶级项目,一种分布式的消息队列。
本实施例中,使用分布式消息队列Kafka存储子系统的日志信息,并向外部提供日志拉取接口。Kafka的主要作用是缓冲日志流,使后续组件能平缓处理日志流。
步骤S1103,调用分布式计算框架Spark中的Spark Streaming组件实时批量拉取分布式消息队列Kafka中存储的日志信息并进行解析,获得各子系统的业务信息与请求响应时间信息;
Spark为Apache顶级项目,一种分布式的内存计算框架。
Spark Streaming:Spark流处理组件。
本实施例中,定位性能瓶颈的处理设备通过调用分布式计算框架Spark中的SparkStreaming组件实时批量拉取分布式消息队列Kafka中存储的日志信息,然后由分布式计算框架Spark完成日志信息的解析,进而获得各子系统的业务信息与请求响应时间信息。
比如,通过日志解析而获得各子系统测试机器的IP地址、各子系统对应的应用名称、各子系统的日志文件名以及各子系统接收每一请求的时间、响应每一请求的时间等信息。其中,基于各子系统的业务信息可以确定各子系统之间的调用关系。
步骤S1104,将所述业务信息与请求响应时间信息保存到分布式搜索服务器Elasticsearch中。
Elasticsearch为开源项目,基于Lucene的分布式、高可用搜索存储服务器。本实施例具体将分布式计算框架Spark解析的日志信息存储到分布式搜索服务器Elasticsearch中。
本实施例中,为避免日志量过大而影响日志处理速度,因此,采用分布式技术架构实现日志信息的采集、缓冲与解析,具体通过日志采集系统Flume与消息队列Kafka实时收集各子系统日志,而由分布式计算框架Spark中的Spark Streaming实时解析日志,最后将解析后的日志信息保存在分布式搜索服务器Elasticsearch中。本实施例能够同步处理多个子系统的日志信息,不仅提升了日志信息处理速度,同时也保证定位系统性能瓶颈的实时高效性。
进一步可选的,基于上述第二实施例的分布式技术架构,本实施例中,上述步骤S120具体采用如下实现方式:
在压力测试任务结束后,基于分布式搜索服务器Elasticsearch中保存的各子系统的业务信息与请求响应时间信息,调用分布式搜索服务器Elasticsearch的API计算待测系统中每一子系统的请求平均响应时间,并接收分布式搜索服务器Elasticsearch返回的计算结果。
本实施例中,定位性能瓶颈的处理设备通过调用分布式搜索服务器Elasticsearch的API(Application Programming Interface,应用程序编程接口)来计算待测系统中每一子系统的请求平均响应时间,也即将计算处理转移到了Elasticsearch上,鉴于Elasticsearch具备实时、稳定、快速的计算处理特点,因此,本发明定位系统性能瓶颈的实现过程同样也具备了实时、稳定、快速的特点,能够同时处理多个子系统的大量日志信息。
参照图5,图5为本发明定位性能瓶颈的处理方法第三实施例的流程示意图。基于上述第二实施例,本实施例中,所述定位性能瓶颈的处理方法还包括:
步骤S210,将部署分布式日志采集系统Flume的子系统测试机器作为节点注册到分布式服务框架Zookeeper中;
步骤S220,在分布式服务框架Zookeeper中设置观察者,以观察分布式服务框架Zookeeper中各注册节点上部署的分布式日志采集系统Flume是否存在异常;
步骤S230,当所述观察者接收到分布式服务框架Zookeeper发送的分布式日志采集系统Flume异常信息时,将所述异常信息发送至预设邮箱或预设账户以进行Flume异常告警。
Zookeeper是Apache Hadoop的一个子项目,一种分布式服务框架,主要用于解决分布式应用中存在的数据管理问题。Zookeeper支持观察者模式,可对注册到Zookeeper中的节点的运行状态进行实时监控。
本实施例中,为实现对各子系统测试机器上部署的Flume进行监控,定位性能瓶颈的处理设备将部署有Flume的子系统测试机器作为节点注册到Zookeeper中,并且在Zookeeper中设置观察者,以观察Zookeeper中各注册节点上部署的Flume是否存在异常。为避免Flume出现异常(比如长时间无法响应请求)而导致子系统请求平均响应时间的计算存在较大误差,因此,本实施例对部署有Flume的子系统测试机器进行实时监控,以保证各子系统上部署的Flume的正常运行,进而提升子系统请求平均响应时间的计算精度。
本实施例对于Flume是否存在异常的判断方式及条件的设置不限。当Zookeeper发现存在异常的Flume时,发送异常信息给观察者,定位性能瓶颈的处理设备通过观察者即可获知Flume存在异常,进而将Flume异常信息发送至预设邮箱或预设账户以进行Flume异常告警。
参照图6,图6为本发明定位性能瓶颈的处理方法第四实施例的流程示意图。基于上述第二实施例,本实施例中,所述定位性能瓶颈的处理方法还包括:
步骤S310,定时查询分布式搜索服务器Elasticsearch中是否存在日志解析异常标签;
步骤S320,当分布式搜索服务器Elasticsearch中存在日志解析异常标签时,将所述异常标签所对应的日志解析异常信息发送至预设邮箱或预设账户以进行日志解析异常告警。
Elasticsearch在进行日志解析的过程中,如果存在解析异常,则会产生相应的异常标签。因此,本实施例中通过定时查询Elasticsearch中是否存在日志解析异常标签,从而判断是否存在日志解析异常,若存在日志解析异常标签时,将该异常标签所对应的日志解析异常信息发送至预设邮箱或预设账户以进行日志解析异常告警。
可选的,在一实施例中,对于日志解析异常告警的处理方式包括:修改SparkStreaming组件中的日志解析配置,并重启Spark Streaming组件。
本发明还提供一种计算机可读存储介质。
本实施例中,计算机可读存储介质上存储有定位性能瓶颈的处理程序,所述定位性能瓶颈的处理程序被处理器执行时实现如上述任一实施例中所述的定位性能瓶颈的处理方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。

Claims (9)

1.一种定位性能瓶颈的处理方法,其特征在于,所述定位性能瓶颈的处理方法包括以下步骤:
在待测系统中执行全链路压力测试任务,并在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息,其中,所述全链路压力测试为所述待测系统中每一条从请求端到处理端的压力测试;
在压力测试任务结束后,基于采集的各子系统的日志信息,计算待测系统中每一子系统的请求平均响应时间;
生成待测系统的压力测试结果报表,以供基于所述压力测试结果报表定位待测系统的性能瓶颈;其中,所述压力测试结果报表中包含有各子系统之间的调用关系以及每一子系统的请求平均响应时间,所述性能瓶颈根据各子系统之间的调用关系以及每一子系统的请求平均响应时间定位得到;
所述在压力测试任务执行过程中,采集待测系统中与压力测试任务相关的各子系统的日志信息包括:
在压力测试任务执行过程中,分别基于分布式日志采集系统Flume、分布式消息队列Kafka以及分布式计算框架Spark对待测系统中与压力测试任务相关的各子系统的日志信息进行采集、缓冲与解析,并将解析结果保存至分布式搜索服务器Elasticsearch中。
2.如权利要求1所述的定位性能瓶颈的处理方法,其特征在于,所述在压力测试任务执行过程中,分别基于分布式日志采集系统Flume、分布式消息队列Kafka以及分布式计算框架Spark对待测系统中与压力测试任务相关的各子系统的日志信息进行采集、缓冲与解析,并将解析结果保存至分布式搜索服务器Elasticsearch中包括:
在压力测试任务执行过程中,通过部署在子系统测试机器上的分布式日志采集系统Flume,采集待测系统中与压力测试任务相关的各子系统的日志信息;
将各子系统的日志信息封装成JSON格式报文并发送至分布式消息队列Kafka中进行存储;
调用分布式计算框架Spark中的Spark Streaming组件实时批量拉取分布式消息队列Kafka中存储的日志信息并进行解析,获得各子系统的业务信息与请求响应时间信息;
将所述业务信息与请求响应时间信息保存到分布式搜索服务器Elasticsearch中。
3.如权利要求2所述的定位性能瓶颈的处理方法,其特征在于,所述日志信息包括子系统的业务信息,所述业务信息包括子系统测试机器的IP地址、子系统对应的应用名称、子系统的日志文件名。
4.如权利要求2或3所述的定位性能瓶颈的处理方法,其特征在于,所述在压力测试任务结束后,基于采集的各子系统的日志信息,计算待测系统中每一子系统的请求平均响应时间包括:
在压力测试任务结束后,基于分布式搜索服务器Elasticsearch中保存的各子系统的业务信息与请求响应时间信息,调用分布式搜索服务器Elasticsearch的API计算待测系统中每一子系统的请求平均响应时间,并接收分布式搜索服务器Elasticsearch返回的计算结果。
5.如权利要求2所述的定位性能瓶颈的处理方法,其特征在于,所述定位性能瓶颈的处理方法还包括:
将部署分布式日志采集系统Flume的子系统测试机器作为节点注册到分布式服务框架Zookeeper中;
在分布式服务框架Zookeeper中设置观察者,以观察分布式服务框架Zookeeper中各注册节点上部署的分布式日志采集系统Flume是否存在异常;
当所述观察者接收到分布式服务框架Zookeeper发送的分布式日志采集系统Flume异常信息时,将所述异常信息发送至预设邮箱或预设账户以进行Flume异常告警。
6.如权利要求2所述的定位性能瓶颈的处理方法,其特征在于,所述定位性能瓶颈的处理方法还包括:
定时查询分布式搜索服务器Elasticsearch中是否存在日志解析异常标签;
当分布式搜索服务器Elasticsearch中存在日志解析异常标签时,将所述异常标签所对应的日志解析异常信息发送至预设邮箱或预设账户以进行日志解析异常告警。
7.如权利要求6所述的定位性能瓶颈的处理方法,其特征在于,所述日志解析异常告警的处理方式包括:修改Spark Streaming组件中的日志解析配置,并重启Spark Streaming组件。
8.一种定位性能瓶颈的处理设备,其特征在于,所述处理设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的定位性能瓶颈的处理程序,所述定位性能瓶颈的处理程序被所述处理器执行时实现如权利要求1-7中任一项所述的定位性能瓶颈的处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有定位性能瓶颈的处理程序,所述定位性能瓶颈的处理程序被处理器执行时实现如权利要求1-7中任一项所述的定位性能瓶颈的处理方法的步骤。
CN201810281859.2A 2018-04-02 2018-04-02 定位性能瓶颈的处理方法、设备及可读存储介质 Active CN108521353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810281859.2A CN108521353B (zh) 2018-04-02 2018-04-02 定位性能瓶颈的处理方法、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810281859.2A CN108521353B (zh) 2018-04-02 2018-04-02 定位性能瓶颈的处理方法、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN108521353A CN108521353A (zh) 2018-09-11
CN108521353B true CN108521353B (zh) 2022-04-01

Family

ID=63431421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810281859.2A Active CN108521353B (zh) 2018-04-02 2018-04-02 定位性能瓶颈的处理方法、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN108521353B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739741A (zh) * 2018-11-26 2019-05-10 北京网众共创科技有限公司 系统测试方法和装置、存储介质及电子装置
CN109600280B (zh) * 2018-12-17 2021-02-02 北京车和家信息技术有限公司 压力测试系统、方法、装置及计算机可读存储介质
CN110489339B (zh) * 2019-07-26 2023-01-03 北京字节跳动网络技术有限公司 客户端压测报表生成方法、系统、介质和电子设备
CN110532191A (zh) * 2019-09-05 2019-12-03 北京博睿宏远数据科技股份有限公司 一种压力测试方法、系统及集群
CN110740079B (zh) * 2019-10-16 2021-05-28 北京航空航天大学 一种面向分布式调度系统的全链路基准测试系统
CN111190832A (zh) * 2020-01-06 2020-05-22 成都库珀区块链科技有限公司 一种性能瓶颈定位和调优方法、装置及系统
CN111209178A (zh) * 2020-01-13 2020-05-29 中信银行股份有限公司 全链路瓶颈测试方法及系统
CN113497742A (zh) * 2020-03-20 2021-10-12 北京沃东天骏信息技术有限公司 一种全链路压力测试的方法、装置、电子设备及存储介质
CN113778892B (zh) * 2021-07-13 2024-05-07 统信软件技术有限公司 定位操作系统性能瓶颈的方法、计算设备以及存储介质
CN113553267A (zh) * 2021-07-22 2021-10-26 招商银行股份有限公司 应用性能测试方法、设备、介质及计算机程序产品
CN114422391A (zh) * 2021-11-29 2022-04-29 马上消费金融股份有限公司 分布式系统的检测方法、电子设备及计算机可读存储介质
CN115878439B (zh) * 2023-01-06 2023-05-09 北京仁科互动网络技术有限公司 系统性能瓶颈定位方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224445A (zh) * 2015-10-28 2016-01-06 北京汇商融通信息技术有限公司 分布式跟踪系统
CN107645562A (zh) * 2017-10-12 2018-01-30 广州爱九游信息技术有限公司 数据传输处理方法、装置、设备及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717236A (zh) * 2013-12-11 2015-06-17 中国移动通信集团公司 一种设备性能测试方法及装置
CN104539478A (zh) * 2014-12-15 2015-04-22 微梦创科网络科技(中国)有限公司 一种针对即时通讯系统的压力测试装置及方法
US9740600B2 (en) * 2015-02-10 2017-08-22 Wipro Limited Method and device for improving software performance testing
CN107480015B (zh) * 2017-07-04 2020-12-01 网易(杭州)网络有限公司 负载测试方法、装置、系统、存储介质与压测服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224445A (zh) * 2015-10-28 2016-01-06 北京汇商融通信息技术有限公司 分布式跟踪系统
CN107645562A (zh) * 2017-10-12 2018-01-30 广州爱九游信息技术有限公司 数据传输处理方法、装置、设备及系统

Also Published As

Publication number Publication date
CN108521353A (zh) 2018-09-11

Similar Documents

Publication Publication Date Title
CN108521353B (zh) 定位性能瓶颈的处理方法、设备及可读存储介质
CN111083225B (zh) 在物联网平台中的数据处理方法、装置及物联网平台
CN107844421B (zh) 接口测试方法、装置、计算机设备和存储介质
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
US9356842B2 (en) Method and system for browser based, non-intrusive measuring of end-user perceived performance of individual third party resource requests
CN108804215B (zh) 一种任务处理方法、装置以及电子设备
US10528456B2 (en) Determining idle testing periods
CN109344066B (zh) 一种浏览器页面的测试方法、系统及终端
CN107045475B (zh) 测试方法和装置
US11294740B2 (en) Event to serverless function workflow instance mapping mechanism
US20200252317A1 (en) Mitigating failure in request handling
CN111258913A (zh) 算法自动测试方法、装置、计算机系统及可读存储介质
CN110888817B (zh) 代码覆盖率报告的生成方法、装置和可读存储介质
CN113596078A (zh) 业务问题定位方法及装置
CN114218052B (zh) 一种业务交互图生成方法、装置、设备及存储介质
CN109409948B (zh) 交易异常检测方法、装置、设备及计算机可读存储介质
US10432490B2 (en) Monitoring single content page application transitions
CN110543429A (zh) 测试用例调试方法、装置及存储介质
US20180219752A1 (en) Graph search in structured query language style query
CN108153655B (zh) 虚拟现实软件的绘制调用数量的检测方法及存储介质
CN113032237A (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
US10977146B2 (en) Application operation monitoring apparatus and application operation monitoring method
CN114546817A (zh) 一种信息处理方法、装置、存储介质及计算机程序产品
US10203970B2 (en) Dynamic configuration of native functions to intercept
CN113360368B (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