CN1760830A - 编程生成合成事务以监视web应用的性能和可用性的方法和系统 - Google Patents

编程生成合成事务以监视web应用的性能和可用性的方法和系统 Download PDF

Info

Publication number
CN1760830A
CN1760830A CN200510113563.2A CN200510113563A CN1760830A CN 1760830 A CN1760830 A CN 1760830A CN 200510113563 A CN200510113563 A CN 200510113563A CN 1760830 A CN1760830 A CN 1760830A
Authority
CN
China
Prior art keywords
cookie
unified resource
resource identifier
client
path
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.)
Granted
Application number
CN200510113563.2A
Other languages
English (en)
Other versions
CN100356321C (zh
Inventor
斯科特·S·迪克森
詹姆斯·N·克拉齐斯基
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1760830A publication Critical patent/CN1760830A/zh
Application granted granted Critical
Publication of CN100356321C publication Critical patent/CN100356321C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

以编程方式生成合成事务以监视WEB应用的性能和可用性的方法、设备和计算机指令。本发明的机制可以作为Java 2平台企业版(J2EE)事务来实现,其中,J2EE应用是用实时规范(JITI)进行规范的。JITI探测器判断客户请求对象是否包含cookie。如果不,则JITI探测器将cookie插入到响应对象中。cookie用于跟踪被客户访问的URI。一种算法用于基于cookie中的URI识别基线客户事务路径。然后,将所有客户的所有基线客户事务路径关联,以形成唯一事务,其中,唯一事务包括在Web应用中执行的最常见的任务。然后,可以通过以编程方式记录和调度唯一事务的播放,来监视Web应用。

Description

编程生成合成事务以监视WEB应用 的性能和可用性的方法和系统
技术领域
一般来说,本发明涉及一种改进的数据处理系统。具体来说,本发明涉及以编程方式生成合成事务以监视WEB应用的性能和可用性的方法、设备和计算机指令。
背景技术
性能监视常常用于优化软件在系统中的使用。一般而言,性能监视器被视为包括在处理器内的功能,以通过确定机器在特定时间点的状态来协助分析系统的所选择的特征。监视系统性能的一种方法是使用基于事务的视图来监视系统。如此,性能监视器可以通过跟踪事务的执行路径来查找发生问题的位置,从而可以了解最终用户体验。如此,最终用户的体验在判断系统是否正在提供所需要的服务时被考虑在内。
Tivoli Monitoring for Transaction PerformanceTM(下面简称为“TMTP”)是软件组件的集中管理的套件,这些组件监视基于Web服务和操作系统应用的可用性和性能。TMTP捕获所有电子商务事务的详细事务和应用性能数据。利用TMTP,在客户事务穿过主机阵列、系统、应用、Web和代理服务器、Web应用服务器、中间件、数据库管理软件,以及遗留事务(back-office)软件时,客户事务的每一步骤可以被监视,性能特征数据被编译并存储在数据知识库中,进行历史分析和长期计划。可以编译此数据以便测试系统的性能的一种方式是模拟客户事务并收集“假设分析”性能数据,以帮助评估电子业务组件和配置的健康。当检测到性能问题时,TMTP提供提示和关于这些性能问题的自动通知。
利用TMTP,电子商务所有者可以有效地测量在不同条件下以及在不同的时间用户对电子商务的体验。最重要的是,电子商务所有者可以在发生性能和可用性问题时查找出这些性能和可用性问题的来源,以便在这些问题产生代价较大的故障和收入损失之前可以校正这些问题。
当客户需要确保他们的Web站点可用并符合性能目标时,TMTP允许用户以人工方式记录和播放在他们的Web站点上发生的商务事务。当TMTP允许记录/播放商业事务以确定事务被电子商务的各种元件处理的方式,要使用这样的手动记录,要求用户理解他们的客户进入他们的Web站点所采取的共同路径。即,当TMTP允许用户记录/播放商务事务,在TMTP中没有分析客户的访问Web站点的路径,并使用此信息并结合TMTP产品线以便建议并自动产生记录的商业事务的播放的机制。
因此,具有用于动态地生成商务事务记录并以编程方式调度播放以便自动确定共同的商务事务的边界并判断这些事务是否符合性能和可用性要求的机制是有益的。
发明内容
本发明提供了以编程方式生成合成事务以监视WEB应用的性能和可用性的方法、设备和计算机指令。本发明的机制可以作为Java2平台企业版(J2EE)事务来实现,其中,J2EE应用是用运行时实时规范(JITI)进行规范的。当从客户接收到请求对象时,JITI探测器判断请求对象是否包含cookie。如果不,则JITI探测器将cookie插入到响应对象中。cookie用于跟踪被客户访问的URI。一种算法用于基于cookie中的URI识别基线客户事务路径。然后,将所有客户的所有基线客户事务路径关联,以形成唯一合成事务,其中,唯一事务包括在Web应用中执行的最常见的任务。然后,可以通过以编程方式记录和调度唯一事务的播放,来监视Web应用。
附图说明
在所附的权利要求中阐述了本发明的新颖的特征。然而,本发明本身,以及优选的使用模式,进一步的目标和优点,通过参考对说明性的实施例的详细描述并参考附图,将得到最好的理解,其中:
图1是其中可以实现本发明的分布式数据处理系统的示范性图表;
图2是可以用来向本发明的元件发送事务的服务器计算设备的示范性图表;
图3是在其上可以实现本发明的元件的客户端计算设备的示范性图表;
图4是根据本发明的电子商务系统的示意图;
图5是显示了本发明的主要运算元件的示范性图表;以及
图6是概述了根据本发明的优选实施例的以编程方式生成合成事务以监视WEB应用的性能和可用性的示范性操作的流程图。
具体实施方式
现在参考附图,图1描述了在其中可以实现本发明的数据处理系统的网络的图形表示。网络数据处理系统100是在其中可以实现本发明的计算机网络。网络数据处理系统100包含网络102,该网络是用来在网络数据处理系统100内连接在一起的各个设备和计算机之间提供通信链路的媒介。网络102可以包括诸如有线、无线通信链路或光纤电缆之类的连接。
在所描述的示例中,服务器104与存储单元106一起连接到网络102。此外,客户端108、110和112也连接到网络102。这些客户端108、110和112可以是个人计算机或网络计算机。在所描述的示例中,服务器104为客户端108-112提供诸如启动文件、操作系统映像和应用之类的数据。客户端108、110和112是服务器104的客户端。网络数据处理系统100可以包括更多的服务器、客户端,及其他未显示的设备。在所描述的示例中,网络数据处理系统100是因特网,网络102表示全世界的网络和网关的集合,它们使用传输控制协议/Internet协议(TCP/IP)协议套件彼此进行通信。因特网的核心是主节点或主机计算机之间的高速数据通信线路构成的主干网,包括成千上万的商业、政府、教育及其他路由数据和消息的计算机系统。当然,网络数据处理系统100还可以作为许多不同类型的网络来实现,例如,内部网、局域网(LAN)或广域网(WAN)。图1只作为示例,而不对本发明的体系结构作出限制。
请参看图2,根据本发明的优选实施例,描述了可以作为服务器(如图1中的服务器104)实现的数据处理系统的方框图。数据处理系统200可以是包括连接到系统总线206的多个处理器202和204的对称多处理器(SMP)系统。或者,也可以使用单处理器系统。与系统总线206相连接的还有内存控制器/高速缓存208,它提供了到本地内存209的接口。I/O总线桥路210连接到系统总线206,并提供到I/O总线212的接口。如本文所述,内存控制器/高速缓存208和I/O总线桥路210也可以集成在一起。
连接到I/O总线212的外围组件互连(PCI)总线桥路214提供了到PCI本地总线216的接口。许多调制解调器可以连接到PCI本地总线216。典型的PCI总线实现方式将支持四个PCI扩展槽或插入式连接器。到图1中的客户端108-112的通信链路可以利用通过插入式连接器连接到PCI本地总线216的调制解调器218和网络适配器220来提供。
更多的PCI总线桥路222和224为更多的PCI本地总线226和228提供了接口,从这些接口,可以支持更多的调制解调器或网络适配器。如此,通过数据处理系统200,可以连接到多个网络计算机。如文本所描述的,内存映射图形适配器230和硬盘232也可以直接或间接地连接到I/O总线212。
那些精通本技术的普通人员将认识到,图2所描述的硬件可以不同。例如,除了所描述的硬件,也可以使用诸如光盘驱动器之类的其他外围设备,或者代替所描述的硬件。所描述的示例不对本发明的体系结构作出限制。
图2中所描述的数据处理系统可以是,运行高级交互执行(AIX)操作系统或LINUX操作系统的IBM eServer pSeries系统,该系统是位于纽约Armonk的IBM公司的产品。
现在参考图3,该图描述了说明在其中可以实现本发明的数据处理系统的方框图。数据处理系统300是客户计算机的一个示例。数据处理系统300使用外围组件互连(PCI)本地总线体系结构。虽然所描述的示例使用了PCI总线,但是也可以使用诸如加速图形端口(AGP)和工业标准体系结构(ISA)之类的其他总线体系结构。处理器302和主内存304通过PCI桥路308连接到PCI本地总线306。PCI桥路308还可以包括集成的内存控制器和处理器302的高速缓冲存储器。到PCI本地总线306的更多的连接可以通过直接组件互连或通过插入式电路板进行。在所描述的示例中,局域网(LAN)适配器310、SCSI主机总线适配器312和扩展总线接口314通过直接组件连接而连接到PCI本地总线306。与此对比,音频适配器316、图形适配器318和音频/视频适配器319通过插入到扩展槽中的插入式电路板连接到PCI本地总线306。扩展总线接口314为键盘和鼠标适配器320、调制解调器322和更多的存储器324提供了连接。小型计算机系统接口(SCSI)主机总线适配器312为硬盘驱动器326、磁带驱动器328和光盘驱动器330提供了连接。典型的PCI本地总线实现方式将支持三个或四个PCI扩展槽或插入式连接器。
操作系统在处理器302上运行,并用于协调和提供对图3中的数据处理系统300内的各个组件的控制。操作系统可以是诸如Microsoft Corporation所推出的Windows XP之类的市场上可买到的操作系统。诸如Java之类的面向对象的编程系统可以与操作系统一起运行,并提供从在数据处理系统300上执行的Java程序或应用对操作系统的调用。“Java”是Sun Microsystems,Inc.的商标。操作系统、面向对象的编程系统和应用或程序的指令位于诸如硬盘驱动器326之类的存储设备上,并可以加载到主存储器304中以供处理器302执行。
那些精通本技术的普通人员将认识到,图3中的硬件可以随实现方式不同而不同。除了图3中所描述的硬件之外,还可以使用诸如flash只读存储器(ROM)、等效的非易失性存储器或光盘驱动器之类的其他内部硬件或外围设备,或代替它们。此外,本发明的进程还可以应用于多处理器数据处理系统。
作为另一个示例,数据处理系统300可以是被配置为不依赖于某种类型的网络通信接口,都可以启动的独立系统。作为另一个示例,数据处理系统300可以是个人数字助理(PDA)设备,该个人数字助理配置了ROM和/或flash ROM,以便提供非易失性存储器,用于存储操作系统文件和/或用户生成的数据。
图3中所描述的示例和上文描述的示例不对本发明的体系结构作出限制。例如,除PDA的形式之外,数据处理系统300还可以是笔记本电脑或手持式计算机。数据处理系统300还可以是电话亭或Web设施。
诸如服务器104之类的一个或多个服务器可以提供电子商务的Web服务,以便让诸如客户端108、110和112之类的客户端设备进行访问。利用本发明,提供了事务性能监视系统,用于监视Web服务器和其企业后端系统的组件的性能,以便提供代表处理事务时的企业商务的性能的数据。
在本发明的一个示范性实施例中,此事务性能监视系统可以是IBM Tivoli Monitoring for Transaction PerformanceTM(TMTP),该系统测量和编译事务性能数据,包括企业系统内的各种组件的事务处理时间、生成的错误消息等等。
本发明允许确定Web站点上的最常见的商务事务的边界,使用此信息确保Web站点可用并符合性能目标。本发明建立于现有的事务性能监视系统上,以提供以编程方式生成合成事务以监视WEB应用的性能和可用性的分析机制。如此,本发明的机制允许分析客户的访问Web站点的路径,并使用此信息,以便建议并自动产生记录的商务事务的播放。
具体来说,本发明的机制使用实时规范(JITI)动态地将cookie插入到由TMTP应用监视的Web站点。可以使用JITI探测器截取对应用的调用,并判断客户请求对象是否已经包含cookie。如果在请求对象中没有发现cookie,则JITI探测器将cookie插入到发送到客户浏览器的响应对象。使用这些cookie跟踪被客户访问的统一资源标识符(URI),然后存储在中心知识库中。
然后,可以对从cookie获得的信息,以及cookie传递到其中的所有URI进行分析,以判断当特定客户浏览Web站点时所采取的路径。一旦已经获取了多个客户路径,然后,可以将这些客户路径关联在一起,以确定这些客户通信模式的最小公分母,或“全局事务路径”。换句话说,基于遍历特定路径的客户数量,给每一个路径指定相对权重,这些权重可以用来识别在Web站点上执行的最常见的任务。
一旦识别了全局事务路径,可以将路径分为多个单独的商务事务。这些唯一商务事务包括具有特定参数子集的特定序列中的URI列表。从这些唯一事务可以动态地产生商务事务的记录。此外,这些记录可以用来以编程方式计划这些唯一事务的播放,以自动确保这些客户事务符合性能和可用性要求。如此,在客户商务事务中与可用性和性能相关的问题可以引起系统管理员的注意,以便帮助解决企业系统中的问题。
此外,可以向系统管理员显示这些事务,以供确认,或以编程方式调度由播放代理进行播放。也可以自动设置可用性违反的阈值,以便如果有任何HTTP响应代码发送到客户,则引发事件,以给系统管理员提出警告。同样,通过累加为事务列表中的每一个URI接收到的平均响应时间,动态地创建超过这些响应时间以上的某用户指定的百分比的阈值,可以推断性能违反的阈值。
此外,还可以通过对Web站点上的使用模式的分析,确定合成事务播放的频率和时间。例如,如果在7:00和8:00之间最频繁地发生某一商务事务,则可以以编程方式调度合成事务播放以在5:00-7:00之间执行。利用这种类型的信息调度事务播放作业的优点是,在客户事实上尝试他们的商务关键事务之前,它可以充当预警系统。使用对Web站点上的使用模式的分析来调度播放作业的另一个优点是,播放将不会使实际客户事务减慢,因为在大多数客户事务命中Web站点之前播放作业将停止。此外,分析特定用户模式的频率可以将商务事务进行优先次序的排列,从而可以帮助确定多长时间计划一次播放。
现在请参看图4,该图显示了根据已知的事务性能监视体系结构的电子商务系统的示范性图表。客户端设备420-450可以与Web服务器410进行通信,以便可以访问由后端企业计算系统资源460提供的服务。提供TMTP系统470,用于监视由Web服务器410和企业计算系统资源460对事务进行的处理。
Web服务器410、企业计算系统资源460和TMTP系统470是企业系统的组成部分。客户端设备420-450可以通过Web服务器410向企业系统提交请求,从而创建事务。事务是由Web服务器410和企业计算系统资源460进行处理的,在对事务进行处理时,TMTP系统470监视Web服务器410和企业计算系统资源460的性能。
这种性能监视涉及收集和存储有关Web服务器410和企业计算系统资源460的各种组件的性能参数的数据。例如,对性能的监视可以涉及收集和存储有关特定组件处理事务所花费的时间量、SQL查询、包括Java虚拟机(JVM)中的类别名和实例id的组件信息,存储器使用统计信息、JVM的状态的任何属性、JVM的组件的属性,和/或一般来说系统的属性的信息。
Web服务器410和企业计算系统资源460的组件可以包括硬件和软件组件。例如,组件可以包括主机系统、JAVA Server Page、servlet、实体beans、企业JAVA Beans,以及数据连接等等。每一个组件都可以具有其自己性能特征集,这些性能特征可以由TMTP系统470进行收集和存储,以便获得关于企业系统如何处理事务的指示。有关TMTP系统470收集性能数据、将其存储起来,并使用它生成报告和事务图形数据结构的方式的更多信息可以从应用响应测量(ARM)规范,版本4.0获得,在此引用了该规范。
图5是显示事务图形数据结构的图形用户界面表示形式的示范性图表。图形数据结构表示500包括代表企业系统520的通过其可以对事务进行处理的各种组件的多个节点510。节点510代表各种组件,包括客户端设备和因特网主机系统的浏览器(显示为在企业系统520的外部)、JAVA Server Page、servlet、实体beans、企业JAVABeans,以及数据连接(显示为在企业系统520的外部)。节点510之间的箭头代表在对事务进行处理时从组件到组件的数据流。
可以提供与企业系统组件的每一个图标表示关联的各种指示符。这些指示符可以用来识别需要保证引起系统管理员的更大的注意的组件。例如,这些指示符可以识别其中收集到的性能数据指出错误、低于可以接受的性能、潜在的瓶颈等等的组件。
现在请看图6,该图显示了概述了根据本发明的优选实施例的以编程方式生成合成事务以监视WEB应用的性能和可用性的示范性操作的流程图。图6中显示的过程可以在诸如图2中的数据处理系统200之类的数据处理系统中作为Java 2平台企业版(J2EE)事务来实现。在此说明性示例中,J2EE应用是用运行时实时规范(JITI)进行规范的。此规范允许在不发生应用中断的情况下集中收集对操作人员有意义的数据。
该过程以客户请求Web站点上的页面开始(步骤602)。例如,客户希望查看Web站点中的页面,并向J2EE应用发送HTTPRequest对象。如果J2EE应用用JITI进行规范,则粘接到HTTP servlet的JITI探测器可以判断由客户的浏览器发送的HTTPRequest对象是否包含cookie(步骤604)。JITI探测器是插入在可自定义入口点URI中的程序,以便监视或收集关于商务事务的数据。
例如,JITI探测器可以截取对J2EE应用的调用,并检查客户请求,以查看是否存在cookie。如果发现cookie,则过程跳到下面的步骤608。如果没有发现cookie,则JITI探测器生成唯一cookie,并动态地将其插入到servlet的HTTPResponse对象(步骤606)。cookie被用来跟踪由客户访问的统一资源标识符(URI),基于访问的URI,增大cookie值。例如,随着客户浏览J2EE应用,客户的浏览器将插入的cookie发送回客户访问的所有监视的URI。随着客户访问Web站点上的其他URI,被监视的URI上的每一个随后的命中,增大cookie值。可以将每一个URI和cookie值上传到中心知识库,其中,按照客户访问Web站点页面的顺序,编译cookie访问过的URI的列表。
接下来,对于特定客户,识别基线客户事务路径(步骤608)。可以使用最短路径算法执行此步骤。例如,基线客户路径包含URI的最小数量,以描述客户的商务事务。在每一个cookie的URI的列表内执行该算法。由于具有GET或POST参数密钥的唯一集合的每一个URI都被视为唯一URI,多个参数值被视为等效,因此,从用户访问的第一个URI到最后一个URI,执行每一个cookie的最短路径算法,每一个URI的所有权重都设置为1。如此,最短路径算法将URI的列表缩短到客户的“基事务”。
例如,如果客户的事务路径类似于:
A->B->A->B->C,
最短路径算法将客户的事务路径缩短到:
A->B->C。
接下来,可以将识别的基事务路径关联为全局事务路径(步骤610)。为创建全局事务路径,将所有客户的单个的基事务路径关联在一起,基于遍历此路径的用户的数量,给每一个路径指定相对权重。通过将最长路径或关键路径算法应用到全局事务路径,可以去除可选步骤。
例如,大多数客户以下列方式浏览Web站点:
A->B->C
而其他客户以不同方式浏览Web站点:
A->B->D->C。
由于大多数客户遍历B->C路径,B->C线路的权重大于B->D->C线路的权重。因此,全局事务路径将是:
A->B->C。
接下来,将全局事务路径分为多个单独的商务事务,以识别唯一合成事务(步骤612)。通过首先识别每一个客户的cookie列表中的最后一个URI,可以执行此步骤。一旦识别了所有这些最后一个URI,统计每一个URI的数量,以确定每一个URI的“退出计数”。“退出计数”可以识别多少客户在特定URI结束他们的事务。换句话说,如果50个客户从节点E退出Web站点,则节点E的退出计数为50。如此,全局事务路径中的每一个节点都可以用“退出计数”进行标记。
当识别可自定义入口点URI时,用户可以设置自动生成的唯一事务的数量。例如,如果节点A为入口点,并且用户希望自动生成三个唯一事务,识别具有最高退出计数的三个节点,将全局事务路径分为两个编程事务。
例如,如果全局事务路径类似于下列路径,其中,顶部上的数字为在每一个节点退出的用户的数量:
(200)(150)(30)(200)(20)(100)
A->B->C->E->F->G
用户请求由此路径派生出三个事务,以编程方式生成的唯一事务如下:
A->B
A->B->C->E
A->B->C->E->F->G
由于节点B、E和G包含三个最高退出计数,生成的唯一事务根据用户的请求反映了这些统计。请注意,虽然节点A包含其中一个最高退出计数,由于只有多个URI事务对用户有意义,当生成唯一事务时,忽略A-only事务。
一旦识别了唯一事务,此信息可以用来以编程方式记录和播放唯一事务(步骤614)。可以执行唯一事务的动态地生成的记录,然后,可以使用这些记录以编程方式以调度的间隔播放唯一事务,以帮助识别和解决企业系统中的问题。
此外,可以分析Web站点上的使用模式,以确定何时和多长时间一次调度合成事务播放。利用使用模式调度事务播放作业的优点是,在客户事实上尝试他们的商务关键事务之前,它可以充当预警系统。播放将不会使实际客户事务减慢,因为可以调度播放作业在大多数客户事务命中Web站点之前停止。此外,分析特定用户模式的频率可以通过帮助确定多长时间计划一次播放来将商务事务进行优先次序的排列。
此外,也可以自动设置可用性违反的阈值,以便如果有任何HTTP响应代码发送到客户,则引发事件,以给系统管理员提出警告。同样,通过累加为事务列表中的每一个URI接收到的平均响应时间,动态地创建超过这些响应时间以上的某用户指定的百分比的阈值,可以推断性能违反的阈值。
如此,本发明提供了以编程方式生成合成事务以监视WEB应用的性能和可用性的方法、设备和计算机指令。本发明通过提供新的和改善的功能以允许分析客户的访问Web站点的路径,并使用此信息,以便建议并自动产生记录的商务事务的播放,而优于当前的事务监视系统。这些记录可以用来以编程方式计划这些唯一事务的播放,以自动确保这些客户事务符合性能和可用性要求。如此,在客户商务事务中与可用性和性能相关的问题可以引起系统管理员的注意,以便帮助解决企业系统中的问题。
值得注意的是,尽管是在完全运转的数据处理系统的上下文中描述本发明的,那些精通本技术的普通人员将认识到,本发明的进程能够以存储了指令的计算机可读的介质的形式和各种各样的形式进行分发,本发明同样适用,不管实际用于进行分发的承载信号的介质的特定类型是什么。计算机可读的介质的示例包括可记录类型的介质,如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM、传输类型的介质,例如使用诸如射频和光波传输的传输形式的数字和模拟通信链路、有线或无线通信链路。计算机可读的介质可以采取编码格式的形式,这些编码在特定数据处理系统中实际使用时被解码。
本发明的说明书只作说明,而不是详尽的说明或限于所说明的形式。那些精通本技术的普通人员将认识到,可以进行许多修改。所选择的实施例只是为了最好地说明本发明的原理,实际应用,并使精通本技术的其他人懂得,带有各种修改的各种实施例也是可以接受的。

Claims (45)

1.一种以编程方式生成合成事务以便在监视WEB应用的性能和可用性时使用的方法,包括:
响应请求对象不包含cookie的判断,动态地将cookie插入到响应对象中,其中,cookie被用来跟踪由客户访问的统一资源标识符;
基于cookie中的统一资源标识符,识别Web应用的基线客户事务路径;
将基线客户事务路径与其他客户的基线事务路径关联以形成全局事务路径;以及
从全局事务路径生成唯一合成事务,其中,唯一合成事务包括在Web应用中执行的最常见的任务。
2.根据权利要求1所述的方法,进一步包括通过以编程方式记录和调度唯一合成事务的播放来监视Web应用的性能的步骤。
3.根据权利要求1所述的方法,进一步包括:
从唯一合成事务中去除可选事务,其中,可选事务包括在Web应用中执行的最常见的任务之外的任务。
4.根据权利要求1所述的方法,其中,cookie被发送到由同一个Web应用中的客户访问的其他统一资源标识符。
5.根据权利要求1所述的方法,其中,随着同一个Web应用中的统一资源标识符的每一个随后的命中,cookie的值增大。
6.根据权利要求1所述的方法,其中,请求对象是超文本传输协议请求对象。
7.根据权利要求1所述的方法,其中,实时规范探测器用来截取对Web应用的调用,并判断请求对象是否包含cookie。
8.根据权利要求1所述的方法,其中,cookie包含统一资源标识符的列表,其中,按照客户访问Web应用中的页面的顺序,对统一资源标识符进行编译。
9.根据权利要求1所述的方法,其中,使用最短路径算法识别基线客户事务路径。
10.根据权利要求9所述的方法,其中,最短路径算法是从客户访问的第一个统一资源标识符到最后一个统一资源标识符来执行的。
11.根据权利要求9所述的方法,其中,最短路径算法通过将每一个统一资源标识符的所有权重都设置为1来确定描述客户的事务路径的统一资源标识符的最小数量。
12.根据权利要求1所述的方法,其中,唯一合成事务路径是通过基于遍历此路径的用户数量将相对权重指定到每一个客户事务路径来确定的。
13.根据权利要求1所述的方法,其中,通过识别每一个cookie中的最后一个统一资源标识符,并统计识别的每一个统一资源标识符,以确定每一个统一资源标识符的退出计数,将全局事务路径分为多个单独的商务事务。
14.根据权利要求13所述的方法,其中,“退出计数”可以识别在特定统一资源标识符上结束其事务的客户的数量。
15.根据权利要求1所述的方法,其中,基于对Web应用上的使用模式的分析,调度唯一合成事务以便进行播放。
16.根据权利要求15所述的方法,其中,在客户尝试商务关键事务之前,使用对使用模式的分析以便调度播放的过程,来提供性能信息。
17.根据权利要求15所述的方法,其中,使用对使用模式的分析以便调度播放的过程,用于在最不影响客户事务的时间调度播放作业。
18.根据权利要求1所述的方法,进一步包括:
自动设置可用性违反的阈值;以及
如果将响应代码发送到客户,则将事件发送到系统管理员。
19.根据权利要求1所述的方法,进一步包括:
累加为事务列表中的每一个URI接收到的平均响应时间;以及
动态地创建超过平均响应时间以上的某用户指定的百分比的性能违反阈值。
20.一种以编程方式生成合成事务以便在监视WEB应用的性能和可用性时使用的数据处理系统,包括:
插入装置,用于响应请求对象不包含cookie的判断,动态地将cookie插入到响应对象中,其中,cookie被用来跟踪由客户访问的统一资源标识符;
识别装置,用于基于cookie中的统一资源标识符,识别Web应用的基线客户事务路径;
关联装置,用于将基线客户事务路径与其他客户的基线事务路径关联以形成全局事务路径;以及
生成装置,用于从全局事务路径生成唯一合成事务,其中,唯一合成事务包括在Web应用中执行的最常见的任务。
21.根据权利要求20所述的数据处理系统,进一步包括:
监视装置,用于通过以编程方式记录和调度唯一合成事务的播放,来监视Web应用的性能。
22.根据权利要求20所述的数据处理系统,进一步包括:
去除装置,用于从唯一合成事务中去除可选事务,其中,可选事务包括在Web应用中执行的最常见的任务之外的任务。
23.根据权利要求20所述的数据处理系统,其中,cookie被发送到由同一个Web应用中的客户访问的其他统一资源标识符。
24.根据权利要求20所述的数据处理系统,其中,随着同一个Web应用中的统一资源标识符的每一个随后的命中,cookie的值增大。
25.根据权利要求20所述的数据处理系统,其中,cookie包含统一资源标识符的列表,其中,按照客户访问Web应用中的页面的顺序,对统一资源标识符进行编译。
26.根据权利要求20所述的数据处理系统,其中,使用最短路径算法识别基线客户事务路径。
27.根据权利要求26所述的数据处理系统,其中,最短路径算法是从客户访问的第一个统一资源标识符到最后一个统一资源标识符来执行的。
28.根据权利要求20所述的数据处理系统,其中,唯一合成事务路径是通过基于遍历此路径的用户数量将相对权重指定到每一个客户事务路径来确定的。
29.根据权利要求20所述的数据处理系统,其中,通过识别每一个cookie中的最后一个统一资源标识符,并统计识别的每一个统一资源标识符,以确定每一个统一资源标识符的退出计数,将全局事务路径分为多个单独的商务事务。
30.根据权利要求20所述的数据处理系统,其中,基于对Web应用上的使用模式的分析,调度唯一合成事务以便进行播放。
31.根据权利要求20所述的数据处理系统,进一步包括:
设置装置,用于自动设置可用性违反的阈值;以及
发送装置,用于如果将响应代码发送到客户,则将事件发送到系统管理员。
32.根据权利要求20所述的数据处理系统,进一步包括:
累加装置,用于累加为事务列表中的每一个URI接收到的平均响应时间;以及
创建装置,用于动态地创建超过平均响应时间以上的某用户指定的百分比的性能违反阈值。
33.一种计算机可读取介质中的计算机程序产品,用于以编程方式生成合成事务以便在监视WEB应用的性能和可用性时使用,包括:
第一指令,用于响应请求对象不包含cookie的判断,动态地将cookie插入到响应对象中,其中,cookie被用来跟踪由客户访问的统一资源标识符;
第二个指令,用于基于cookie中的统一资源标识符,识别Web应用的基线客户事务路径;
第三指令,用于将基线客户事务路径与其他客户的基线事务路径关联以形成全局事务路径;以及
第四指令,用于从全局事务路径生成唯一合成事务,其中,唯一合成事务包括在Web应用中执行的最常见的任务。
34.根据权利要求33所述的计算机程序产品,进一步包括:
第五指令,用于通过以编程方式记录和调度唯一合成事务的播放,来监视Web应用的性能。
35.根据权利要求33所述的计算机程序产品,进一步包括:
第五指令,用于从唯一合成事务中去除可选事务,其中,可选事务包括在Web应用中执行的最常见的任务之外的任务。
36.根据权利要求33所述的计算机程序产品,其中,cookie被发送到由同一个Web应用中的客户访问的其他统一资源标识符。
37.根据权利要求33所述的计算机程序产品,其中,随着同一个Web应用中的统一资源标识符的每一个随后的命中,cookie的值增大。
38.根据权利要求33所述的计算机程序产品,其中,cookie包含统一资源标识符的列表,并且按照客户访问Web应用中的页面的顺序,对统一资源标识符进行编译。
39.根据权利要求33所述的计算机程序产品,其中,使用最短路径算法识别基线客户事务路径。
40.根据权利要求39所述的计算机程序产品,其中,最短路径算法是从客户访问的第一个统一资源标识符到最后一个统一资源标识符来执行的。
41.根据权利要求33所述的计算机程序产品,其中,唯一合成事务路径是通过基于遍历此路径的用户数量将相对权重指定到每一个客户事务路径来确定的。
42.根据权利要求33所述的计算机程序产品,其中,通过识别每一个cookie中的最后一个统一资源标识符,并统计识别的每一个统一资源标识符,以确定每一个统一资源标识符的退出计数,将全局事务路径分为多个单独的商务事务。
43.根据权利要求33所述的计算机程序产品,其中,基于对Web应用上的使用模式的分析,调度唯一合成事务以便进行播放。
44.根据权利要求33所述的计算机程序产品,进一步包括:
第五指令,用于自动设置可用性违反的阈值;以及
第六指令,用于如果将响应代码发送到客户,则将事件发送到系统管理员。
45.根据权利要求33所述的计算机程序产品,进一步包括:
第五指令,用于累加为事务列表中的每一个URI接收到的平均响应时间;以及
第六指令,用于动态地创建超过平均响应时间以上的某用户指定的百分比的性能违反阈值。
CNB2005101135632A 2004-10-14 2005-10-13 编程生成合成事务以监视web应用的性能和可用性的方法和系统 Expired - Fee Related CN100356321C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/965,214 2004-10-14
US10/965,214 US7624176B2 (en) 2004-10-14 2004-10-14 Method and system for programmatically generating synthetic transactions to monitor performance and availability of a web application

Publications (2)

Publication Number Publication Date
CN1760830A true CN1760830A (zh) 2006-04-19
CN100356321C CN100356321C (zh) 2007-12-19

Family

ID=36182106

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101135632A Expired - Fee Related CN100356321C (zh) 2004-10-14 2005-10-13 编程生成合成事务以监视web应用的性能和可用性的方法和系统

Country Status (2)

Country Link
US (1) US7624176B2 (zh)
CN (1) CN100356321C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750471A (zh) * 2013-12-30 2015-07-01 上海格尔软件股份有限公司 一种基于浏览器的web页面性能检测与采集分析插件以及方法
CN105637488A (zh) * 2013-09-30 2016-06-01 慧与发展有限责任合伙企业 追踪源代码用于末端用户监控

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2875616B1 (fr) * 2004-09-20 2012-11-30 Weborama Procede et systeme exploitant le codage de cookie pour repartir des informations relatives a des internautes
US7552212B2 (en) * 2004-10-22 2009-06-23 International Business Machines Corporation Intelligent performance monitoring based on user transactions
US8117591B1 (en) 2005-01-07 2012-02-14 Interactive TKO, Inc. Graphical model for test case viewing, editing, and reporting
US9122715B2 (en) 2006-06-29 2015-09-01 International Business Machines Corporation Detecting changes in end-user transaction performance and availability caused by changes in transaction server configuration
US7970857B2 (en) * 2007-05-18 2011-06-28 Red Hat, Inc. Method and an apparatus to record web transactions using a proxy server
US7809525B2 (en) * 2007-07-31 2010-10-05 International Business Machines Corporation Automatic configuration of robotic transaction playback through analysis of previously collected traffic patterns
US9558097B2 (en) * 2007-11-13 2017-01-31 Red Hat, Inc. Automated recording and playback of application interactions
US8234393B2 (en) * 2007-11-16 2012-07-31 Red Hat, Inc. Generic network protocol scripting
US20090276856A1 (en) * 2007-11-26 2009-11-05 International Business Machines Corporation License management facility
US8849944B2 (en) * 2007-11-27 2014-09-30 Red Hat, Inc. Multi-use application proxy
US20090177692A1 (en) * 2008-01-04 2009-07-09 Byran Christopher Chagoly Dynamic correlation of service oriented architecture resource relationship and metrics to isolate problem sources
US8515994B2 (en) * 2008-06-12 2013-08-20 International Business Machines Corporation Reaching resource neighborhoods
US7526554B1 (en) * 2008-06-12 2009-04-28 International Business Machines Corporation Systems and methods for reaching resource neighborhoods
US9111019B2 (en) * 2008-09-30 2015-08-18 Interactive TKO, Inc. Modeling and testing interactions between components of a software system
US8893156B2 (en) * 2009-03-24 2014-11-18 Microsoft Corporation Monitoring of distributed applications
US8635334B2 (en) * 2009-12-10 2014-01-21 Riverbed Technology, Inc. Web transaction analysis
JP5644642B2 (ja) * 2011-04-07 2014-12-24 富士通株式会社 コード変換方法、装置、プログラム、およびリクエストの残り時間応答方法
US9590879B2 (en) * 2012-03-21 2017-03-07 Tier 3, Inc. Cloud application scaling framework
EP2828742A4 (en) 2012-03-22 2016-05-18 Tier 3 Inc SUPPLY IN FLEXIBLE MEMORY
CN103218269B (zh) * 2013-03-22 2015-10-28 北京飞流九天科技有限公司 应用软件评分方法及系统
US10289539B1 (en) * 2013-09-18 2019-05-14 Amazon Technologies, Inc. Performance testing in a software deployment pipeline
CN104579754B (zh) * 2014-12-18 2018-01-26 国云科技股份有限公司 一种统计Web应用用户访问时间特性的方法
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US10554626B2 (en) 2017-11-29 2020-02-04 International Business Machines Corporation Filtering of authenticated synthetic transactions
US11916996B1 (en) 2023-06-29 2024-02-27 International Business Machines Corporation Transactional readiness probe

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974572A (en) 1996-10-15 1999-10-26 Mercury Interactive Corporation Software system and methods for generating a load test using a server access log
US6286046B1 (en) * 1997-12-22 2001-09-04 International Business Machines Corporation Method of recording and measuring e-business sessions on the world wide web
US6587969B1 (en) 1998-06-22 2003-07-01 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server
US6317787B1 (en) 1998-08-11 2001-11-13 Webtrends Corporation System and method for analyzing web-server log files
US6631411B1 (en) 1998-10-12 2003-10-07 Freshwater Software, Inc. Apparatus and method for monitoring a chain of electronic transactions
US6374359B1 (en) 1998-11-19 2002-04-16 International Business Machines Corporation Dynamic use and validation of HTTP cookies for authentication
US6374300B2 (en) * 1999-07-15 2002-04-16 F5 Networks, Inc. Method and system for storing load balancing information with an HTTP cookie
JP4729218B2 (ja) * 1999-11-12 2011-07-20 ビーエムシー ソフトウェア インコーポレイテッド インターネットを介した定義済みパスを再生するシステムおよび方法
US6477483B1 (en) 2000-01-17 2002-11-05 Mercury Interactive Corporation Service for load testing a transactional server over the internet
US6701363B1 (en) 2000-02-29 2004-03-02 International Business Machines Corporation Method, computer program product, and system for deriving web transaction performance metrics
US20020065912A1 (en) * 2000-11-30 2002-05-30 Catchpole Lawrence W. Web session collaboration
US6654699B2 (en) 2000-12-29 2003-11-25 Microsoft Corporation Computer network testing system and method using client playback of edited network information
US7506047B2 (en) * 2001-03-30 2009-03-17 Bmc Software, Inc. Synthetic transaction monitor with replay capability
US7003565B2 (en) * 2001-04-03 2006-02-21 International Business Machines Corporation Clickstream data collection technique
US6789049B2 (en) * 2002-05-14 2004-09-07 Sun Microsystems, Inc. Dynamically characterizing computer system performance by varying multiple input variables simultaneously
US7076508B2 (en) * 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105637488A (zh) * 2013-09-30 2016-06-01 慧与发展有限责任合伙企业 追踪源代码用于末端用户监控
CN104750471A (zh) * 2013-12-30 2015-07-01 上海格尔软件股份有限公司 一种基于浏览器的web页面性能检测与采集分析插件以及方法
CN104750471B (zh) * 2013-12-30 2020-05-05 格尔软件股份有限公司 一种基于浏览器的web页面性能检测与采集分析插件以及方法

Also Published As

Publication number Publication date
US20060085537A1 (en) 2006-04-20
CN100356321C (zh) 2007-12-19
US7624176B2 (en) 2009-11-24

Similar Documents

Publication Publication Date Title
CN100356321C (zh) 编程生成合成事务以监视web应用的性能和可用性的方法和系统
US20200228392A1 (en) Method and system for clustering event messages and manage event-message clusters
US10824697B2 (en) Detecting and tracking virtual containers
CN1688979A (zh) 用于事务流水线分解的方法和系统
AU2019340314A1 (en) Dynamic application migration between cloud providers
US7502971B2 (en) Determining a recurrent problem of a computer resource using signatures
US8549019B2 (en) Dynamically generating aggregate tables
US8478624B1 (en) Quality of records containing service data
US20080086558A1 (en) Session based web usage reporter
US7761398B2 (en) Apparatus and method for identifying process elements using request-response pairs, a process graph and noise reduction in the graph
CN101118502A (zh) 用于选择性地监视事务的方法和系统
CN1662901A (zh) 用于在分布式环境中监视应用性能的方法和系统
CN1650263A (zh) 用于在分布式企业应用中进行问题确定的方法和系统
Tang et al. An integrated framework for optimizing automatic monitoring systems in large IT infrastructures
US20090144409A1 (en) Method for using dynamically scheduled synthetic transactions to monitor performance and availability of e-business systems
CN1967503A (zh) 测试软件应用的方法
CN1801097A (zh) 用于使用md4校验和链接跨机器事务的方法和系统
US9558092B2 (en) Runtime-agnostic management of applications
EP3776314B1 (en) Staged dynamic taint flow inference
US11803439B2 (en) Enriched high fidelity metrics
US20100318859A1 (en) Production control for service level agreements
US20070266160A1 (en) Automatic Application Server Fail Fast and Recover on Resource Error
CN113900902A (zh) 日志处理方法、装置、电子设备及存储介质
US20220383129A1 (en) Simulating service performance using machine learning
CN118396375A (zh) 风险控制方法、风险控制系统、设备、介质及程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071219

Termination date: 20091113