CN105335142A - 在事务处理系统中标识事务的性能瓶颈的方法和装置 - Google Patents
在事务处理系统中标识事务的性能瓶颈的方法和装置 Download PDFInfo
- Publication number
- CN105335142A CN105335142A CN201410367825.7A CN201410367825A CN105335142A CN 105335142 A CN105335142 A CN 105335142A CN 201410367825 A CN201410367825 A CN 201410367825A CN 105335142 A CN105335142 A CN 105335142A
- Authority
- CN
- China
- Prior art keywords
- affairs
- processing components
- transacter
- virtual
- mutual
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- 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
- G06F11/3419—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 by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- 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/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- 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/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- 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/80—Database-specific techniques
-
- 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/81—Threshold
-
- 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/87—Monitoring of transactions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明的各实施方式提供了在事务处理系统中标识事务的性能瓶颈的方法和装置。在本发明的一个实施方式中,提供了一种用于在事务处理系统中标识事务的性能瓶颈的方法,包括:在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息;基于状态信息确定交互的持续时间;以及响应于持续时间超过预定阈值,将交互标识为事务的性能瓶颈。在本发明的一个实施方式中,提供了一种用于在事务处理系统中标识事务的性能瓶颈的装置。采用本发明的各个实施方式,通过在事务处理系统中跟踪事务,可以快速准确地标识影响处理事务的效率的性能瓶颈。
Description
技术领域
本发明的各实施方式涉及事务处理(TransactionProcessing),更具体地,涉及在事务处理系统(TransactionProcessingSystem)中标识事务的性能瓶颈(performancebottleneck)的方法和装置。
背景技术
随着计算机技术的发展,事务处理系统已经涉及到人们日常工作和生活的诸多方面,并且已经在全世界的范围内成为支持任务关键业务(missioncriticalbusiness)的重要系统。例如,银行等机构中已经广泛采用了事务处理系统,用于提供自动化的事务处理。银行所采用的事务处理系统可以处理多种事务,诸如,客户请求的存款、取款、转账等。
目前,事务处理系统可以并发地处理数万甚至更多的事务。例如,银行的事务处理系统可以服务于多个国家和地区,并且可以同时地响应于来自各个国家和地区的用户的请求。事务处理系统可以包括多个处理组件。例如,由提供的用于银行的事务处理系统可以包括CICSTransactionServer、CICSTXSeries、Tuxedo、WAS、Weblogic、Jboss、数据库系统(例如,DB2、OracleDB、Mysql)、Queuemanager(例如,WMQ)等诸多处理组件、以及由操作系统提供的其他处理组件。这些处理组件相互协调以支持处理事务。
事务处理系统通常对于响应时间要求较高,这就要求事务处理系统的维护人员能够在系统中的一个或者多个处理组件出现问题时,迅速地找到问题原因并解决问题。然而,由于现有的事务处理系统过于庞杂并且涉及到各种配置操作,造成事务处理系统性能低下的原因可能是复杂的。
事务处理系统的性能可能会受到来自诸多处理组件的各个方面的影响,例如,性能低下可能是来自多个处理组件中问题的共同结果。在复杂的事务处理系统中,可能会花费数天甚至数十天,并且需要精通各个处理组件的技术专家的共同劳动,才能发现影响性能的原因。
鉴于现有技术中不存在发现事务处理系统的性能瓶颈的有效手段,如何有效地在事务处理系统中跟踪处理事务的流程,以及在该流程中迅速定位影响事务处理性能的瓶颈,成为目前的一个研究热点。
发明内容
因而,期望开发一种能够跟踪事务处理的流程、并且准确高效地标识事务的性能瓶颈的技术方案。进一步,期望该技术方案可以在不影响事务处理系统的日常事务处理的情况下进行,并且还期望可以在尽量不改变现有事务处理系统的硬件和软件配置的情况下实现该技术方案。
在本发明的一个实施方式中,提供了一种用于在事务处理系统中标识事务的性能瓶颈的方法,包括:在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息;基于状态信息确定交互的持续时间;以及响应于持续时间超过预定阈值,将交互标识为事务的性能瓶颈。
在本发明的一个实施方式中,在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息包括:建立对应于事务的虚拟事务;以及在预定时间点采集虚拟事务与处理组件之间的交互的状态信息,以作为事务与处理组件之间的交互的状态信息。
在本发明的一个实施方式中,提供了一种用于在事务处理系统中标识事务的性能瓶颈的装置,包括:采集模块,配置用于在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息;确定模块,配置用于基于状态信息确定交互的持续时间;以及标识模块,配置用于响应于持续时间超过预定阈值,将交互标识为事务的性能瓶颈。
在本发明的一个实施方式中,采集模块包括:建立模块,配置用于建立对应于事务的虚拟事务;以及采集模块进一步配置用于在预定时间点采集虚拟事务与处理组件之间的交互的状态信息,以作为事务与处理组件之间的交互的状态信息。
采用本发明所述的方法和装置,通过在事务处理系统中跟踪事务,可以发现在处理事务期间影响处理性能的瓶颈。另外,完全可以忽略由本发明的技术方案产生的额外计算量,因而本发明不会给现有的事务处理系统的正常运行造成不利影响。进一步,采用本发明的方法和装置,可以在尽量不改变现有的事务处理系统的配置的情况下,有效地标识事务的性能瓶颈,进而可以便于技术人员排除事务处理系统中的故障。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示意性示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2示意性示出了根据一个技术方案的在事务处理系统中标识事务的性能瓶颈的框图;
图3示意性示出了根据本发明一个实施方式的用于在事务处理系统中标识事务的性能瓶颈的技术方案的框图;
图4示意性示出了根据本发明一个实施方式的用于在事务处理系统中标识事务的性能瓶颈的方法的流程图;
图5示意性示出了根据本发明一个实施方式的采集事务与处理组件之间的交互的状态信息的方法的流程图;
图6示意性示出了根据本发明一个实施方式的基于序列建立虚拟事务的技术方案的框图;以及
图7示意性示出了根据本发明一个实施方式的用于在事务处理系统中标识事务的性能瓶颈的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在本发明的上下文中,仅以银行的事务处理系统为具体应用环境而示出了根据本发明的各个实施方式。本领域技术人员应当理解,本发明的各个实施方式还可以应用于其他应用环境中的其他事务处理系统。
目前主要存在两种类型的用于监视事务处理系统的性能的技术方案:基于性能记录的方法以及基于监视的方法。
基于性能记录的方法主要关注于如何采集事务涉及的每个处理组件的性能记录。不同的处理组件通常具有自身的监视机制而并不能提供统一的监控接口,例如,CICS、DB2、IMS和MQ等处理组件将与各个处理组件相关联的全部性能记录写入专用组件SMF,zOS将与自身相关的性能记录写入RMF。
此方法的主要限制在于,该方法能够采集到不同处理组件的原始性能数据,然而这些原始性能数据并不能直接指示造成性能低下的原因。例如,当已经在CICS中采集了性能记录时,需要CICS技术专家来分析与事务相关联的性能记录。如果技术专家发现造成性能低下的原因并不源自CICS而是来自于事务处理系统中的其他处理组件,则还需要精通其他处理组件的技术专家来进一步分析与其他处理组件相关联的性能记录。另一方面,所采集到的性能记录是特定类型的交互的累积性能度量(例如,CICS可以采集与特定基于字段相关联的文件IO操作的逝去时间的总量),然而并不能区分与特定文件IO操作相关联的每个交互的持续时间。因而,基于性能记录的方法不能快速准确地找到性能瓶颈。
图2示意性示出了根据一个技术方案的在事务处理系统中标识事务的性能瓶颈的框图200。如图2所示采用基于采集性能记录的方法来分析事务处理系统中的性能瓶颈,事务250涉及事务处理系统中的多个处理组件,换言之,该事务250可以与事务处理系统中的多个处理组件(处理组件1210、处理组件2220、处理组件3230、以及处理组件4240)进行交互。图2中的箭头A1-A6示出了执行事务250的流程:处理组件1210->处理组件2220->处理组件3230->处理组件2220->处理组件1210,并且整个流程在处理组件4240的监视下进行。
图2右侧的流程图S210-S260示出了根据现有技术来确定执行事务250的性能瓶颈的方法。首先,在步骤S210中,检查处理组件1是否出现故障,当发现处理组件1运转正常时操作流程前进至步骤S220。在步骤S220中,发现处理组件2的响应时间过长。接着,操作流程前进至步骤S230以确定处理组件2是否出现故障,当发现处理组件2也运转正常时,操作流程前进至步骤S240。接着,在步骤S240中发现处理组件3的响应时间过长,继而在步骤S250中确定处理组件3是否运行正常。
本领域技术人员应当注意,步骤S210-S250需要分别由精通处理组件1210、处理组件2220和处理组件3230的技术专家来执行,这造成整个诊断过程涉及大量的人力成本和时间成本。然而,此时并没有找到造成事务250效率低下的原因。接着,处理流程前进至步骤S260以检查处理组件4的状态,此时发现处理组件4锁定了处理组件3,因而造成了处理组件3的响应时间过长。在此示例中,处理组件4锁定处理组件3即为性能瓶颈。
从上文参见图2的描述可见,基于现有技术方案的方法来查找性能瓶颈需要花费大量人力和物力,并且不能快速找到性能瓶颈。
基于监视的方法依赖于监控事务处理系统的运行状态。例如,目前已经开发出了诸如TivoliOMEGAMON和ComputewareTMON的监控工具。然而,这些工具仅仅能够监视事务处理系统中的主要性能指标,并且在事务处理系统中的处理组件出现问题时,并不能指示造成性能低下的原因。
可见,现有的基于性能记录的方法以及基于监视的方法都不能快速准确地发现事务处理系统中的性能瓶颈。针对上文所述的不足,本发明的实施方式提出了一种用于在事务处理系统中标识事务的性能瓶颈的方法。该方法包括:在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息;基于状态信息确定交互的持续时间;以及响应于持续时间超过预定阈值,将交互标识为事务的性能瓶颈。
图3示意性示出了根据本发明一个实施方式的用于在事务处理系统中标识事务的性能瓶颈的技术方案的框图300。采用本发明的实施方式的技术方案,可以在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息,并获得如状态信息表310中所示的状态信息。
在本发明的一个实施方式中,可以在预定时间间隔(例如,0.01s)采集事务与处理组件之间的交互的状态信息。例如,状态信息表310中的第二行示出了在时间点0.06s,事务与处理组件1进行交互,并且交互类型为访问磁盘;又例如,状态信息表310指示,在时间点0.06s至0.99s之间,事务都在与处理组件1进行交互,并且交互类型为等待磁盘解锁;又例如,状态信息表310指示,在时间点1.00s,事务与处理组件1进行交互,并且交互类型为磁盘解锁。
此时可以发现,事务与处理组件1的交互的持续时间(1.00–0.06=0.94s)远远大于正常的交互时间(例如,0.05s)。此时,可以确定事务与处理组件1之间的交互是性能瓶颈。
进一步,还可以以更细的粒度确定性能瓶颈。例如,“等待磁盘解锁”的持续时间为(1.00–0.07=0.93s)远远大于正常的交互时间(例如,0.03s),此时,则可以确定“等待磁盘解锁”是影响事务处理系统的性能的瓶颈。
本领域技术人员可以理解,基于状态信息确定交互的持续时间以及后续将持续时间与阈值时间进行比较的计算量非常小,因而可以将其忽略。采用本发明所述的技术方案,主要时间开销集中在采集状态信息的步骤。在图3所示的具体示例中,采集时间大约为1s,因而在“秒”的数量级内即可确定性能瓶颈。然而,基于现有的技术方案,需要由精通多个处理组件的技术专家协作并花费数天甚至更长时间才能找到性能瓶颈。可见,相对于如图2所示的现有技术中的基于性能记录的方法,本发明的技术方案可以大大降低诊断时间,并且快速准确地标识出事务处理系统中的性能瓶颈。
在下文中,将结合附图详细描述本发明的各个实施方式的具体细节。图4示意性示出了根据本发明一个实施方式的用于在事务处理系统中标识事务的性能瓶颈的方法的流程图400。首先,在步骤S402中,在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息。状态信息可以包括交互对象(即,事务正在与哪个处理组件进行交互)。在此实施方式中,在处理事务的整个生命周期期间,可以在预定时间点采集事务与处理组件之间的交互的状态信息。
本领域技术人员可以基于具体应用环境的要求来采集事务与一个或者多个处理组件之间的交互的状态信息。例如,在处理事务的整个生命周期期间涉及多个处理组件的情况下,可以采集事务与每个处理组件的交互的状态信息。
在本发明的一个实施方式中,可以以固定的时间间隔来采集状态信息,或者还可以基于具体需求而以非固定的时间间隔来采集状态信息。本领域技术人员应当理解,事务处理系统具有强大的数据处理能力,并且能够并发地处理数万甚至更多的事务。因而,根据本发明的技术方案而在预定时间间隔采集状态数据对于事务处理系统本身造成的工作负载是极小的,由此完全可以忽略执行本发明的技术方案而造成的计算资源的额外开销。
在步骤S404中,基于状态信息确定交互的持续时间。例如,当发现事务在时间点1至时间点n之间一直在与处理组件1进行交互,则此时可以将时间点1和时间点n之间的时间段作为交互的持续时间。
应当注意,在本发明的实施方式中,由于在离散的预定时间点采集交互的状态信息,因而时间点之间的间隔的大小将会影响计算所得的持续时间的精度。尽管在本发明的上下文中计算所得的持续时间并不是交互的精确的持续时间,然而该持续时间可以较为准确地反映用于不同交互的时间分配,并且随着时间间隔的缩小该持续时间可以更加接近于真实的持续时间。
在步骤S406中,响应于持续时间超过预定阈值,将交互标识为事务的性能瓶颈。在此实施方式中,本领域技术人员可以基于历史经验来设置预定阈值的数值,例如,对于特定事务而言,可以将该事务与DB2的交互的预定阈值设置为0.05s,将该事务与CICS的交互的预定阈值设置为0.07s等。当发现实际测量的持续时间超过预定阈值时,则认为该交互是性能瓶颈。
应当注意,在本发明的上下文中的预定阈值进行是示意性的,本领域技术人员可以基于运行各个处理组件的历史经验来设置其他的数值。在本发明的一个实施方式中,预定阈值的精度还可以相关于采集状态信息的时间间隔的大小。例如,时间间隔越小则预定阈值的精度可以越高。
在本发明的一个实施方式中,进一步包括:采集交互的类型;以及将事务与处理组件之间的该类型的其他交互标识为性能瓶颈。
在此实施方式中,为了以更精细的粒度标识性能瓶颈,还可以采集交互的类型(例如,如图3中所示,与处理组件1进行的交互的类型可以是“访问磁盘”、“等待磁盘解锁”、“磁盘解锁”等)。此时,可以确定与各个类型的交互相关联的持续时间,以便当持续时间超过预定阈值时,将事务与处理组件之间的该类型的交互标识为性能瓶颈。
具体而言,对于图3所示的示例,当发现“等待磁盘解锁”的持续时间超过预定阈值时,可以将“等待磁盘解锁”类型的交互标识为性能瓶颈。
在本发明的一个实施方式中,在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息包括:建立对应于事务的虚拟事务;以及在预定时间点采集虚拟事务与处理组件之间的交互的状态信息,以作为事务与处理组件之间的交互的状态信息。
具体地,图5示意性示出了根据本发明一个实施方式的采集事务与处理组件之间的交互的状态信息的方法的流程图500。在步骤S502中,建立对应于事务的虚拟事务。
在本发明的实施方式中,尽管在预定时间点采集交互的状态信息对于事务处理系统仅仅会产生极小的并且可以忽略的工作负荷,然而跟踪事务处理系统中的真实事务可能会暴露该事务所涉及的敏感数据。例如,当事务是处理银行客户的转账请求的事务时,则可能会对转出客户的账户信息和转入客户的账户信息造成不利影响。因而,为了提高事务处理系统内的数据安全性,还可以建立对应于事务的虚拟事务,继而基于跟踪虚拟事务与处理组件之间的交互的状态信息,来寻找性能瓶颈。
在步骤S504中,在预定时间点采集虚拟事务与处理组件之间的交互的状态信息,以作为事务与处理组件之间的交互的状态信息。由于虚拟事务对应于实际的事务,因而通过跟踪虚拟事务一方面可以采集到所需的信息,另一方面还不会影响事务处理系统中的日常事务处理。
在本发明的一个实施方式中,建立对应于事务的虚拟事务包括:获取在事务处理系统中处理事务时、事务与事务处理系统中的一个或者多个处理组件之间的交互的序列;以及基于序列建立虚拟事务,使得在事务处理系统中处理虚拟事务时、虚拟事务按顺序执行序列中的交互。
建立对应于事务的虚拟事务的一个关键点在于,在事务处理系统中处理虚拟事务时,由该虚拟事务所执行的交互的交互对象和交互顺序应当与由真实事务所执行的交互的交互对象和交互顺序保持一致。因而,需要提取事务与事务处理系统中的一个或者多个处理组件之间的交互的序列。
具体而言,对于图2中所示的示例,事务250与各个处理组件之间的交互的序列可以是处理组件1210->处理组件2220->处理组件3230->处理组件2220->处理组件1210。继而,基于该序列来建立虚拟事务,可以使得在事务处理系统中处理虚拟事务时、虚拟事务按顺序执行序列中的交互。在此实施方式中,虚拟事务与事务处理系统中的各个处理组件的交互的序列同样是处理组件1210->处理组件2220->处理组件3230->处理组件2220->处理组件1210。
在本发明的一个实施方式中,获取在事务处理系统中处理事务时、事务与事务处理系统中的一个或者多个处理组件之间的交互的序列包括:从事务的实现提取事务对一个或者多个处理组件的调用;以及基于调用生成序列。
本领域技术人员可以理解,由于事务与事务处理系统中的哪个(哪些)处理组件进行交互、以及以何种顺序来进行交互是由事务的具体实现(例如,代码或者可执行程序)中对于处理组件的调用来定义的,因而可以基于事务对于处理组件的调用来确定交互的序列。在下文中,将结合具体示例描述如何基于事务的具体实现中对处理组件的调用来确定交互的序列。
在本发明的一个实施方式中,事务的实现是事务的代码,以及从事务的实现提取事务对一个或者多个处理组件的调用包括:查找事务的代码中的关键字以获得调用。下文表1示意性示出了事务的代码的示例。
针对处理组件的调用是通过应用编程接口(ApplicationProgrammingInterface,API)和/或系统编程接口(SystemProgrammingInterface,SPI)来实现的。并且,API/SPI具有固定格式,具体而言,在CICS中,所有的API/SPI都以EXECCICS为开头;在DB2中,所有的API/SPI都是EXECSQL开头,等等。因而可以基于查找关键字来获得对于处理组件的调用。
在本发明的一个实施方式中,代码是源代码,以及查找事务的代码中的关键字以获得调用包括:查找源代码中的函数名称以获得调用。当代码是源代码时,可以通过查找源代码中的函数名称(例如,“EXECCICSREADFILE”、“EXECSQLSELECTTABLE”等),来获取事务对处理组件的调用进而获得交互的序列。
在本发明的一个实施方式中,代码是可执行代码,以及查找事务的代码中的关键字以获得调用包括:查找可执行代码中的二进制前缀以获得调用。
在某些情况下,可能并不能获得事务的源代码而是只能获得可执行代码。由于可执行代码是基于编译源代码来生成的,源代码中的固定格式的函数名称会被转换成特定的二进制前缀,因而可以从可执行代码中查找特定的二进制前缀来获得事务对处理组件的事务对处理组件的调用,进而获得交互的序列。
在本发明的一个实施方式中,事务的实现是事务的可执行程序,以及从事务的实现提取事务对一个或者多个处理组件的调用包括:在运行可执行程序期间,从事务处理系统中的接口管理器获得调用。
在运行事务的可执行程序期间,API/SPI需要由事务处理系统中的接口管理器来管理,因而可以从接口管理器来获得关于事务在何时调用了哪个(哪些)API/SPI。以此方式,可以准确地获得事务对于处理组件的调用。
在本发明的一个实施方式中,基于序列建立虚拟事务包括:拷贝事务的实现中与序列中的交互相对应的部分,以作为虚拟事务的实现;以及利用虚拟数据替换虚拟事务的实现中的敏感数据。
继续上文表1的事务的代码来描述如何建立虚拟事务。在已经采用上文所述的方法获取了交互的序列之后,可以从表1所示的代码中拷贝与序列中的交互相对应的部分,即,可以拷贝如表1所示的内容。
继而,将所拷贝内容中的敏感数据(例如,与“customer”相关联的数据)替换为虚拟数据,来建立虚拟事务。图6示意性示出了根据本发明一个实施方式的基于序列建立虚拟事务的技术方案的框图600。如图6所示,附图标记610示出了事务的实现,而附图标记620示出了虚拟事务的实现。
在下文中仅以EXECCICSREADFILE("customer")为示例进行详细描述。在EXECCICSREADFILE("customer")中涉及了客户的敏感数据,例如,银行的账户数据“customer”。在本发明的一个实施方式中,出于安全性考虑可以在事务处理系统中创建虚拟账户数据“dummy_customer”,并利用该虚拟账户替换事务中的真实账户数据“customer”(如图6中箭头B所示)。
以此方式,可以基于事务的实现610中的API612来生成虚拟事务的实现620中的API622。基于上文所述的原理,本领域技术人员可以完成针对其他API的处理,并且最终生成的虚拟事务如附图标记620所示,在本发明的上下文中将不再赘述详细步骤。
在本发明的一个实施方式中,进一步包括:简化虚拟事务的实现。具体地,虚拟事务的实现中可能会包括某些无关于跟踪事务与各个处理组件之间的交互的内容(例如,数学计算等),因而可以去除这些无关内容以便简化虚拟事务的实现。
在本发明的一个实施方式中,在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息包括:响应于以下中的任一项而在预定时间点采集状态信息:在事务处理系统中处理事务超时;以及在预定时间间隔。
事务处理系统中可以并发地处理数万甚至更多的事务,这些事务可以是相同类型的事务,还可以是不同类型的事务。例如,在银行行业的事务处理系统中,可以并发地处理来自各个国家和地区的客户的存款事务、取款事务、转账事务等等多种类型的事务。可以在已经发现某种类型的事务出现较大延迟的情况下执行本发明的方法,或者还可以在事务处理系统的运行期间周期性地执行本发明的方法以确保事务处理系统处于正常运行状态。
本发明的各个实施方式可以寻找事务处理系统中的性能瓶颈,例如,当发现处理来自客户的存款请求的事务存在较大延迟的情况下,可以提供存款事务相关的代码,并建立与存款事务相关联的虚拟事务进而确定存款事务的性能瓶颈。或者,为了保证事务处理系统中的各个事务的正常运行,还可以周期性地跟踪各个事务,以便查找是否存在影响各个事务的处理效率的性能瓶颈。
前面已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中所述设备包括若干装置或模块,所述装置或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述设备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图7示意性示出了根据本发明一个实施方式的用于在事务处理系统中标识事务的性能瓶颈的装置的框图700。具体地,该装置包括:采集模块710,配置用于在预定时间点采集事务与事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息;确定模块720,配置用于基于状态信息确定交互的持续时间;以及标识模块730,配置用于响应于持续时间超过预定阈值,将交互标识为事务的性能瓶颈。
在本发明的一个实施方式中,采集模块进一步配置用于采集交互的类型;以及标识模块进一步配置用于:将事务与处理组件之间的类型的其他交互标识为性能瓶颈。
在本发明的一个实施方式中,采集模块710包括:建立模块,配置用于建立对应于事务的虚拟事务;以及采集模块进一步配置用于在预定时间点采集虚拟事务与处理组件之间的交互的状态信息,以作为事务与处理组件之间的交互的状态信息。
在本发明的一个实施方式中,建立模块包括:获取模块,配置用于获取在事务处理系统中处理事务时、事务与事务处理系统中的一个或者多个处理组件之间的交互的序列;以及第二建立模块,配置用于基于序列建立虚拟事务,使得在事务处理系统中处理虚拟事务时、虚拟事务按顺序执行序列中的交互。
在本发明的一个实施方式中,获取模块包括:提取模块,配置用于从事务的实现提取事务对一个或者多个处理组件的调用;以及生成模块,配置用于基于调用生成序列。
在本发明的一个实施方式中,事务的实现是事务的代码,以及提取模块包括:查找模块,配置用于查找事务的代码中的关键字以获得调用。
在本发明的一个实施方式中,事务的实现是事务的可执行程序,以及提取模块包括:获得模块,配置用于在运行可执行程序期间,从事务处理系统中的接口管理器获得调用。
在本发明的一个实施方式中,建立模块包括:拷贝模块,配置用于拷贝事务的实现中与序列中的交互相对应的部分,以作为虚拟事务的实现;以及替换模块,配置用于利用虚拟数据替换虚拟事务的实现中的敏感数据。
在本发明的一个实施方式中,建立模块进一步包括:简化模块,配置用于简化虚拟事务的实现。
在本发明的一个实施方式中,采集模块进一步配置用于:响应于以下中的任一项而在预定时间点采集状态信息:在事务处理系统中处理事务超时;以及在预定时间间隔。
采用本发明所述的方法和装置,通过在事务处理系统中跟踪事务,可以发现在处理事务期间影响处理性能的瓶颈。另外,由于完全可以忽略由本发明的技术方案产生的额外计算量,因而可以在不对现有的事务处理系统的正常运行造成不利影响的情况下,有效地标识事务的性能瓶颈。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施方式中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (20)
1.一种用于在事务处理系统中标识事务的性能瓶颈的方法,包括:
在预定时间点采集所述事务与所述事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息;
基于所述状态信息确定所述交互的持续时间;以及
响应于所述持续时间超过预定阈值,将所述交互标识为所述事务的所述性能瓶颈。
2.根据权利要求1所述的方法,进一步包括:
采集所述交互的类型;以及
将所述事务与所述处理组件之间的所述类型的其他交互标识为所述性能瓶颈。
3.根据权利要求1或2所述的方法,其中所述在预定时间点采集所述事务与所述事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息包括:
建立对应于所述事务的虚拟事务;以及
在预定时间点采集所述虚拟事务与所述处理组件之间的交互的状态信息,以作为所述事务与所述处理组件之间的交互的状态信息。
4.根据权利要求3所述的方法,其中所述建立对应于所述事务的虚拟事务包括:
获取在所述事务处理系统中处理所述事务时、所述事务与所述事务处理系统中的一个或者多个处理组件之间的交互的序列;以及
基于所述序列建立所述虚拟事务,使得在所述事务处理系统中处理所述虚拟事务时、所述虚拟事务按顺序执行所述序列中的交互。
5.根据权利要求4所述的方法,其中所述获取在所述事务处理系统中处理所述事务时、所述事务与所述事务处理系统中的一个或者多个处理组件之间的交互的序列包括:
从所述事务的实现提取所述事务对所述一个或者多个处理组件的调用;以及
基于所述调用生成所述序列。
6.根据权利要求5所述的方法,其中所述事务的所述实现是所述事务的代码,以及所述从所述事务的实现提取所述事务对所述一个或者多个处理组件的所述调用包括:
查找所述事务的代码中的关键字以获得所述调用。
7.根据权利要求5所述的方法,其中所述事务的所述实现是所述事务的可执行程序,以及所述从所述事务的实现提取所述事务对所述一个或者多个处理组件的所述调用包括:
在运行所述可执行程序期间,从所述事务处理系统中的接口管理器获得所述调用。
8.根据权利要求4所述的方法,其中所述基于所述序列建立所述虚拟事务包括:
拷贝所述事务的所述实现中与所述序列中的所述交互相对应的部分,以作为所述虚拟事务的实现;以及
利用虚拟数据替换所述虚拟事务的所述实现中的敏感数据。
9.根据权利要求6所述的方法,进一步包括:简化所述虚拟事务的所述实现。
10.根据权利要求1或2所述的方法,其中所述在预定时间点采集所述事务与所述事务处理系统中的一个或者多个处理组件中的所述处理组件之间的交互的状态信息包括:响应于以下中的任一项而在所述预定时间点采集所述状态信息:
在所述事务处理系统中处理所述事务超时;以及
在预定时间间隔。
11.一种用于在事务处理系统中标识事务的性能瓶颈的装置,包括:
采集模块,配置用于在预定时间点采集所述事务与所述事务处理系统中的一个或者多个处理组件中的处理组件之间的交互的状态信息;
确定模块,配置用于基于所述状态信息确定所述交互的持续时间;以及
标识模块,配置用于响应于所述持续时间超过预定阈值,将所述交互标识为所述事务的所述性能瓶颈。
12.根据权利要求11所述的装置,其中所述采集模块进一步配置用于采集所述交互的类型;以及
所述标识模块进一步配置用于:将所述事务与所述处理组件之间的所述类型的其他交互标识为所述性能瓶颈。
13.根据权利要求11或12所述的装置,其中所述采集模块包括:
建立模块,配置用于建立对应于所述事务的虚拟事务;以及
所述采集模块进一步配置用于在预定时间点采集所述虚拟事务与所述处理组件之间的交互的状态信息,以作为所述事务与所述处理组件之间的交互的状态信息。
14.根据权利要求13所述的装置,其中所述建立模块包括:
获取模块,配置用于获取在所述事务处理系统中处理所述事务时、所述事务与所述事务处理系统中的一个或者多个处理组件之间的交互的序列;以及
第二建立模块,配置用于基于所述序列建立所述虚拟事务,使得在所述事务处理系统中处理所述虚拟事务时、所述虚拟事务按顺序执行所述序列中的交互。
15.根据权利要求14所述的装置,其中所述获取模块包括:
提取模块,配置用于从所述事务的实现提取所述事务对所述一个或者多个处理组件的调用;以及
生成模块,配置用于基于所述调用生成所述序列。
16.根据权利要求15所述的装置,其中所述事务的所述实现是所述事务的代码,以及所述提取模块包括:
查找模块,配置用于查找所述事务的代码中的关键字以获得所述调用。
17.根据权利要求15所述的装置,其中所述事务的所述实现是所述事务的可执行程序,以及所述提取模块包括:
获得模块,配置用于在运行所述可执行程序期间,从所述事务处理系统中的接口管理器获得所述调用。
18.根据权利要求14所述的装置,其中所述建立模块包括:
拷贝模块,配置用于拷贝所述事务的所述实现中与所述序列中的所述交互相对应的部分,以作为所述虚拟事务的实现;以及
替换模块,配置用于利用虚拟数据替换所述虚拟事务的所述实现中的敏感数据。
19.根据权利要求16所述的装置,其中所述建立模块进一步包括:
简化模块,配置用于简化所述虚拟事务的所述实现。
20.根据权利要求11或12所述的装置,其中所述采集模块进一步配置用于:响应于以下中的任一项而在所述预定时间点采集所述状态信息:
在所述事务处理系统中处理所述事务超时;以及
在预定时间间隔。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410367825.7A CN105335142B (zh) | 2014-07-29 | 2014-07-29 | 在事务处理系统中标识事务的性能瓶颈的方法和装置 |
US14/797,557 US9632818B2 (en) | 2014-07-29 | 2015-07-13 | Identifying performance bottleneck of transaction in transaction processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410367825.7A CN105335142B (zh) | 2014-07-29 | 2014-07-29 | 在事务处理系统中标识事务的性能瓶颈的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105335142A true CN105335142A (zh) | 2016-02-17 |
CN105335142B CN105335142B (zh) | 2019-03-15 |
Family
ID=55180118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410367825.7A Expired - Fee Related CN105335142B (zh) | 2014-07-29 | 2014-07-29 | 在事务处理系统中标识事务的性能瓶颈的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9632818B2 (zh) |
CN (1) | CN105335142B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168775A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 一种悬挂事务自动处理的方法和装置 |
CN112148574A (zh) * | 2020-09-21 | 2020-12-29 | 北京基调网络股份有限公司 | 一种性能数据采集方法、计算机设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101968575B1 (ko) | 2017-06-02 | 2019-08-13 | 그린아일 주식회사 | 실시간 병목 자동 분석 방법 및 이러한 방법을 수행하는 장치 |
US10877949B2 (en) | 2018-09-05 | 2020-12-29 | International Business Machines Corporation | Transaction monitoring through a dual-layer datastore based on a hash filter |
US11409795B2 (en) | 2018-09-06 | 2022-08-09 | International Business Machines Corporation | Atomically executed application program interfaces |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1875348A (zh) * | 2003-10-29 | 2006-12-06 | 国际商业机器公司 | 信息系统、负载控制方法、负载控制程序和记录媒体 |
US20090037914A1 (en) * | 2007-07-31 | 2009-02-05 | Bryan Christopher Chagoly | Automatic configuration of robotic transaction playback through analysis of previously collected traffic patterns |
CN102708029A (zh) * | 2012-04-25 | 2012-10-03 | 华为技术有限公司 | 性能瓶颈诊断方法和设备 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449739B1 (en) * | 1999-09-01 | 2002-09-10 | Mercury Interactive Corporation | Post-deployment monitoring of server performance |
US6301701B1 (en) * | 1999-11-10 | 2001-10-09 | Tenfold Corporation | Method for computer-assisted testing of software application components |
US7127421B1 (en) | 2000-10-25 | 2006-10-24 | Accenture Llp | Method and system for identifying bottlenecks in a securities processing system |
US7197559B2 (en) * | 2001-05-09 | 2007-03-27 | Mercury Interactive Corporation | Transaction breakdown feature to facilitate analysis of end user performance of a server system |
US7487407B2 (en) * | 2005-07-12 | 2009-02-03 | International Business Machines Corporation | Identification of root cause for a transaction response time problem in a distributed environment |
US8250226B2 (en) * | 2005-07-21 | 2012-08-21 | Ca, Inc. | Generating one or more clients for generating one or more synthetic transactions with one or more web service operations |
US20070022133A1 (en) * | 2005-07-21 | 2007-01-25 | International Business Machines Corporation | Method and apparatus for automatically and configurably adjusting allocated database resources to avoid denial of service |
US7548843B2 (en) * | 2006-04-10 | 2009-06-16 | Microsoft Corporation | Simulation of distributed networks |
US8051163B2 (en) * | 2006-05-11 | 2011-11-01 | Computer Associates Think, Inc. | Synthetic transactions based on system history and load |
US7412448B2 (en) * | 2006-05-17 | 2008-08-12 | International Business Machines Corporation | Performance degradation root cause prediction in a distributed computing system |
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 |
EP2183669B1 (en) * | 2007-08-27 | 2014-05-28 | Correlsense Ltd. | Apparatus and method for tracking transaction related data |
US9558097B2 (en) * | 2007-11-13 | 2017-01-31 | Red Hat, Inc. | Automated recording and playback of application interactions |
US8326973B2 (en) * | 2008-12-23 | 2012-12-04 | Novell, Inc. | Techniques for gauging performance of services |
WO2010128358A1 (en) * | 2009-05-06 | 2010-11-11 | Grigory Levit | Permissions verification method and system |
US8706699B2 (en) * | 2009-07-16 | 2014-04-22 | Synopsys, Inc. | Transaction history with bounded operation sequences |
US8396961B2 (en) * | 2009-08-31 | 2013-03-12 | Red Hat, Inc. | Dynamic control of transaction timeout periods |
JP5434562B2 (ja) * | 2009-12-18 | 2014-03-05 | 富士通株式会社 | 運用管理プログラム、運用管理装置および運用管理方法 |
US20110161395A1 (en) * | 2009-12-24 | 2011-06-30 | International Business Machines Corporation | Synthetic transaction monitoring and management of scripts |
JP5373870B2 (ja) * | 2010-10-25 | 2013-12-18 | 株式会社三菱東京Ufj銀行 | 予測装置、予測方法、及び、プログラム |
US8966454B1 (en) * | 2010-10-26 | 2015-02-24 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US8677324B2 (en) | 2011-01-31 | 2014-03-18 | Hewlett-Packard Development Company, L.P. | Evaluating performance of an application using event-driven transactions |
US20130179144A1 (en) | 2012-01-06 | 2013-07-11 | Frank Lu | Performance bottleneck detection in scalability testing |
US8869148B2 (en) | 2012-09-21 | 2014-10-21 | International Business Machines Corporation | Concurrency identification for processing of multistage workflows |
US9182947B2 (en) * | 2013-06-06 | 2015-11-10 | International Business Machines Corporation | Program source code navigation |
US9451017B2 (en) * | 2013-07-24 | 2016-09-20 | Dynatrace Llc | Method and system for combining trace data describing multiple individual transaction executions with transaction processing infrastructure monitoring data |
IN2013CH03925A (zh) * | 2013-09-02 | 2015-09-11 | Appnomic Systems Private Ltd | |
US10019756B2 (en) * | 2014-03-31 | 2018-07-10 | Mastercard International Incorporated | Systems and methods for throttling transaction processing based on constrained sub-systems |
US10217073B2 (en) * | 2014-07-22 | 2019-02-26 | Oracle International Corporation | Monitoring transactions from distributed applications and using selective metrics |
US10021214B2 (en) * | 2014-07-22 | 2018-07-10 | Microsoft Technology Licensing, Llc | Synthetic transactions between communication endpoints |
-
2014
- 2014-07-29 CN CN201410367825.7A patent/CN105335142B/zh not_active Expired - Fee Related
-
2015
- 2015-07-13 US US14/797,557 patent/US9632818B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1875348A (zh) * | 2003-10-29 | 2006-12-06 | 国际商业机器公司 | 信息系统、负载控制方法、负载控制程序和记录媒体 |
US20090037914A1 (en) * | 2007-07-31 | 2009-02-05 | Bryan Christopher Chagoly | Automatic configuration of robotic transaction playback through analysis of previously collected traffic patterns |
CN102708029A (zh) * | 2012-04-25 | 2012-10-03 | 华为技术有限公司 | 性能瓶颈诊断方法和设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168775A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 一种悬挂事务自动处理的方法和装置 |
CN107168775B (zh) * | 2016-03-07 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种悬挂事务自动处理的方法和装置 |
CN112148574A (zh) * | 2020-09-21 | 2020-12-29 | 北京基调网络股份有限公司 | 一种性能数据采集方法、计算机设备及存储介质 |
CN112148574B (zh) * | 2020-09-21 | 2021-04-23 | 北京基调网络股份有限公司 | 一种性能数据采集方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20160034301A1 (en) | 2016-02-04 |
CN105335142B (zh) | 2019-03-15 |
US9632818B2 (en) | 2017-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190347148A1 (en) | Root cause and predictive analyses for technical issues of a computing environment | |
US10346780B2 (en) | Extraction of system administrator actions to a workflow providing a resolution to a system issue | |
CN102999406B (zh) | 从硬件故障模式的增强转储数据收集的方法和系统 | |
CN107870845A (zh) | 面向微服务架构应用的管理方法及系统 | |
CN110297689A (zh) | 智能合约执行方法、装置、设备及介质 | |
CN105335142A (zh) | 在事务处理系统中标识事务的性能瓶颈的方法和装置 | |
US20200089586A1 (en) | Cognitively triggering recovery actions during a component disruption in a production environment | |
CN105511957A (zh) | 用于生成作业告警的方法和系统 | |
CN104199749A (zh) | 一种崩溃信息的处理方法及装置 | |
US11314575B2 (en) | Computing system event error corrective action recommendation | |
CN116194936A (zh) | 识别拟合目标域的传递学习过程的源数据集 | |
CN104903865B (zh) | 将虚拟机vm映像应用于计算机系统的方法和系统 | |
US11438412B2 (en) | Technologies for conversion of mainframe files for big data ingestion | |
CN110781134A (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN105528365A (zh) | 用于管理可执行文件的方法和装置 | |
US20210303162A1 (en) | Method, electronic device, and computer program product for recovering data | |
CN110533406B (zh) | 一种支付调用方法、装置及系统 | |
US11023101B2 (en) | System and method for implementing a self service machine learning framework | |
US11544552B1 (en) | Method and apparatus for refining an automated coding model | |
CN107463638A (zh) | 离线虚拟机间文件共享方法和设备 | |
CN108768742B (zh) | 网络构建方法及装置、电子设备、存储介质 | |
US11520804B1 (en) | Association rule mining | |
CN110795424B (zh) | 特征工程变量数据请求处理方法、装置及电子设备 | |
US9508062B2 (en) | Problem management record profiling | |
US8495033B2 (en) | Data processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190315 |
|
CF01 | Termination of patent right due to non-payment of annual fee |