CN107678932A - 一种应用性能分析方法及装置 - Google Patents
一种应用性能分析方法及装置 Download PDFInfo
- Publication number
- CN107678932A CN107678932A CN201710907249.4A CN201710907249A CN107678932A CN 107678932 A CN107678932 A CN 107678932A CN 201710907249 A CN201710907249 A CN 201710907249A CN 107678932 A CN107678932 A CN 107678932A
- Authority
- CN
- China
- Prior art keywords
- end page
- browser
- loaded
- page
- analyzed
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 60
- 238000013515 script Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims description 61
- 238000013480 data collection Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 230000003068 static effect Effects 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000003556 assay Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Abstract
本发明提供了一种应用性能分析方法及装置,该方法包括:确定待分析应用包括的至少一个前端页面,在每一个所述前端页面中设置数据采集脚本;针对每一个所述前端页面,通过所述前端页面中设置的所述数据采集脚本,分别采集所述前端页面在每一个浏览器上进行加载时的网页数据;根据各个所述前端页面在各个所述浏览器上进行加载时的所述网页数据,对所述待分析应用的性能进行分析。该装置包括:预处理单元、采集单元和分析单元。本方案能够提高应用性能分析结果的准确性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种应用性能分析方法及装置。
背景技术
针对一些基于网页实现的应用,用户对应用的体验度与网页的加载速度之间存在密切关系,通常情况下用户对一个应用的体验度与网页的加载速度是成正比关系的。因此,作为应用的开发人员,为了保证用户对应用具有较好的体验度,需要对应用的性能进行分析。
目前,在对应用的性能进行分析时,通常在应用的服务器对应用的运行参数进行采集,根据采集到的运行参数分析应用的性能。
实现一个应用不仅需要服务器,还需要客户端,目前对应用的性能进行分析时,在应用的服务器对应用的运行参数进行采集,以采集到的运行参数来分析应用的性能,这样分析的结果仅能够说明应用在服务器上的运行情况,无法说明应用在客户端上进行页面加载的情况,而应用在客户端上进行页面加载的情况才是应用性能的最直接表现,比如应用在客户端浏览器上的加载速度。因此,通过现有应用性能分析方法对应用进行性能分析后,所获得的分析结果准确性较差。
发明内容
本发明实施例提供了一种应用性能分析方法及装置,能够提高应用性能分析结果的准确性。
第一方面,本发明实施例提供了一种应用性能分析方法,确定待分析应用包括的至少一个前端页面,在每一个所述前端页面中设置数据采集脚本,还包括:
针对每一个所述前端页面,通过所述前端页面中设置的所述数据采集脚本,分别采集所述前端页面在每一个浏览器上进行加载时的网页数据;
根据各个所述前端页面在各个所述浏览器上进行加载时的所述网页数据,对所述待分析应用的性能进行分析。
可选地,所述采集所述前端页面在每一个浏览器上进行加载时的网页数据,包括:
针对于任意一个所述浏览器,当所述浏览器对所述前端页面进行加载时,通过采集所述前端页面加载过程中请求排队、后端处理、响应返回、文档解析和静态资源加载过程所消耗的时间,获得所述前端页面的网页响应时间作为所述网页数据。
可选地,所述根据各个所述前端页面在各个所述浏览器上进行加载时的所述网页数据,对所述待分析应用的性能进行分析,包括:
获取在预设的第一数据采集周期内各个所述前端页面在各个所述浏览器上进行加载时的所述网页响应时间,根据获取到的各个所述网页响应时间,通过如下公式计算所述待分析应用的用户体验满意度指数;
其中,所述M表征所述待分析应用的用户体验满意度指数,所述A表征对应所述网页响应时间小于第一预设阈值的对所述前端页面进行加载的次数,所述B表征对应所述网页响应时间不小于所述第一预设阈值且小于第二预设阈值的对所述前端页面进行加载的次数,所述C表征对应所述网页响应时间不小于所述第二预设阈值的对所述前端页面进行加载的次数,所述第一预设阈值小于所述第二预设阈值,所述k1、k2和k3均表征常数。
可选地,所述采集所述前端页面在每一个浏览器上进行加载时的网页数据,包括:
针对所述前端页面在任意一个所述浏览器上进行加载过程中所述浏览器接收到的每一个异步请求,采集所述异步请求的消耗时间、所返回响应状态和所返回文本大小中的任意一个或多个作为所述网页数据。
可选地,所述根据各个所述前端页面在各个所述浏览器上进行加载时的所述网页数据,对所述待分析应用的性能进行分析,包括:
确定在预设的第二数据采集周期内各个所述浏览器对各个所述前端页面进行加载过程中接收到的各个所述异步请求,根据确定出的各个所述异步请求统计不同类型所述异步请求的执行次数、平均执行时间和调用页面请求中的任意一个或多个。
可选地,所述采集所述前端页面在每一个浏览器上进行加载时的网页数据,包括:
捕获所述前端页面在每一个所述浏览器上进行加载时出现的页面脚本错误,并采集每一个所述页面脚本错误发生的脚本文件和所在行作为所述网页数据。
可选地,所述采集所述前端页面在每一个浏览器上进行加载时的网页数据,包括:
采集对所述前端页面进行加载的所述浏览器的类型、版本、分辨率及所属操作系统中的任意一个或多个作为所述网页数据。
第二方面,本发明实施例还通过了一种应用性能分析装置,包括:预处理单元、采集单元和分析单元;
所述预处理单元,用于确定待分析应用包括的至少一个前端页面,在每一个所述前端页面中设置数据采集脚本;
所述采集单元,用于针对所述预处理单元确定的每一个所述前端页面,通过所述前端页面中设置的所述数据采集脚本,分别采集所述前端页面在每一个浏览器上进行加载时的网页数据;
所述分析单元,用于根据所述采集单元采集到的各个所述前端页面在各个所述浏览器上进行加载时的所述网页数据,对所述待分析应用的性能进行分析。
可选地,
所述采集单元,用于针对于任意一个所述浏览器,当所述浏览器对所述前端页面进行加载时,通过采集所述前端页面加载过程中请求排队、后端处理、响应返回、文档解析和静态资源加载过程所消耗的时间,获得所述前端页面的网页响应时间作为所述网页数据。
可选地,
所述分析单元,用于获取在预设的第一数据采集周期内各个所述前端页面在各个所述浏览器上进行加载时的所述网页响应时间,根据获取到的各个所述网页响应时间,通过如下公式计算所述待分析应用的用户体验满意度指数;
其中,所述M表征所述待分析应用的用户体验满意度指数,所述A表征对应所述网页响应时间小于第一预设阈值的对所述前端页面进行加载的次数,所述B表征对应所述网页响应时间不小于所述第一预设阈值且小于第二预设阈值的对所述前端页面进行加载的次数,所述C表征对应所述网页响应时间不小于所述第二预设阈值的对所述前端页面进行加载的次数,所述第一预设阈值小于所述第二预设阈值,所述k1、k2和k3均表征常数。
可选地,
所述采集单元,用于捕获所述前端页面在每一个所述浏览器上进行加载时出现的页面脚本错误,并采集每一个所述页面脚本错误发生的脚本文件和所在行作为所述网页数据。
可选地,
所述采集单元,用于采集对所述前端页面进行加载的所述浏览器的类型、版本、分辨率及所属操作系统中的任意一个或多个作为所述网页数据。
本发明实施例提供的应用性能分析方法及装置,确定待分析应用包括的至少一个前端页面后在每一个前端页面中设置数据采集脚本,当一个前端页面在浏览器上进行加载时,可以通过设置于该前端页面中的数据采集脚本采集该前端页面在浏览器上进行加载时的网页数据,进而可以根据各个前端页面加载时的网页数据对待分析应用的性能进行分析。由此可见,通过在各个前端页面上设置数据采集脚本,可以采集到各个前端页面在浏览器上加载时的网页数据,由于用户直接通过浏览器对待分析应用进行访问,所以采集到的网页数据能够更加直接地体现用户体验,因此根据采集到的网页数据对待分析应用的性能进行分析,能够提高应用性能分析结果的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种应用性能分析方法的流程图;
图2是本发明一个实施例提供的另一种应用性能分析方法的流程图;
图3是本发明一个实施例提供的一种应用性能分析装置所在设备的示意图;
图4是本发明一个实施例提供的一种应用性能分析装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种应用性能分析方法,该方法可以包括以下步骤:
步骤101:确定待分析应用包括的至少一个前端页面,在每一个前端页面中设置数据采集脚本;
步骤102:针对每一个前端页面,通过前端页面中设置的数据采集脚本,分别采集前端页面在每一个浏览器上进行加载时的网页数据;
步骤103:根据各个前端页面在各个浏览器上进行加载时的网页数据,对待分析应用的性能进行分析。
本发明实施例提供了一种应用性能分析方法,确定待分析应用包括的至少一个前端页面后在每一个前端页面中设置数据采集脚本,当一个前端页面在浏览器上进行加载时,可以通过设置于该前端页面中的数据采集脚本采集该前端页面在浏览器上进行加载时的网页数据,进而可以根据各个前端页面加载时的网页数据对待分析应用的性能进行分析。由此可见,通过在各个前端页面上设置数据采集脚本,可以采集到各个前端页面在浏览器上加载时的网页数据,由于用户直接通过浏览器对待分析应用进行访问,所以采集到的网页数据能够更加直接地体现用户体验,因此根据采集到的网页数据对待分析应用的性能进行分析,能够提高应用性能分析结果的准确性。
可选地,如图1所示,
步骤102中采集前端页面在浏览器上进行加载的网页数据时,当前端页面在一个浏览器上进行加载时,通过采集该前端页面加载过程中请求排队、后端处理、响应返回、文档解析和静态资源加载等过程消耗的时间,可以获得前端页面加载过程所对应的网页响应时间,将获得的网页响应时间作为网页数据的一部分。
一个浏览器在接收到用户对待分析应用包括的一个前端页面进行加载的页面请求后,浏览器根据接收到的页面请求加载对应的前端页面,前端页面的加载过程需要经过请求排队、后端处理、响应返回、文档解析和静态资源加载等阶段,利用设置于前端页面中的数据采集脚本,可以分别获得每一个阶段的开始时间戳和结束时间戳,根据各个阶段的开始时间戳和结束时间戳可以确定各个阶段消耗的时间,通过计算各个阶段所消耗时间的和可以确定前端页面加载过程的网页响应时间。
网页响应时间是影响用户体验的重要参数,网页响应时间较长会导致用户长时间等待网页的加载,造成应用的用户体验较差。将每一个前端页面的网页响应时间作为一项网页数据对待分析应用的性能进行分析,当网页响应时间超过预先定义的阈值后,可以将对应前端页面记录为慢加载页面,这样应用开发人员可以对待分析应用的性能进行调优。
可选地,在采集每一个前端页面的网页响应时间作为网页数据时,可以预先定义一个第一数据采集周期,获取各个前端页面在第一数据采集周期内在各个浏览器上进行加载时的网页响应时间,进而根据获取到的各个网页加载时间,通过如下公式计算待分析应用的用户体验满意度指数;
其中,M表征待分析应用的用户体验满意度指数,A表征对应网页响应时间小于第一预设阈值的对前端页面进行加载的次数,B表征对应网页响应时间不小于第一预设阈值且小于第二预设阈值的对前端页面进行加载的次数,C表征对应网页响应时间不小于第二预设阈值的对前端页面进行加载的次数,第一预设阈值小于第二预设阈值,k1、k2和k3均表征常数。
预先设定第一预设阈值和第二预设阈值,使得第一预设阈值小于第二预设阈值。针对在第一数据采集周期内被加载过的每一个前端页面,根据该前端页面每一次被加载时对应的网页响应时间,将各次加载对应的用户体验定义为满意、可容忍或不满意。如果一个前端页面加载时的网页响应时间小于第一预设阈值,则将本次前端页面加载的用户体验定义为满意;如果一个前端页面加载时的网页响应时间不小于第一预设阈值且小于第二预设阈值,则将本次前端页面加载的用户体验定义为可容忍;如果一个前端页面加载时的网页响应时间不小于第二预设阈值,则将本次前端页面加载的用户体验定义为不满意。
根据在第一数据采集周期内各次前端页面加载时的网页响应时间,可以确定出对应用户体验为满意的前端页面加载的次数A,可以确定出对应用户体验为可容忍的前端页面加载的次数B,还可以确定出对应用户体验为不满意的前端页面加载的次数C。将确定出的A、B和C代入上述公式,便可以计算出待分析应用的用户体验满意度指数。其中,k1、k2和k3分别对应了满意、可容忍和不满意三种用户体验的权重,比如k1可以等于1,k2可以等于0.7,k3可以等于0.3。
采集一定时间内待分析应用的各个前端页面加载时的网页响应时间,根据网页响应时间确定各个前端页面加载的用户体验,通过统计对应不同用户体验的前端页面加载的次数分析出待分析应用的用户体验满意度指数,为待分析应用的调优提供数据支撑。
可选地,如图1所示,
在步骤102采集前端页面在浏览器上进行加载过程中的网页数据时,可以采集异步请求的相关信息作为网页数据。具体地,在一个前端页面在一个浏览器上进行加载的过程中,该浏览器会接收到异步请求,针对于该浏览器接收到的每一个异步请求,可以采集该异步请求所消耗的时间、所返回的响应状态以及所返回文本的大小等信息,将采集到的这些信息作为网页数据。
异步请求主要用于前端页面的局部刷新,异步请求所消耗的时间、所返回响应状态和所返回文本大小会影响前端页面进行的局部刷新,因此通过数据采集脚本采集前端页面加载过程中各个异步请求所消耗的时间、所返回响应状态和所返回文本大小,将异步请求相关的数据作为网页数据对待分析应用的性能进行分析,可以确定待分析应用对异步请求进行处理的性能是否合适。其中,异步请求所消耗时间体现了前端页面进行局部刷新的速率,异步请求所返回文本的大小可以用于确定异步请求消耗时间较长的原因。
可选地,如图1所示,
当步骤102中采集异步请求的消耗时间、所返回响应状态和所返回文本大小中的任意一个或多个作为网页数据时,步骤103中根据各个前端页面加载过程中网页数据对待分析应用的性能进行分析时,可以根据在预设的第二数据采集周期内采集到的各个异步请求相关信息,统计不同类型异步请求的执行次数、平均执行时间和调用页面请求等信息。
当设置于前端页面中的数据采集脚本可以对异步请求相关信息进行采集时,根据所采集的各个前端页面加载过程中执行的异步请求,可以统计出指定时间段内不同类型异步请求的执行次数、异步请求的平均执行时间以及异步请求所调用页面请求等信息,根据统计出的信息可以确定待分析应用对异步请求进行处理的性能,进而可以对平均执行时间较长的异步请求进行调优,还可以根据不同异步请求被执行的频率,对被执行频率较高的异步请求进行优先调优,保证待分析应用能够使更多用户满意。
可选地,如图1所示,
在步骤102中采集前端页面在浏览器上进行加载的网页数据时,还可以采集加载过程中出现的页面脚本错误,具体地,当一个前端页面在一个浏览器上进行加载时,设置于该前端页面中的数据采集脚本可以采集加载过程中出现的页面脚本错误,并可以采集页面脚本错误发声的脚本文件以及具体发生脚本错误所在的行,将并将采集到的上述信息作为网页数据。
设置于前端页面中的数据采集脚本可以采集前端页面加载过程中出现的页面脚本错误,并可以采集具体发生错误的脚本文件和错误所在的行。这样,针对于同一个前端页面,统计指定时间段内该前端页面在各个浏览器上进行加载过程中出现的页面脚本错误、错误所在脚本文件及错误所在行,通过统计出的信息可以确定前端页面的脚本是否存在错误或缺陷,方便应用程序开发人员对待分析应用的脚本进行优化或修改。
可选地,如图1所示,
在步骤102中采集前端页面在浏览器上进行加载的网页数据时,针对每一个前端页面,当该前端页面在一个浏览器上进行加载时,通过设置于该前端页面中的数据采集脚本,可以采集加载该前端页面的浏览器的类型、版本、分辨率以及所属操作系统等信息作为网页数据。
由于不同用户所使用的浏览器不同,采集加载各个前端页面的浏览器的信息,对一定时间段内采集到的浏览器信息进行统计分析,可以获得用户的行为习惯,确定出对待分析应用进行访问时使用最多的浏览器类型和版本、网络运营商、分辨率、操作系统等信息,可以确定出的信息可以分析待分析应用的性能是否满足大多数用户的行为习惯,进而应用开发人员可以根据用户的行为习惯,对待分析应用进行有针对性的升级或调整。
需要说明的是,在本发明实施例中,同一个前端页面可以同时在不同浏览器上进行加载,同一前端页面加载到不同浏览器上之后成为独立的个体,即每一个浏览器上加载的前端页面中都设置有数据采集脚本,负责前端页面在对应浏览器上进行加载过程中的网页数据采集。
下面以电商网站作为待分析应用,对本发明实施例提供的应用性能分析方法作进一步详细说明,如图2所示,该方法可以包括以下步骤:
步骤201:确定待分析应用包括的各个前端页面,并在每一个前端页面中设置数据采集脚本。
在本发明一个实施例中,在需要对一个基于网页实现的应用的性能进行分析时,确定该应用包括的各个前端页面,其中,前端页面为可以根据用户的请求加载在浏览器上进行展示的页面。在确定才待分析应用包括的各个前端页面后,在每一个前端页面中设置数据采集脚本,数据采集脚本用于对前端页面的数据进行采集,并将采集到的数据传输到后台的分析服务器。
例如,待分析应用为电商网站A,电商网站A包括有20个前端页面,其中,20个前端页面分别为前端页面1至前端页面20,在每一个前端页面中嵌入JavaScript脚本作为数据采集脚本。
步骤202:利用数据采集脚本采集各个前端页面加载过程中的网页数据。
在本发明一个实施例中,在各个前端页面中设置数据采集脚本后,各个客户端根据用户的请求在浏览器上加载对应的前端页面。针对于每一个前端页面,在浏览器加载该前端页面的过程中,设置于该前端页面中的数据采集脚本采集该前端页面加载过程中的网页数据。其中,网页数据包括前端页面加载过程中的网页响应时间、异步请求时间、异步请求返回的响应状态和文本大小、页面脚本错误、页面脚本错误发生的脚本文件及行数、浏览器类型和版本、网络运营商名称、操作系统等。
数据采集脚本在采集网页响应时间时,基于HTML5标准协议,浏览器window.performance对象记录了前端页面加载过程中各个阶段的开始、结束时间戳,在页面加载完成后,数据采集脚本自动开始计算前端页面加载的请求排队、后端处理、响应返回、文档解析、静态资源加载等过程的消耗时间,根据各阶段消耗的时间确定出网页响应时间。
数据采集脚本在采集异步请求时间时,通过重写JavaScript的XMLHttpRequest对象,针对每个异步请求的每个状态改变的记录时间戳,在一个异步请求结束时,计算该异步请求消耗的时间以及该请求返回的响应状态和文本大小。
数据采集脚本在采集页面脚本错误时,通过window.onerror对象,捕获JavaScript脚本错误,记录每一个错误发生的脚本文件、发生的行数,以及加载前端页面的浏览器的类型和版本等信息。
例如,在用户A的请求下,客户端A上的浏览器A对前端页面1进行加载,在浏览器A对前端页面1进行加载的过程中,设置于前端页面1中的数据采集脚本采集前端页面1的网页数据。
步骤203:数据采集脚本将采集到的网页数据传输给分析服务器。
在本发明一个实施例中,设置于前端页面中的数据采集脚本不仅能够采集网页数据,还能够将采集到的网页数据传输到预先定义的分析服务器。因此,设置于各个前端页面中的数据采集脚本在采集到网页数据后,将采集到的网页数据发送到指定的分析服务器。
步骤204:分析服务器根据各个前端页面对应的网页数据,对待分析应用的性能进行分析。
在本发明一个实施例中,分析服务器利用各个数据采集脚本发送来的网页数据,根据预先定义的分析方法对待分析应用的性能进行分析。分析项目可以包括统计指定时间内请求平均性能数据、统计指定时间内浏览器平均性能数据、统计指定时间内不同分辨率请求个数、统计指定时间内不同操作系统请求个数、统计指定时间内不同运营商请求个数、统计指定时间内不同地区请求个数等。
例如,分析服务器根据指定3分钟内20个前端页面在被加载时的网页响应时间,统计电商网站A在3分钟内请求平均性能数据;分析服务器统计在指定30分钟内对20个前端页面中的一个或多个进行加载的各种类型浏览器的数量;分析服务器统计在指定30分钟内对20个前端页面中的一个或多个进行加载的浏览器所属操作系统的类型等。
步骤205:根据对待分析应用进行分析的结果生成统计表并存储到指定的数据库。
在本发明一个实施例中,分析服务器根据网页数据对待分析应用的性能进行分析后,根据统计分析结果生成多个统计表,并将生成的统计表存储到指定的数据库中。比如,生成页面性能统计快照表、浏览器性能统计快照表、用户分辨率统计快照表、操作系统统计快照表、运营商统计快照表、所属地区统计快照表、慢加载数据表、页面加载资源表等,并将这些表存储到指定的MySQL数据库中。
如图3、图4所示,本发明实施例提供了一种应用性能分析装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的应用性能分析装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的应用性能分析装置,包括:预处理单元401、采集单元402和分析单元403;
预处理单元401,用于确定待分析应用包括的至少一个前端页面,在每一个前端页面中设置数据采集脚本;
采集单元402,用于针对预处理单元401确定的每一个前端页面,通过前端页面中设置的数据采集脚本,分别采集前端页面在每一个浏览器上进行加载时的网页数据;
分析单元403,用于根据采集单元402采集到的各个前端页面在各个浏览器上进行加载时的网页数据,对待分析应用的性能进行分析。
可选地,在图1所述应用性能分析装置的基础上,
采集单元402用于针对于任意一个浏览器,当浏览器对前端页面进行加载时,通过采集前端页面加载过程中请求排队、后端处理、响应返回、文档解析和静态资源加载过程所消耗的时间,获得前端页面的网页响应时间作为网页数据。
可选地,在图1所述应用性能分析装置的基础上,
分析单元403用于获取在预设的第一数据采集周期内各个前端页面在各个浏览器上进行加载时的网页响应时间,根据获取到的各个网页响应时间,通过如下公式计算待分析应用的用户体验满意度指数;
其中,M表征待分析应用的用户体验满意度指数,A表征对应网页响应时间小于第一预设阈值的对前端页面进行加载的次数,B表征对应网页响应时间不小于第一预设阈值且小于第二预设阈值的对前端页面进行加载的次数,C表征对应网页响应时间不小于第二预设阈值的对前端页面进行加载的次数,第一预设阈值小于第二预设阈值,k1、k2和k3均表征常数。
可选地,在图1所述应用性能分析装置的基础上,
所述采集单元402用于捕获所述前端页面在每一个所述浏览器上进行加载时出现的页面脚本错误,并采集每一个所述页面脚本错误发生的脚本文件和所在行作为所述网页数据。
可选地,在图1所述应用性能分析装置的基础上,
采集单元402用于采集对前端页面进行加载的浏览器的类型、版本、分辨率及所属操作系统中的任意一个或多个作为网页数据。
需要说明的是,上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提了一种可读介质,所述可读介质上存储有执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述各个实施例提供的应用性能分析方法。
本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述各个实施例提供的应用性能分析方法。
综上所述,本发明各个实施例提供的应用性能分析方法及装置,至少具有如下有益效果:
1、在本发明实施例中,确定待分析应用包括的至少一个前端页面后在每一个前端页面中设置数据采集脚本,当一个前端页面在浏览器上进行加载时,可以通过设置于该前端页面中的数据采集脚本采集该前端页面在浏览器上进行加载时的网页数据,进而可以根据各个前端页面加载时的网页数据对待分析应用的性能进行分析。由此可见,通过在各个前端页面上设置数据采集脚本,可以采集到各个前端页面在浏览器上加载时的网页数据,由于用户直接通过浏览器对待分析应用进行访问,所以采集到的网页数据能够更加直接地体现用户体验,因此根据采集到的网页数据对待分析应用的性能进行分析,能够提高应用性能分析结果的准确性。
2、在本发明实施例中,将每一个前端页面的网页响应时间作为一项网页数据对待分析应用的性能进行分析,当网页响应时间超过预先定义的阈值后,可以将对应前端页面记录为慢加载页面,这样应用开发人员可以对待分析应用的性能进行调优。
3、在本发明实施例中,采集一定时间内待分析应用的各个前端页面加载时的网页响应时间,根据网页响应时间确定各个前端页面加载的用户体验,通过统计对应不同用户体验的前端页面加载的次数分析出待分析应用的用户体验满意度指数,为待分析应用的调优提供数据支撑。
4、在本发明实施例中,采集浏览器的类型和版本、操作系统的类型、运营商的名称、操作系统等信息,可以对待分析应用的用户的行为习惯进行统计分析,确定出使用待分析应用的用户最常使用的浏览器类型、浏览器版本、网络运营商和操作系统等,使得应用开发人员可以据此对待分析应用进行有针对性的更新和优化,使得待分析应用能够使大多数用户的使用体验满意。
5、在本发明实施例中,将小段JavaScript脚本嵌入到前端页面中,实现对前端页面加载过程中的网页数据进行采集,不影响待分析应用的原有系统性能,不会造成成本的增加。
6、在本发明实施例中,分析服务器部署在云端,数据采集脚本通过消息队列将网页数据发送给分析服务器,保障高并发数据的收发。由于网页数据来源于真实用户的真实访问,所以对于应用的性能调试和统计分析提供了可靠的数据支撑。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种应用性能分析方法,其特征在于,确定待分析应用包括的至少一个前端页面,在每一个所述前端页面中设置数据采集脚本,还包括:
针对每一个所述前端页面,通过所述前端页面中设置的所述数据采集脚本,分别采集所述前端页面在每一个浏览器上进行加载时的网页数据;
根据各个所述前端页面在各个所述浏览器上进行加载时的所述网页数据,对所述待分析应用的性能进行分析。
2.根据权利要求1所述的方法,其特征在于,所述采集所述前端页面在每一个浏览器上进行加载时的网页数据,包括:
针对于任意一个所述浏览器,当所述浏览器对所述前端页面进行加载时,通过采集所述前端页面加载过程中请求排队、后端处理、响应返回、文档解析和静态资源加载过程所消耗的时间,获得所述前端页面的网页响应时间作为所述网页数据。
3.根据权利要求2所述的方法,其特征在于,所述根据各个所述前端页面在各个所述浏览器上进行加载时的所述网页数据,对所述待分析应用的性能进行分析,包括:
获取在预设的第一数据采集周期内各个所述前端页面在各个所述浏览器上进行加载时的所述网页响应时间,根据获取到的各个所述网页响应时间,通过如下公式计算所述待分析应用的用户体验满意度指数;
<mrow>
<mi>M</mi>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<mo>&CenterDot;</mo>
<mi>A</mi>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<mo>&CenterDot;</mo>
<mi>B</mi>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>3</mn>
</msub>
<mo>&CenterDot;</mo>
<mi>C</mi>
</mrow>
<mrow>
<mi>A</mi>
<mo>+</mo>
<mi>B</mi>
<mo>+</mo>
<mi>C</mi>
</mrow>
</mfrac>
</mrow>
其中,所述M表征所述待分析应用的用户体验满意度指数,所述A表征对应所述网页响应时间小于第一预设阈值的对所述前端页面进行加载的次数,所述B表征对应所述网页响应时间不小于所述第一预设阈值且小于第二预设阈值的对所述前端页面进行加载的次数,所述C表征对应所述网页响应时间不小于所述第二预设阈值的对所述前端页面进行加载的次数,所述第一预设阈值小于所述第二预设阈值,所述k1、k2和k3均表征常数。
4.根据权利要求1所述的方法,其特征在于,所述采集所述前端页面在每一个浏览器上进行加载时的网页数据,包括:
针对所述前端页面在任意一个所述浏览器上进行加载过程中所述浏览器接收到的每一个异步请求,采集所述异步请求的消耗时间、所返回响应状态和所返回文本大小中的任意一个或多个作为所述网页数据。
5.根据权利要求4所述的方法,其特征在于,所述根据各个所述前端页面在各个所述浏览器上进行加载时的所述网页数据,对所述待分析应用的性能进行分析,包括:
确定在预设的第二数据采集周期内各个所述浏览器对各个所述前端页面进行加载过程中接收到的各个所述异步请求,根据确定出的各个所述异步请求统计不同类型所述异步请求的执行次数、平均执行时间和调用页面请求中的任意一个或多个。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述采集所述前端页面在每一个浏览器上进行加载时的网页数据,包括:
捕获所述前端页面在每一个所述浏览器上进行加载时出现的页面脚本错误,并采集每一个所述页面脚本错误发生的脚本文件和所在行作为所述网页数据;
和/或,
采集对所述前端页面进行加载的所述浏览器的类型、版本、分辨率及所属操作系统中的任意一个或多个作为所述网页数据。
7.一种应用性能分析装置,其特征在于,包括:预处理单元、采集单元和分析单元;
所述预处理单元,用于确定待分析应用包括的至少一个前端页面,在每一个所述前端页面中设置数据采集脚本;
所述采集单元,用于针对所述预处理单元确定的每一个所述前端页面,通过所述前端页面中设置的所述数据采集脚本,分别采集所述前端页面在每一个浏览器上进行加载时的网页数据;
所述分析单元,用于根据所述采集单元采集到的各个所述前端页面在各个所述浏览器上进行加载时的所述网页数据,对所述待分析应用的性能进行分析。
8.根据权利要求7所述的装置,其特征在于,
所述采集单元,用于针对于任意一个所述浏览器,当所述浏览器对所述前端页面进行加载时,通过采集所述前端页面加载过程中请求排队、后端处理、响应返回、文档解析和静态资源加载过程所消耗的时间,获得所述前端页面的网页响应时间作为所述网页数据。
9.根据权利要求8所述的装置,其特征在于,
所述分析单元,用于获取在预设的第一数据采集周期内各个所述前端页面在各个所述浏览器上进行加载时的所述网页响应时间,根据获取到的各个所述网页响应时间,通过如下公式计算所述待分析应用的用户体验满意度指数;
<mrow>
<mi>M</mi>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<mo>&CenterDot;</mo>
<mi>A</mi>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<mo>&CenterDot;</mo>
<mi>B</mi>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>3</mn>
</msub>
<mo>&CenterDot;</mo>
<mi>C</mi>
</mrow>
<mrow>
<mi>A</mi>
<mo>+</mo>
<mi>B</mi>
<mo>+</mo>
<mi>C</mi>
</mrow>
</mfrac>
</mrow>
其中,所述M表征所述待分析应用的用户体验满意度指数,所述A表征对应所述网页响应时间小于第一预设阈值的对所述前端页面进行加载的次数,所述B表征对应所述网页响应时间不小于所述第一预设阈值且小于第二预设阈值的对所述前端页面进行加载的次数,所述C表征对应所述网页响应时间不小于所述第二预设阈值的对所述前端页面进行加载的次数,所述第一预设阈值小于所述第二预设阈值,所述k1、k2和k3均表征常数。
10.根据权利要求7至9中任一所述的装置,其特征在于,
所述采集单元,用于捕获所述前端页面在每一个所述浏览器上进行加载时出现的页面脚本错误,并采集每一个所述页面脚本错误发生的脚本文件和所在行作为所述网页数据;
和/或,
所述采集单元,用于采集对所述前端页面进行加载的所述浏览器的类型、版本、分辨率及所属操作系统中的任意一个或多个作为所述网页数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710907249.4A CN107678932A (zh) | 2017-09-29 | 2017-09-29 | 一种应用性能分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710907249.4A CN107678932A (zh) | 2017-09-29 | 2017-09-29 | 一种应用性能分析方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107678932A true CN107678932A (zh) | 2018-02-09 |
Family
ID=61139482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710907249.4A Pending CN107678932A (zh) | 2017-09-29 | 2017-09-29 | 一种应用性能分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107678932A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739725A (zh) * | 2018-12-29 | 2019-05-10 | 云智慧(北京)科技有限公司 | 基于浏览器的监控方法、装置、系统及存储介质 |
CN109739749A (zh) * | 2018-12-14 | 2019-05-10 | 平安普惠企业管理有限公司 | 网站性能优化方法、装置、设备及存储介质 |
CN109902454A (zh) * | 2019-03-15 | 2019-06-18 | 北京邮电大学 | 应用敏感信息提取方法、装置、设备及可读存储介质 |
CN110618933A (zh) * | 2019-08-15 | 2019-12-27 | 华为技术有限公司 | 性能分析方法与系统、电子设备与存储介质 |
CN110995839A (zh) * | 2019-12-03 | 2020-04-10 | 北京搜狐新媒体信息技术有限公司 | 广告系统性能的分析方法、装置和计算机存储介质 |
CN111897703A (zh) * | 2019-05-05 | 2020-11-06 | 北京神州泰岳软件股份有限公司 | 一种网站性能评价方法和装置 |
CN113010371A (zh) * | 2020-12-07 | 2021-06-22 | 云智慧(北京)科技有限公司 | 一种对浏览器端真实用户体验实时监控的方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130124705A1 (en) * | 2011-11-16 | 2013-05-16 | International Business Machines Corporation | Manifold proxy for generating production server load activity on test machine(s) |
CN103645978A (zh) * | 2013-12-16 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 浏览器网页加载时间的测试方法、装置和系统 |
CN104750471A (zh) * | 2013-12-30 | 2015-07-01 | 上海格尔软件股份有限公司 | 一种基于浏览器的web页面性能检测与采集分析插件以及方法 |
CN106598821A (zh) * | 2015-10-14 | 2017-04-26 | 腾讯科技(深圳)有限公司 | 网页加载速度的测试方法及装置 |
CN106897215A (zh) * | 2017-01-20 | 2017-06-27 | 华南理工大学 | 一种基于WebView网页加载性能及用户行为流数据采集的方法 |
-
2017
- 2017-09-29 CN CN201710907249.4A patent/CN107678932A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130124705A1 (en) * | 2011-11-16 | 2013-05-16 | International Business Machines Corporation | Manifold proxy for generating production server load activity on test machine(s) |
CN103645978A (zh) * | 2013-12-16 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 浏览器网页加载时间的测试方法、装置和系统 |
CN104750471A (zh) * | 2013-12-30 | 2015-07-01 | 上海格尔软件股份有限公司 | 一种基于浏览器的web页面性能检测与采集分析插件以及方法 |
CN106598821A (zh) * | 2015-10-14 | 2017-04-26 | 腾讯科技(深圳)有限公司 | 网页加载速度的测试方法及装置 |
CN106897215A (zh) * | 2017-01-20 | 2017-06-27 | 华南理工大学 | 一种基于WebView网页加载性能及用户行为流数据采集的方法 |
Non-Patent Citations (1)
Title |
---|
中公教育国有企业招聘考试研究中心: "《中国石化招聘考试专用教材-一本通》", July 2016, 世界图书出版公司北京公司 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739749A (zh) * | 2018-12-14 | 2019-05-10 | 平安普惠企业管理有限公司 | 网站性能优化方法、装置、设备及存储介质 |
CN109739749B (zh) * | 2018-12-14 | 2024-03-29 | 平安普惠企业管理有限公司 | 网站性能优化方法、装置、设备及存储介质 |
CN109739725A (zh) * | 2018-12-29 | 2019-05-10 | 云智慧(北京)科技有限公司 | 基于浏览器的监控方法、装置、系统及存储介质 |
CN109902454A (zh) * | 2019-03-15 | 2019-06-18 | 北京邮电大学 | 应用敏感信息提取方法、装置、设备及可读存储介质 |
CN111897703A (zh) * | 2019-05-05 | 2020-11-06 | 北京神州泰岳软件股份有限公司 | 一种网站性能评价方法和装置 |
CN110618933A (zh) * | 2019-08-15 | 2019-12-27 | 华为技术有限公司 | 性能分析方法与系统、电子设备与存储介质 |
CN110618933B (zh) * | 2019-08-15 | 2021-05-11 | 华为技术有限公司 | 性能分析方法与系统、电子设备与存储介质 |
CN110995839A (zh) * | 2019-12-03 | 2020-04-10 | 北京搜狐新媒体信息技术有限公司 | 广告系统性能的分析方法、装置和计算机存储介质 |
CN110995839B (zh) * | 2019-12-03 | 2022-09-20 | 北京搜狐新媒体信息技术有限公司 | 广告系统性能的分析方法、装置和计算机存储介质 |
CN113010371A (zh) * | 2020-12-07 | 2021-06-22 | 云智慧(北京)科技有限公司 | 一种对浏览器端真实用户体验实时监控的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107678932A (zh) | 一种应用性能分析方法及装置 | |
US10127146B2 (en) | Systems and methods to identify and classify performance bottlenecks in cloud based applications | |
US7035766B1 (en) | System and method for diagnosing computer system operational behavior | |
CN102946319B (zh) | 网络用户行为信息分析系统及其分析方法 | |
US7747988B2 (en) | Software feature usage analysis and reporting | |
CN111241453B (zh) | 页面访问时长采集方法、装置、介质及电子设备 | |
CN104426713B (zh) | 网络站点访问效果数据的监测方法和装置 | |
US20100094992A1 (en) | Capacity Planning Of Multi-tiered Applicatons From Application Logs | |
CN105224691B (zh) | 一种信息处理方法及装置 | |
CN109461023B (zh) | 流失用户挽回方法及装置、电子设备、存储介质 | |
IL234134A (en) | Machine learning method of search query types | |
CN108334758A (zh) | 一种用户越权行为的检测方法、装置及设备 | |
CN109189642A (zh) | 基于插件的应用系统业务行为特征获取方法及监控系统 | |
EP1484684B1 (en) | Method and computer system for providing a cost estimate for sizing a computer system | |
US20060095312A1 (en) | Method, system, and storage medium for using comparisons of empirical system data for testcase and workload profiling | |
Del Bianco et al. | Model-based early and rapid estimation of COSMIC functional size–An experimental evaluation | |
CN114780233A (zh) | 基于微服务链路分析和强化学习的调度方法及装置 | |
CN108459936B (zh) | 一种基于内容模块化的精准统计方法及装置 | |
CN110110219A (zh) | 根据网络行为确定用户偏好的方法及装置 | |
Liu et al. | A framework to compute page importance based on user behaviors | |
CN114064757A (zh) | 应用程序的优化方法、装置、设备及介质 | |
CN112416727A (zh) | 批处理作业的检核方法、装置、设备及介质 | |
Kallepalli et al. | Usage measurement for statistical web testing and reliability analysis | |
CN113010240B (zh) | 一种数据采集方法、系统、电子设备及存储介质 | |
Ryan et al. | A macro-stochastic model for improving the accuracy of department of defense life cycle cost estimates |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180209 |