CN106547531B - 基于php的应用性能管理方法及其模块 - Google Patents
基于php的应用性能管理方法及其模块 Download PDFInfo
- Publication number
- CN106547531B CN106547531B CN201510614224.6A CN201510614224A CN106547531B CN 106547531 B CN106547531 B CN 106547531B CN 201510614224 A CN201510614224 A CN 201510614224A CN 106547531 B CN106547531 B CN 106547531B
- Authority
- CN
- China
- Prior art keywords
- php
- data
- request
- memory
- performance management
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种基于PHP的应用性能管理方法及其模块,方法包括:在PHP的语法解析、解析成Opcode和/或交由Zend引擎执行Opcode的时机,同步地将用户应用的原代码映射到一块内存,并异步地将这块内存中的数据进行处理来取得供APM使用的数据,分析取得的供APM使用的数据包括下列中的任一种或任几种或全部:类、方法运行堆栈,每个类方法的运行时间、运行参数、运行内存信息,再根据取得的供APM使用的数据进行分析来找到PHP的性能瓶颈。本发明使得用户可以在不修改任何原应用代码的基础上,即可方便地将采集扩展放入PHP底层运行引擎中;能快速发现并定位性能瓶颈问题,并通过提供的平台体验良好地浏览与追踪数据分析结果;本发明可使用的架构包括但不限于LAMP(Linux Apache Mysql PHP)与LNAMP(Linux Nginx Apache Mysql PHP)。
Description
技术领域
本发明属于APM(应用性能管理APM=Application Performance Management)领域,是一种基于PHP的应用性能管理方法及应用性能管理模块,用于实时收集PHP(超文本预处理器PHP:Hypertext Preprocessor)应用运行时的数据、性能指标数据,精准发现、实时监控影响PHP应用性能的问题。
背景技术
应用性能管理,简称APM(Application Performance Management),在信息科学和系统控制领域,APM是用来监控和管理应用软件是否有效运行的,APM可以监测和分析应用软件的表现,从而有利于保证应用软件的良好运行。
目前,PHP(超文本预处理器PHP:Hypertext Preprocessor)的应用性能管理基本还处于萌芽状态。现有的方法中,基本是通过埋点的做法将原有应用代码进行有针对性的修改得以实现的。而该种方法很难做到实时地、充分地收集性能指标数据,也很难从收集到的数据中准确地找到问题点与性能瓶颈,更难做到有价值的数据指标分析与预警。
如何能够实时收集PHP应用运行时的数据、性能指标的数据,并精准发现、实时监控影响PHP应用性能的问题,将有利于改进PHP的应用性能管理。
发明内容
为了克服现有技术的上述缺陷,本发明一个目的在于提供一种基于PHP的应用性能管理方法,其可以用于实时收集PHP应用运行时的数据、性能指标数据,且不需要修改原应用代码,只需通过简单的配置或无须配置,即可采集应用代码运行堆栈和相对应的丰富的性能指标;
本发明又一个目的在于提供一种基于PHP的应用性能管理方法,其可以通过采集到的应用代码运行栈堆和性能指标,快速发现应用性能故障点,准确找到性能瓶颈,并给出精确的修改建议。
本发明一个目的在于提供一种基于PHP的应用性能管理模块,其可以用于实时收集PHP应用运行时的数据、性能指标数据,且不需要修改原应用代码,只需通过简单的配置或无须配置,即可采集应用代码运行堆栈和相对应的丰富的性能指标;
本发明又一个目的在于提供一种基于PHP的应用性能管理模块,其可以通过采集到的应用代码运行栈堆和性能指标,快速发现应用性能故障点,准确找到性能瓶颈,并给出精确的修改建议。
为了达到上述目的,本发明提供的主要技术方案包括:
一种基于PHP的应用性能管理方法,其包括:
在PHP的语法解析、解析成Opcode(Operating code操作码)和/或交由Zend引擎执行Opcode的时机,同步地将用户应用的原代码映射到一块内存,并异步地将这块内存中的数据进行处理来取得供APM使用的数据。
本发明的一个实施例中,分析取得的供APM使用的数据包括下列中的任一种或任几种或全部:类、方法运行堆栈,每个类方法的运行时间、运行参数、运行内存信息。
本发明的一个实施例中,内存中的数据的取得方法包括如下步骤:
步骤一、全部或部分请求通过hash算法,取得当前URI的hash key;
步骤二、判断请求是否为首次访问,若是,则执行步骤三,若否,则执行步骤四;
步骤三、开始追踪本次请求,采集本次请求的哈希值,并将此次采集的哈希值记录在散列图中;
步骤四、判断是否允许追踪,若否,则执行步骤五,若是,则执行步骤六;
步骤五、不追踪,并于本次请求结束后,判断是否将本次请求采集的哈希值记录在Trace队列中;
步骤六、判断是否已经实施过追踪,若是,则不追踪,若否,则执行步骤七;
步骤七、启动追踪,并将被追踪的次数记录于Trace队列中。
通过上述方法取得数据,既可以保证在不漏掉任何URI请求的前提下,又可以有效降低对原有应用的性能影响。
其中,步骤二中,是通过Maps(散列图)查看本次请求的哈希值是否有被采集过来判断是否为首次访问的,若未被采集过,则判断为首次访问,若已被采集过,则判断为非首次访问。
其中,步骤四中,是通过从Trace队列(跟踪队列)中查看是否有本次请求的哈希值来判断是否允许追踪的,当没有时,则判断为不允许追踪,当有时,则判断为允许追踪。
其中,步骤五中,判断是否将本次请求采集的哈希值记录在Trace队列中的标准是:于本次请求结束后,判断此次请求响应时间是否小于设定的阈值(例如可以设定为默认500毫秒),如果不小于,则将本次请求采集的哈希值记录在Trace队列中。
其中,步骤六中,是通过从Trace队列(跟踪队列)中查看本次请求的哈希值被再次采集的次数来判断是否已实施过追踪的,当次数为0时,则判断为未实施过追踪,当次数大于0时,则判断为已实施过追踪。
本发明的一个实施例中,其包括如下步骤:
S1、内存预申请,以得到一块内存;
S2、同步地将应用的原代码映射到步骤S1预申请的内存;
S3、对步骤S2得到的内存中的数据异步计算、筛选,以取得供APM使用的数据。
其中,步骤S1是通过调用MINIT钩子函数来完成的。
优选为,步骤S1中,MINIT钩子函数用于配置变量初始化、内存预申请、CPU检测与绑定。
其中,步骤S2是通过调用RINIT钩子函数来完成的。
优选为,步骤S2中,RINIT钩子函数用于请求初始化、head头检测、采集开关判定、变量产生与绑定。
其中,步骤S3是通过调用RSHUTDOWN钩子函数来完成的。
优选为,步骤S3中,RSHUTDOWN钩子函数用于数据异步计算、筛选、发送。
本发明的一个实施例中,所述的基于PHP的应用性能管理方法,其还包括步骤:S4、步骤S3之后销毁内存。
其中,步骤S4是通过调用MSHUTDOWN钩子函数来完成的。
优选为,步骤S4中,MSHUTDOWN钩子函数用于内存销毁、资源关闭。
本发明的一个实施例中,步骤S2中,原应用代码每加载一个类或执行一个方法,即在方法执行头与尾分别将运行过程映射到预申请的内存中,并分别标记时间与内存标记,并同时记录类与方法的调用栈。
本发明的一个实施例中,步骤S3中,供APM使用的数据中包括下列信息中的任一种、任几种或全部:方法调用栈、每个方法所占用的CPU时间、运行时间、内存占用、内存峰值。
上述任一种基于PHP的应用性能管理方法,其还包括根据取得的供APM使用的数据进行分析来找到PHP的性能瓶颈。
本发明的一个实施例中,优选为通过分析得出最慢事务、最慢SQL(StructuredQuery Language,结构化查询语言)、最慢方法中的任一个或任几个或全部数据来找到PHP的性能瓶颈。
本发明的一个实施例中,优选为根据取得的供APM使用的数据和PHP应用的架构拓扑进行分析来找到PHP的性能瓶颈。
其中,所述架构拓扑是基于多组请求拓扑数据形成的。
其中,所述请求拓扑数据的产生方法为:当用户请求时,产生惟一的UUID(Universally Unique Identifier,通用唯一识别码),并通过请求头(request header)传递给请求中调取的API接口(Application Programming Interface,应用程序编程接口),同时API接口接收到该UUID后,追加主机与请求时间,以此来追踪应用的请求拓扑。
上述任一种基于PHP的应用性能管理方法,其可使用的架构包括但不限于LAMP(Linux Apache Mysql PHP)与LNAMP(Linux Nginx Apache Mysql PHP)。
本发明还提供一种基于PHP的应用性能管理模块,其以PHP的运行扩展的形式存在,介于PHP扩展与Zend引擎扩展之间,以便在不修改原应用代码的基础上获取指标数据。
本发明的有益效果是:
1、用户可以在不修改任何原应用代码的基础上,即可方便地将采集扩展放入PHP底层运行引擎中;
2、快速发现并定位性能瓶颈问题,并通过提供的平台体验良好地浏览与追踪数据分析结果;
3、可使用的架构包括但不限于LAMP(Linux Apache Mysql PHP)与LNAMP(LinuxNginx Apache Mysql PHP)。
附图说明
图1为PHP应用运行原理与钩子示意图;
图2为PHP应用性能管理模块的数据采样方法示意图;
图3为本发明一个应用例的完整拓扑结构示意图;
图4为本发明一个应用例中的单次请求的拓扑结构示意图;
图5为本发明一个应用例中的单次请求的最慢元素分析结果示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图通过具体实施方式,对本发明作详细描述。
本发明的实现原理为:PHP是解释型语言,在PHP接受到请求后,先后经历Parse、Compile、Execute过程,分别为语法解析、解析成Opcode、交由Zend引擎执行Opcode。在此过程中,PHP语言提供了底层钩子以扩展PHP语言本身,其中包含以下几个扩展钩子:zend_compile_file、zend_compile_string、zend_execute,本发明正是基于这些钩子扩展,在语法解析、解析成Opcode、交由Zend引擎执行Opcode的时机,同步地将用户应用的原代码映射到一块内存地址,并异步地将这块内存中的数据进行分析取得相关数据。分析取得的数据包括:类、方法运行堆栈,每个类方法的运行时间、运行参数、运行内存等关键信息(参见图1)。
具体的,本发明一个实施例的基于PHP的应用性能管理方法,其主要步骤包括:
将本发明的应用性能管理方法形成为PHP的运行扩展的形式(介于PHP扩展与Zend引擎扩展之间);
PHP接收到用户请求,原应用代码开始运行;
PHP语言加载本发明扩展;
调用钩子函数,启动钩子扩展;
启动用于指标采集的数据采集算法;
原应用代码每加载一个类或执行一个方法,数据采集算法都将在方法执行头与尾分别将运行过程映射到另一块内存中,并分别标记时间与内存标记,单位分别为微秒与比特,并同时记录类与方法的调用栈(顺序树);
在请求结束后,数据采集算法将映射到内存中的这些数据进行计算与筛选,最终计算得出此次请求的方法调用栈、每个方法所占用的CPU时间、运行时间、内存占用、内存峰值,形成此次请求的数据,并发送到数据发送代理,由数据发送代理异步地将数据发送回数据收集平台;
当用户请求时,产生惟一的UUID,如“23b562fd-0eab-11e5-9eda-52540009e211”,并通过请求头传递给请求中调取的API接口,同时API接口接收到该UUID后,追加主机与请求时间,以准确追踪应用的请求拓扑;当足够多请求拓扑数据产生时,得到该应用的架构拓扑;
通过数据分析平台对数据分析处理,实时地分析出最慢事务、最慢SQL、最慢方法等数据,以找到PHP性能瓶颈。
本实施例中,调用钩子函数是指依次调用MINIT、RINIT、RSHUTDOWN、MSHUTDOWN钩子函数,其中:MINIT完成配置变量初始化、内存预申请、CPU检测与绑定,RINIT完成请求初始化、head头检测、采集开关判定、变量产生与绑定,RSHUTDOWN完成数据异步计算、筛选、发送,MSHUTDOWN完成内存销毁、资源关闭等工作。
本实施例中,钩子扩展启动时,数据采集算法(见图2)自动启动。
为了保证在不漏掉任何URI(Uniform Resource Identifier,通用资源标识符)请求的同时,还能够有效降低对原有应用的性能影响。本发明中的数据采样算法的设计思路是:充分覆盖所有的URI请求的前提下,只关注响应慢的请求(即只有当请求出现响应慢的情况时才会被关注)。
在实施例中,其具体步骤为:
Step1、从Maps(散列图)中查看本次请求的哈希值是否被采集过,若否,则执行Step2,若是,则执行Step3;
Step2、采集本次请求的哈希值,并将此次采集的哈希值记录在散列图中;
Step3、从Trace队列(跟踪队列)中再次查看本次请求的哈希值是否应该被再次采集,若不需要再次采集,则执行Step4或Step6,若需要再次采集,则执行Step5;
Step4、如果Trace队列中未包含此hash key,则不再采集,请求结束后,判断此次请求响应时间是否大于设定的阈值(例如可以设定为默认500毫秒),如果大于,则将首次请求时采集的hash key记录在Trace队列中;
Step5、从Trace队列中查看时,包含此hash key且trace次数为0,于是采集本次请求的哈希值,并将Trace队列中,此hash key的被再次采集次数设为1,标识已经被再次采集过;
Step6、从Trace队列中查看,虽包含此hash key,但已被再次采集过,于是不再采集。
其中,在本发明的一个应用实例中,首次请求时,从Maps(散列图)中查看时显示的是未被采集过,那么此时开始采集,并在采集数据结束时,将此次采集的hash key记录在Maps中;第二次请求时,从Maps中查看时显示已被采集过,于是从Trace队列(跟踪队列)中再次查看是否应该被再次采集,如果Trace队列中未包含此hash key,则不再采集,请求结束后,判断此次请求响应时间是否大于设定的阈值(例如可以设定为默认500毫秒),如果大于,则将首次请求时采集的hash key记录在Trace队列中;第三次请求时,从Trace队列中查看时,包含此hash key且trace次数为0,于是开始采集,采集结束后,将Trace队列中,此hash key的再次采集次数设为1,标识已经被再次采集过;第四次请求,从Trace队列中查看,虽包含此hash key,但已被再次采集过,于是不再采集。
通过上述方法,本发明中的数据采样算法既可以充分覆盖所有URI的请求,又可以保证在出现响应慢的请求时被及时关注,由此即可以保证在不漏掉任何URI请求的前提下,有效降低对原有应用的性能影响。
本发明的应用性能管理方法,使得用户可以在不修改任何原应用代码的基础上,即可方便地将采集扩展放入PHP底层运行引擎中,并根据采集的数据得知其性能瓶颈。
下面以本发明的一个应用实例对本发明作进一步描述(虽然本实施是基于LAMP架构进行的描述,但是,本领域技术人员可以理解的是,对于本发明而言,由于LNAMP与LAMP架构并无本质区别,因此本发明亦可以应用于LNAMP架构)。
参见图3,该应用实例的完整拓扑结构图(LAMP:Linux Apache Mysql PHP),其包括:2个Apache实例(负载均衡),2个PHP实例(作为libphp5.so),由6个Mysql组成的Mysql集群以及由3个Redis实例组成的Redis集群,其中,本发明通过Apache模块的插装,产生request header并通过链式append标识发现Apache与PHP实例的关系,并由从PHP插件取得的数据中,发现Mysql集群与Redis集群的连接与关系。
参见图4,应用中的单次请求的拓扑结构图,其中,本次请求中,终端用户通过浏览器打开URL并由Apache响应,Apache接到请求后由PHP进行处理,在PHP处理请求过程中,分别连接Redis集群中的一个具体Redis实例与Mysql集中的两个具体Mysql实例。
其中,本发明的方法对应用中单次请求所执行的SQL语句分析如下表1所示:
其中,本发明的方法对应用中单次请求的代码运行堆栈分析如下表2所示:
表2
其中,结合参见图5,本发明的方法对应用中单次请求的最慢元素分析如下表3所示(其中,百分比指当前方法的执行时长/此次请求所有方法执行时长):
表3
序号 | 最慢元素 | 执行次数 | 持续时长 | 百分比 |
1 | ModelAbstract:select | 7 | 2925.58ms | 61.56% |
2 | DataBase:selectInfo | 7 | 2925.3ms | 61.56% |
3 | Run_init::htdocs/page_common.php | 1 | 2853.31ms | 60.04% |
4 | Base::__load_file | 4 | 2833.78ms | 59.63% |
5 | Run_init::libcommon/Base.page.php | 1 | 2830.53ms | 59.56% |
综上所述可知,该应用实例中依据本发明的方法可以根据需要采集多项指标数据,而不需修改原应用代码。
接下来,本发明的方法对该应用实例的最慢事务分析如下表4所示:
本发明的方法对该应用实例的最慢方法分析如下表5所示:
表5
综上所述可知,该应用实例中,依据本发明方法得知,其性能瓶颈在于SQL语句未合理使用cache优化、admin_wait_task.php等事务执行响应时间超长、outputThumb等方法执行响应时间超长等特定步骤中。由此可知,本发明可以从大量数据中实时、准确地分析出最慢事务、最慢SQL、最慢方法等数据,从而精确地找到性能瓶颈。
Claims (15)
1.一种基于PHP的应用性能管理方法,其特征在于,其包括:
在PHP的语法解析、解析成Opcode和/或交由Zend引擎执行Opcode的时机,同步地将用户应用的原代码映射到一块内存,并异步地将这块内存中的数据进行处理来取得供APM使用的数据,其包括如下步骤:
S1、内存预申请,以得到一块内存;
S2、同步地将应用的原代码映射到步骤S1预申请的内存;
S3、对步骤S2得到的内存中的数据异步计算、筛选,以取得供APM使用的数据,
其中,步骤S1是通过调用MINIT钩子函数来完成的,MINIT钩子函数用于配置变量初始化、内存预申请、CPU检测与绑定,
步骤S2是通过调用RINIT钩子函数来完成的,RINIT钩子函数用于请求初始化、head头检测、采集开关判定、变量产生与绑定,
步骤S3是通过调用RSHUTDOWN钩子函数来完成的,RSHUTDOWN钩子函数用于数据异步计算、筛选、发送。
2.如权利要求1所述的基于PHP的应用性能管理方法,其特征在于,分析取得的供APM使用的数据包括下列中的任一种或任几种或全部:类、方法运行堆栈,每个类方法的运行时间、运行参数、运行内存信息。
3.如权利要求1所述的基于PHP的应用性能管理方法,其特征在于,内存中的数据的取得方法包括如下步骤:
步骤一、全部或部分请求通过hash算法,取得当前URI的hash key;
步骤二、判断请求是否为首次访问,若是,则执行步骤三,若否,则执行步骤四;
步骤三、开始追踪本次请求,采集本次请求的哈希值,并将此次采集的哈希值记录在散列图中;
步骤四、判断是否允许追踪,若否,则执行步骤五,若是,则执行步骤六;
步骤五、不追踪,并于本次请求结束后,判断是否将本次请求采集的哈希值记录在Trace队列中;
步骤六、判断是否已经实施过追踪,若是,则不追踪,若否,则执行步骤七;
步骤七、启动追踪,并将被追踪的次数记录于Trace队列中。
4.如权利要求1所述的基于PHP的应用性能管理方法,其特征在于:
还包括步骤S4、步骤S3之后销毁内存。
5.如权利要求4所述的基于PHP的应用性能管理方法,其特征在于,步骤S4是通过调用MSHUTDOWN钩子函数来完成的。
6.如权利要求5所述的基于PHP的应用性能管理方法,其特征在于,MSHUTDOWN钩子函数用于内存销毁、资源关闭。
7.如权利要求1所述的基于PHP的应用性能管理方法,其特征在于:步骤S2中,原应用代码每加载一个类或执行一个方法,即在方法执行头与尾分别将运行过程映射到预申请的内存中,并分别标记时间与内存标记,并同时记录类与方法的调用栈。
8.如权利要求7所述的基于PHP的应用性能管理方法,其特征在于,步骤S3中,供APM使用的数据中包括下列信息中的任一种、任几种或全部:方法调用栈、每个方法所占用的CPU时间、运行时间、内存占用、内存峰值。
9.如权利要求1至8中任一项所述的基于PHP的应用性能管理方法,其特征在于:还包括根据取得的供APM使用的数据进行分析来找到PHP的性能瓶颈。
10.如权利要求9所述的基于PHP的应用性能管理方法,其特征在于:通过分析得出最慢事务、最慢SQL、最慢方法中的任一个或任几个或全部数据来找到PHP的性能瓶颈。
11.如权利要求9所述的基于PHP的应用性能管理方法,其特征在于:根据取得的供APM使用的数据和PHP应用的架构拓扑进行分析来找到PHP的性能瓶颈。
12.如权利要求11所述的基于PHP的应用性能管理方法,其特征在于:所述架构拓扑是基于多组请求拓扑数据形成的。
13.如权利要求12所述的基于PHP的应用性能管理方法,其特征在于,所述请求拓扑数据的产生方法为:当用户请求时,产生惟一的UUID,并通过request header传递给请求中调取的API接口,同时API接口接收到该UUID后,追加主机与请求时间,以此来追踪应用的请求拓扑。
14.如权利要求9所述的基于PHP的应用性能管理方法,其特征在于:可使用的架构包括但不限于LAMP(Linux Apache Mysql PHP)与LNAMP(Linux Nginx Apache Mysql PHP)。
15.一种基于PHP的应用性能管理模块,其特征在于,所述模块执行如权利要求1至14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510614224.6A CN106547531B (zh) | 2015-09-23 | 2015-09-23 | 基于php的应用性能管理方法及其模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510614224.6A CN106547531B (zh) | 2015-09-23 | 2015-09-23 | 基于php的应用性能管理方法及其模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106547531A CN106547531A (zh) | 2017-03-29 |
CN106547531B true CN106547531B (zh) | 2021-05-14 |
Family
ID=58365185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510614224.6A Active CN106547531B (zh) | 2015-09-23 | 2015-09-23 | 基于php的应用性能管理方法及其模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547531B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329755A (zh) * | 2017-06-29 | 2017-11-07 | 青岛华正信息技术有限公司 | 一种hzphp框架 |
CN111625342B (zh) * | 2020-06-07 | 2020-11-17 | 贵州正高科技有限公司 | 一种数据溯源方法、装置及服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122263A (zh) * | 2011-03-23 | 2011-07-13 | 成都勤智数码科技有限公司 | 一种java应用系统运行时监控方法和装置 |
CN103279712A (zh) * | 2013-05-28 | 2013-09-04 | 华为技术有限公司 | 增强系统安全性的方法、校验装置及安全系统 |
CN104158910A (zh) * | 2014-08-29 | 2014-11-19 | 金石易诚(北京)科技有限公司 | 一种云端Web应用自动化部署系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582584B2 (en) * | 2013-04-23 | 2017-02-28 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and system for filtering data of web page |
-
2015
- 2015-09-23 CN CN201510614224.6A patent/CN106547531B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122263A (zh) * | 2011-03-23 | 2011-07-13 | 成都勤智数码科技有限公司 | 一种java应用系统运行时监控方法和装置 |
CN103279712A (zh) * | 2013-05-28 | 2013-09-04 | 华为技术有限公司 | 增强系统安全性的方法、校验装置及安全系统 |
CN104158910A (zh) * | 2014-08-29 | 2014-11-19 | 金石易诚(北京)科技有限公司 | 一种云端Web应用自动化部署系统 |
Non-Patent Citations (1)
Title |
---|
"通过进程间通信技术与钩子技术实现数据采集";王胜春等;《电脑开发与应用》;20050930;第37-39页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106547531A (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9485317B2 (en) | Method and system for monitoring execution of user request in distributed system | |
US20160314064A1 (en) | Systems and methods to identify and classify performance bottlenecks in cloud based applications | |
CN111400186B (zh) | 性能测试方法及系统 | |
CN106021079A (zh) | 一种基于用户频繁访问序列模型的Web应用性能测试方法 | |
US10614500B2 (en) | Identifying search friendly web pages | |
CN106682036A (zh) | 一种数据交换系统及其交换方法 | |
CA3148489C (en) | Method of and device for assessing data query time consumption, computer equipment and storage medium | |
CN103246566A (zh) | 应用程序的资源监控方法及装置 | |
CN106547531B (zh) | 基于php的应用性能管理方法及其模块 | |
CN116016628A (zh) | 一种api网关埋点分析方法及装置 | |
US9442818B1 (en) | System and method for dynamic data collection | |
CN114238379A (zh) | 基于sql生成器的报表查询方法和系统 | |
CN113688022A (zh) | 浏览器性能监控方法、装置、设备和介质 | |
CN110069691B (zh) | 用于处理点击行为数据的方法和装置 | |
US9977836B2 (en) | Storing method and apparatus for data acquisition | |
CN110881030A (zh) | 基于logstash的记录web服务管理员操作日志的方法及装置 | |
US11816092B2 (en) | System and method for automatic application log messages grouping using logging framework code instrumentation | |
US7437716B1 (en) | Separation of data from metadata in a tracing framework | |
WO2015094300A1 (en) | Analyze code that uses web framework using local parameter model | |
CN110019448B (zh) | 一种数据交互方法及装置 | |
CN113742145A (zh) | 一种测试固态硬盘性能的方法、系统、设备和存储介质 | |
CN113448985A (zh) | 一种api接口生成方法、调用方法、装置及电子设备 | |
CN109728929B (zh) | 一种测试方法、装置及存储介质 | |
US8627294B1 (en) | Method and apparatus for synchronization in a multiplexed arbitrary-action tracing framework | |
CN111680200A (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 | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 083, 12 / F, Weiya building, 29 Suzhou street, Haidian District, Beijing 100080 Patentee after: Cloudwise (Beijing) Technology Co.,Ltd. Address before: 100081 Room 606, building 683, zone 2, No.5 Zhongguancun South Street, Haidian District, Beijing Patentee before: Cloudwise (Beijing) Technology Co.,Ltd. |