[go: up one dir, main page]

KR100906440B1 - Web application performance monitoring device and its method through linkage of web application server transaction and database management system session - Google Patents

Web application performance monitoring device and its method through linkage of web application server transaction and database management system session Download PDF

Info

Publication number
KR100906440B1
KR100906440B1 KR1020080042088A KR20080042088A KR100906440B1 KR 100906440 B1 KR100906440 B1 KR 100906440B1 KR 1020080042088 A KR1020080042088 A KR 1020080042088A KR 20080042088 A KR20080042088 A KR 20080042088A KR 100906440 B1 KR100906440 B1 KR 100906440B1
Authority
KR
South Korea
Prior art keywords
performance information
web application
dbms
application server
database 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
Application number
KR1020080042088A
Other languages
Korean (ko)
Inventor
박락빈
Original Assignee
주식회사 엑셈
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 주식회사 엑셈 filed Critical 주식회사 엑셈
Priority to KR1020080042088A priority Critical patent/KR100906440B1/en
Application granted granted Critical
Publication of KR100906440B1 publication Critical patent/KR100906440B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 WAS로부터 DBMS까지의 성능을 통합, 연계하여 모니터링 하기 위한 기술에 관한 것이다. 본 발명에 의한 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치는, 하나 이상의 웹 어플리케이션 서버와 하나 이상의 데이터베이스 관리 시스템을 포함하여 이루어진 웹 기반 구조에서 특정 웹 어플리케이션 서버의 트랜잭션과 특정 데이터베이스 관리 시스템의 세션이 매칭되어 연계된 성능 정보를 모니터링하는 장치로서, 웹 어플리케이션 서버에서 특정 트랜잭션이 수행될 때 세션 접속이 이루어진 데이터베이스 관리 시스템의 SID와 웹 어플리케이션 서버의 성능 정보를 수집하여 DBMS 성능정보수집 에이전트로 실시간 전송하는 WAS 성능정보수집 에이전트; WAS 성능정보수집 에이전트로부터 전송된 SID와 웹 어플리케이션 서버의 성능 정보를 수신하고, SID를 매개로 하여 웹 어플리케이션 서버의 성능 정보와 연계된 데이터베이스 관리 시스템의 성능 정보를 수집하여 리파지토리로 전송하는 DBMS 성능정보수집 에이전트; 및 DBMS 성능정보수집 에이전트로부터 전송된 상호 연계된 웹 어플리케이션 서버의 성능 정보와 데이터베이스 관리 시스템의 성능 정보를 저장하고, 특정 웹 어플리케이션 서버의 트랜잭션과 특정 데이터베이스 관리 시스템의 세션 사이의 연계된 성능 정보를 하나의 통합된 화면에 표시하는 리파지토리를 포함하여 구성된다.The present invention relates to a technique for integrating and monitoring the performance from the WAS to the DBMS. Web application performance monitoring apparatus through the connection of the WAS transaction and DBMS session according to the present invention, a web application server transaction and a specific database management system in a web infrastructure including one or more web application server and one or more database management system Is a device that monitors the performance information associated with matching sessions. When a specific transaction is executed in a web application server, it collects the SID of the database management system to which the session is connected and the performance information of the web application server, and collects the DBMS performance information collection agent. WAS performance information collecting agent for transmitting in real time; DBMS performance information that receives SID transmitted from WAS performance information collection agent and web application server performance information, and collects performance information of database management system linked with web application server performance information through SID and sends it to repository. Collecting agent; And the performance information of the interconnected web application server and the database management system performance information transmitted from the DBMS performance information collection agent, and the associated performance information between the transaction of the specific web application server and the session of the specific database management system. It is configured to include a repository to display on an integrated screen.

Description

웹 어플리케이션 서버 트랜잭션과 데이터 베이스 관리 시스템 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치 및 그 방법{Apparatus for monitoring a performance of WEB applications by connecting WAS transaction with DBMS session and method thereof}Apparatus for monitoring a performance of WEB applications by connecting WAS transaction with DBMS session and method

본 발명은 웹 어플리케이션 성능 모니터링 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 웹 어플리케이션 서버(Web Application Server : 이하 WAS라 한다) 와 데이터베이스 관리 시스템(Database Management System : 이하 DBMS라 한다) 단독의 성능 모니터링 기술이 아닌 WAS로부터 DBMS까지의 성능을 통합, 연계하여 모니터링 하기 위한 기술에 관한 것이다.The present invention relates to an apparatus and method for monitoring web application performance, and more particularly, to monitor performance of a web application server (hereinafter referred to as a WAS) and a database management system (hereinafter referred to as a DBMS) alone. It is not about technology but about technology to integrate and monitor the performance from WAS to DBMS.

1990년대 후반 인터넷의 보급과 일반화를 통해 각종 정보 서비스가 유연함과 사용자 접근성이 높은 웹 어플리케이션 형태로 구현되고, 이에 따라 IT 인프라 시스템은 클라이언트/서버 구조에서 웹 기반 구조로 변화되었다. 웹 기반 구조는 기본적으로 WEB - WAS - DBMS로 구성되며 더 복잡하게 구성될 수 있다.Through the spread and generalization of the Internet in the late 1990s, various information services were implemented in the form of web applications with high flexibility and user accessibility. As a result, the IT infrastructure system was changed from client / server structure to web-based structure. The web infrastructure is basically composed of WEB-WAS-DBMS and can be more complicated.

WAS는 웹으로 구현되는 사용자 어플리케이션과 비즈니스 데이터를 관리하는 DBMS와의 연동을 지원하는 미들웨어로서의 기능과 시스템 보안 및 안정성, 그리고 다양한 웹 인프라의 구성 및 서비스 속도 향상을 위한 기능을 제공한다. WAS는 대 부분이 자바 기반으로 J2EE(Java Platform Enterprise Edition) 표준을 수용하고 있으나, .Net이나 Citrix 기반인 비JAVA 계열도 존재한다. WAS의 대부분을 차지하는 J2EE는 자바로 구현된 어플리케이션(대표적 웹)을 동작시킬 수 있는 환경을 표준화한 것이다.WAS provides functions as middleware that supports interworking with DBMS that manages user applications and business data implemented on the web, system security and stability, and functions to speed up configuration and service of various web infrastructures. WAS is mostly Java-based and accepts the Java Platform Enterprise Edition (J2EE) standard, but there are also non-JAVA families that are based on .Net or Citrix. J2EE, which accounts for most of WAS, is a standardized environment for running Java applications (representative web).

DBMS는 다수의 사용자들이 데이터베이스 내에 데이터를 기록하거나 접근할 수 있도록 해주는 프로그램으로서, SQL(Structure Query Language)을 사용자 및 프로그램 인터페이스로 사용하여 사용자가 요구사항 데이터들을 이용할 수 있게 해준다. 대표적으로는 오라클 사의 Oracle DBMS, IBM 사의 DB2, 마이크로소프트 사의 SQL Server 등이 있다.A DBMS is a program that allows multiple users to write or access data in a database. Using DB (Structure Query Language) as a user and program interface, users can access requirements data. Examples include Oracle's Oracle DBMS, IBM's DB2, and Microsoft's SQL Server.

한편, IT 인프라 환경은 더 이상 기반 시설로서의 역할이 아니라 회사의 생존과 매출에 직결되며, 고객이 요구하는 서비스의 수준은 갈수록 높아지고 있다. 이에 따라 시스템의 무정지, 무결성이 강조되는 IT 서비스의 가용성의 확보에 대한 노력이 지속되고 있으며, 실시간 비즈니스 구현을 실현하기 위해 웹 어플리케이션 시스템을 구성하는 단위 시스템인 WAS와 DBMS 뿐만 아니라, 대표적인 병목구간인 WAS와 DBMS 간의 업무 수행 등에 대한 통합적이고 실시간의 장애 및 성능관리의 필요성이 갈수록 증대되고 있다.Meanwhile, the IT infrastructure environment no longer serves as an infrastructure but is directly related to the company's survival and sales, and the level of service required by customers is increasing. As a result, efforts are being made to secure the availability of IT services that emphasize system non-stoppage and integrity. In addition to WAS and DBMS, which are the unit systems that make up the web application system, to realize real-time business implementation, Increasingly, the need for integrated and real-time fault and performance management on the work between WAS and DBMS is increasing.

갈수록 대형화되고 복잡해지는 웹 기반 시스템 하에서 대량의 트랜잭션을 실시간으로 처리하는 OLTP(online transaction processing) 환경이 확산됨에 따라, 어플리케이션이 수행되는 WAS와 데이터를 관리하는 DBMS의 성능을 효과적으로 모니 터링 하고자 하는 노력이 계속되고 있다.As the online transaction processing (OLTP) environment, which handles large amounts of transactions in real time under the increasingly large and complex web-based system, is spreading, efforts to effectively monitor the performance of the WAS and the DBMS that manages the data are being implemented. It is going on.

WAS(예 : J2EE)의 성능을 모니터링 하는 종래의 기술은 모니터링 대상 WAS에 성능정보를 수집하는 에이전트를 설치하여 성능 정보를 기록하는 전용서버에 UDP(User Datagram Protocol) 포트로 성능 정보를 기록한다. 사용자 PC의 클라이언트는 TCP(Transmission Control Protocol) 포트로 성능 기록 전용서버와 통신하여 실시간으로 성능 정보를 모니터링 한다. 수집되는 성능 정보들은 접속중인 동시 단말 사용자수(Concurrent User), Active 서비스 목록, Active JDBC 연결/할당/수행상태, 응답시간, 업무처리량, SQL문 등이며, 제공되는 실시간 성능 데이터에 사용자가 임계값을 설정하여 성능 문제의 발생을 신속하게 인지할 수 있다. 또한, 실시간에 수집한 정보 중 임계값을 넘어 문제가 된 경우에는 WAS의 트랜잭션 수량 데이터를 수집(dump)하여, 임계값을 넘게 된 원인의 분석이 가능토록 한다.In the conventional technology of monitoring the performance of a WAS (eg J2EE), an agent collecting performance information is installed in a WAS to be monitored, and the performance information is recorded by using a UDP (User Datagram Protocol) port on a dedicated server that records the performance information. Client of user PC monitors performance information in real time by communicating with performance recording server through TCP (Transmission Control Protocol) port. The collected performance information includes the number of concurrent users, active service list, active JDBC connection / allocation / execution status, response time, throughput, SQL statement, etc. You can set up to quickly recognize the occurrence of performance problems. In addition, in case of a problem exceeding a threshold value among information collected in real time, the transaction quantity data of the WAS is collected to enable analysis of the cause of exceeding the threshold value.

그런데 이 기술은 임계값을 넘어 문제가 된 경우에만 수행 정보가 확보되게 되므로 임계값을 설정하지 않은 경우 혹은, 과거의 전반적인 추이 분석이 필요할 경우는 활용이 불가능하다. 그리고 DBMS에서 수행되는 SQL문 정보는 확인이 되나, 확인된 SQL문이 DBMS에서 지연될 경우 그 원인과 해결방법을 추적할 수는 없다. 또한, WAS와 DBMS간의 연결이 1대1이 아닌 다대다 환경으로 웹 기반 시스템이 복잡해 짐에 따라, 특정 WAS에서 성능 문제가 발생할 경우 어느 DBMS와의 연결에서 문제가 발생되었는지 직관적으로 확인할 수 어렵다는 한계가 있다.However, this technique can be used only when the threshold value is exceeded and the performance information is secured only when there is a problem. And the information of SQL statement executed in DBMS is confirmed, but if the confirmed SQL statement is delayed in DBMS, the cause and solution cannot be traced. In addition, as the web-based system is complicated by the many-to-many environment where the connection between the WAS and the DBMS is not one-to-one, when the performance problem occurs in a specific WAS, it is difficult to intuitively check which DBMS the problem has occurred. have.

DBMS(예 : Oracle DBMS)의 성능을 모니터링 하는 종래의 기술은 DBMS가 설치된 서버에 DBMS에서 발생하는 각종 성능 정보들을 수집하는 에이전트를 설치하여 TCP 포트를 통하여 에이전트와 사용자 PC가 통신함으로써 성능 정보를 저장, 모니터링 한다. 수집되는 성능 정보들은 오라클의 DBMS에 의해 생성되는 데이터베이스의 성능데이터(성능통계(Performance Statistics) 데이터 및 대기 사건(Waiting Event) 데이터), Active 세션 정보, 응답시간 등이며, 전체 시스템 레벨, 사용자 세션 레벨, SQL문 레벨로 실시간으로 제공된다. 제공되는 실시간 성능 데이터에 사용자가 임계값을 설정하여 성능 문제의 발생을 신속하게 인지할 수 있다. 또한, 실시간에 수집한 정보를 빠짐없이 파일 또는 정보수집 데이터베이스 형태로 기록하여, 기록된 로그 파일을 통해 과거의 DBMS의 성능을 확인, 분석할 수 있다. 따라서, 성능 데이터베이스 관리자(DataBase Administrator : DBA) 및 전문 컨설턴트인 데이터베이스 튜너가 DBMS에 대한 성능 개선 해법을 제공할 수 있다.Conventional technology for monitoring the performance of a DBMS (eg Oracle DBMS) installs an agent that collects various performance information generated from the DBMS on a server where the DBMS is installed and stores the performance information by communicating with the user PC through the TCP port. , Monitor. The collected performance information includes performance data (Performance Statistics data and Waiting Event data), Active session information and response time of database generated by Oracle's DBMS. Overall system level, user session level It is provided in real time at the SQL statement level. Real-time performance data is provided so that users can set thresholds to quickly identify occurrences of performance issues. In addition, by collecting the information collected in real time in the form of a file or information collection database, it is possible to check and analyze the performance of the past DBMS through the log file recorded. Thus, a database tuner, a database administrator (DBA) and expert consultant, can provide a performance improvement solution for the DBMS.

그런데 이 기술은 DBMS 내에서의 성능 향상은 기대할 수 있으나, DBMS 자체의 문제가 아닌 경우 즉, 어플리케이션 전체에 대한 성능 지연의 원인 파악 및 성능 개선이 어렵고, DBMS가 접속 불가능한 행(Hang) 상태인 경우에는 모니터링이 어렵다는 한계점이 있다. However, this technique can be expected to improve performance in the DBMS, but it is not a problem of the DBMS itself, that is, it is difficult to identify the cause of the performance delay and improve the performance of the application as a whole, and the DBMS is in an inaccessible hang state. There is a limitation in that monitoring is difficult.

웹 어플리케이션의 안정 가동 및 서비스 수준의 보장을 위해서는 실시간 모니터링, 장애 및 성능지연에 대한 신속 대처, 그리고 근본 원인의 규명이 필수적이다.Real-time monitoring, rapid response to failures and performance delays, and identification of root causes are essential to ensure stable operation and service level of web applications.

종래의 기술은 웹 어플리케이션을 수행하기 위한 기반 시스템의 주요 구성 요소인 WAS와 DBMS 간의 통합 감시 및 장애와 성능 지연에 대한 연계추적이 어렵다 는 한계점을 가지고 있다.The conventional technology has a limitation in that integrated monitoring between WAS and DBMS, which is a major component of the base system for executing a web application, and tracking of failures and performance delays are difficult.

이로 인해, 다대다로 구성되는 WAS와 DBMS간의 환경에서, 문제가 발생한 WAS와 관련된 DBMS를 직관적으로 파악할 수 없다. As a result, in an environment between WAS and DBMS composed of many-to-many, it is not possible to intuitively grasp the DBMS related to the problem WAS.

또한, WAS관점에서 모니터링 된 SQL문이 DBMS에서 문제가 될 경우, DBMS에서 어떤 문제가 발생하고 있는지 근본 원인을 추적할 수 없다.In addition, if the SQL statement monitored from the WAS perspective becomes a problem in the DBMS, the root cause of the problem in the DBMS cannot be traced.

또한, DBMS관점에서 어플리케이션에 문제가 파악되지 않음에도 어플리케이션의 성능이 지연될 경우, DBMS 앞단의 WAS에서 어떤 문제가 발생하고 있는지 근본 원인을 추적할 수 없다.In addition, if the performance of the application is delayed even though the application is not identified from the DBMS point of view, the root cause cannot be tracked as to what problem is occurring in the WAS in front of the DBMS.

또한, 실시간에 수집한 정보 중 임계값을 설정하고 문제가 된 경우의 WAS 트랜잭션 수량 데이터를 dump하여 확보하므로 임계값을 설정하지 않거나 과거의 전반적인 추이를 분석하고자 할 경우 활용이 불가능하다.In addition, since the threshold value is set among the information collected in real time and the WAS transaction quantity data is dumped and secured in case of a problem, it cannot be used when the threshold value is not set or the overall trend of the past is to be analyzed.

또한, DBMS에 접속 불가능한 행(Hang) 상태인 경우에는 모니터링 정보 수집이 어렵다.In addition, it is difficult to collect monitoring information in a hang state where the DBMS cannot be accessed.

본 발명은 상기한 종래의 문제점을 해결하고 웹 어플리케이션의 안정 가동에 영향을 미치는 WAS와 DBMS를 각각 모니터링 접근하던 그간의 형태를 벗어나, WAS와 DBMS를 연계하여 모니터링 하고, 장애와 성능 지연에 대해 신속히 대처하고 근본 원인을 규명할 수 있는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 어플리케이션 성능 모니터링 장치 및 그 방법을 제공함을 그 목적으로 한다.The present invention solves the above-mentioned problems and escapes the form of monitoring and accessing the WAS and DBMS, respectively, which affects the stable operation of the web application, and monitors the WAS and the DBMS in conjunction with each other. The purpose of the present invention is to provide an apparatus and method for monitoring application performance through linkage of WAS transactions and DBMS sessions that can cope with and identify the root cause.

또한, 본 발명은 현재를 포함한 가장 가까운 과거 시점의 웹 어플리케이션의 성능을 용이하게 모니터링하고 재현할 수 있는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 어플리케이션 성능 모니터링 장치 및 그 방법을 제공함을 그 목적으로 한다.Another object of the present invention is to provide an apparatus and method for monitoring application performance through linkage between a WAS transaction and a DBMS session, which can easily monitor and reproduce the performance of a web application of the nearest past time point including the present.

또한, 본 발명은 다대다로 구성된 WAS와 DBMS 환경에서 전체적인 통합 모니터링을 제공할 수 있는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 어플리케이션 성능 모니터링 장치 및 그 방법을 제공함을 그 목적으로 한다.In addition, an object of the present invention is to provide an apparatus and method for monitoring application performance through linkage of WAS transactions and DBMS sessions that can provide overall integrated monitoring in a WAS and DBMS environment composed of many-to-many.

또한, 본 발명은 DBMS에 접속 불가능한 상황에서도 장애의 원인을 규명할 수 있는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 성능 모니터링 장치 및 그 방법을 제공함을 그 목적으로 한다.In addition, an object of the present invention is to provide an apparatus and method for performance monitoring through linkage of a WMS transaction and a DBMS session that can identify the cause of a failure even when the DBMS cannot be accessed.

상기의 목적을 달성하기 위하여, 본 발명에 의한 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치는, 하나 이상의 웹 어플리케이션 서버와 하나 이상의 데이터베이스 관리 시스템을 포함하여 이루어진 웹 기반 구조에서 특정 웹 어플리케이션 서버의 트랜잭션과 특정 데이터베이스 관리 시스템의 세션이 매칭되어 연계된 성능 정보를 모니터링하는 장치로서, 상기 웹 어플리케이션 서버와 함께 웹 어플리케이션 서버 시스템에 설치되어 동작하고, 상기 웹 어플리케이션 서버에서 특정 트랜잭션이 수행될 때 세션 접속이 이루어진 데이터베이스 관리 시스템의 세션 식별자(SID)와 상기 웹 어플리케이션 서버의 성능 정보를 수집하여 상기 세션 접속이 이루어진 데이터베이스 관리 시스템의 DBMS 성능정보수집 에이전트로 실시간 전송하는 WAS 성능정보수집 에이전트; 상기 데이터베이스 관 리 시스템과 함께 데이터베이스 관리 시스템 서버에 설치되어 동작하고, 상기 WAS 성능정보수집 에이전트로부터 전송된 세션 식별자(SID)와 상기 웹 어플리케이션 서버의 성능 정보를 수신하고, 상기 세션 식별자(SID)를 매개로 하여 상기 웹 어플리케이션 서버의 성능 정보와 연계된 상기 데이터베이스 관리 시스템의 성능 정보를 수집하여 리파지토리로 전송하는 DBMS 성능정보수집 에이전트; 및 상기 DBMS 성능정보수집 에이전트로부터 전송된 상호 연계된 상기 웹 어플리케이션 서버의 성능 정보와 상기 데이터베이스 관리 시스템의 성능 정보를 저장하고, 사용자의 요청에 따라 특정 웹 어플리케이션 서버의 트랜잭션과 특정 데이터베이스 관리 시스템의 세션 사이의 연계된 성능 정보를 하나의 통합된 화면에 표시하는 리파지토리를 포함하여 구성된다.In order to achieve the above object, the web application performance monitoring apparatus through the connection of the WAS transaction and the DBMS session according to the present invention, a web application specific web application structure comprising one or more web application server and one or more database management system A device for monitoring performance information associated with a transaction of a server and a session of a specific database management system, the device being installed and operated in a web application server system together with the web application server, and performing a specific transaction in the web application server. Collects the session identifier (SID) of the database management system that has made a session connection and the performance information of the web application server, and is a real-time agent for collecting DBMS performance information of the database management system that has made the session connection. Song WAS performance information collection agent that; It is installed and operated in a database management system server with the database management system, and receives the session identifier (SID) and the performance information of the web application server transmitted from the WAS performance information collection agent, and receives the session identifier (SID) A DBMS performance information collection agent for collecting performance information of the database management system associated with the performance information of the web application server and transmitting the performance information to a repository; And the performance information of the web application server and the performance information of the database management system, which are interconnected from the DBMS performance information collection agent, and store a transaction of a specific web application server and a session of a specific database management system according to a user's request. It consists of a repository that displays the associated performance information between them in one integrated screen.

상기의 목적을 달성하기 위하여, 본 발명에 의한 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 방법은, 하나 이상의 웹 어플리케이션 서버와 하나 이상의 데이터베이스 관리 시스템을 포함하여 이루어진 웹 기반 구조에서 특정 웹 어플리케이션 서버의 트랜잭션과 특정 데이터베이스 관리 시스템의 세션이 매칭되어 연계된 성능 정보를 모니터링하는 방법으로서, (a) 웹 어플리케이션 서버에서 특정 트랜잭션이 수행될 때, 웹 어플리케이션 서버 시스템에 설치된 WAS 성능정보수집 에이전트가 세션 접속이 이루어진 데이터베이스 관리 시스템의 세션 식별자(SID)를 수집하여 저장하는 단계; (b) 상기 WAS 성능정보수집 에이전트가 상기 웹 어플리케이션 서버의 성능 정보를 수집하여 세션 식별자(SID)와 함께 상기 세션 접속이 이루어진 데이터베이스 관리 시스템으로 실시간 전송하는 단 계; (c) 데이터베이스 관리 시스템 서버에 설치된 DBMS 성능정보수집 에이젼트가 상기 WAS 성능정보수집 에이전트로부터 전송된 세션 식별자(SID)와 상기 웹 어플리케이션 서버의 성능 정보를 수신하고, 상기 세션 식별자(SID)를 매개로 하여 상기 웹 어플리케이션 서버의 성능 정보와 연계된 상기 데이터베이스 관리 시스템의 성능 정보를 수집하여 리파지토리로 전송하는 단계; (d) 리파지토리가 상기 DBMS 성능정보수집 에이전트로부터 전송된 상호 연계된 상기 웹 어플리케이션 서버의 성능 정보와 상기 데이터베이스 관리 시스템의 성능 정보를 저장하는 단계; 및 (e) 리파지토리가 사용자의 요청에 따라 특정 웹 어플리케이션 서버의 트랜잭션과 특정 데이터베이스 관리 시스템의 세션 사이의 연계된 성능 정보를 하나의 통합된 화면에 표시하는 단계;를 포함하여 구성된다.In order to achieve the above object, a web application performance monitoring method by linking a WAS transaction and a DBMS session according to the present invention includes a specific web application in a web infrastructure including one or more web application servers and one or more database management systems. A method of monitoring performance information associated with a match between a server transaction and a session of a specific database management system. (A) When a specific transaction is executed in a web application server, a WAS performance information collecting agent installed in the web application server system performs a session. Collecting and storing a session identifier (SID) of a connected database management system; (b) collecting, by the WAS capability information collecting agent, performance information of the web application server and transmitting the capability information together with a session identifier (SID) to a database management system in which the session is connected; (c) The DBMS performance information collecting agent installed in the database management system server receives the session identifier (SID) and the performance information of the web application server transmitted from the WAS performance information collecting agent, and through the session identifier (SID) Collecting performance information of the database management system associated with the performance information of the web application server and transmitting the collected performance information to a repository; (d) storing, by the repository, performance information of the web application server and the performance information of the database management system interrelated with each other transmitted from the DBMS performance information collection agent; And (e) the repository displaying the associated performance information between the transaction of the specific web application server and the session of the specific database management system in one integrated screen at the request of the user.

본 발명에 의하면, WAS의 수많은 트랜잭션과 DBMS의 수많은 세션 중에 어느 트랜잭션이 어느 세션과 연결 되는지를 트랜잭션이 진행되는 정보수집 단계에서부터 1:1로 매칭하여 수집, 리파지토리(Repository)에 연관 구조로 저장하므로 종래의 기술의 한계점들을 극복하며, 사용자가 직접 매칭하는 수작업을 거치지 않고 WAS와 DBMS의 연계 정보를 정확하게 한눈에 모니터링 할 수 있다.According to the present invention, since one of the numerous transactions of the WAS and the sessions of the DBMS is connected to which session, the information is collected and stored in the repository as an associative structure from the information gathering stage where the transaction proceeds. Overcoming the limitations of the prior art, it is possible to accurately monitor the linkage information between the WAS and the DBMS at a glance without going through manual matching by the user.

이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1에 도시된 바와 같이, 본 발명에 의한 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치는 하나 이상의 웹 어플리케이션 서 버(WAS)(12_1, 12_n)와 하나 이상의 데이터베이스 관리 시스템(DBMS)(22_1, 22_n)을 포함하여 이루어진 웹 기반 구조에서 구현된다. 이하에서, 웹 어플리케이션 서버(WAS) (12_1, 12_n)가 설치되어 동작하는 정보 처리 시스템을 웹 어플리케이션 서버(WAS) 시스템(10_1, 10_n)이라 하고, 데이터베이스 관리 시스템(DBMS) (22_1, 22_n)이 설치되어 동작하는 정보 처리 시스템을 데이터베이스 관리 시스템(DBMS) 서버(20_1, 20_n)라 한다. 본 발명에 의한 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치는 웹 어플리케이션 서버(WAS) 시스템(10_1, 10_n)에 설치되어 동작하는 WAS 성능정보수집 에이전트(14_1, 14_n)와, 데이터베이스 관리 시스템(DBMS) 서버(20_1, 20_n)에 설치되어 동작하는 DBMS 성능정보수집 에이전트(24_1, 24_n)와, 별도의 정보 처리 시스템으로 구현된 리파지토리(Repository)(30)를 포함하여 구현된다. 도 1에서 도시된 바와 같은 웹 기반 구조에서 WAS(12_1, 12_n)는 DBMS(22_1, 22_n)와 다대다 접속이 가능하므로, 각각의 WAS(12_1, 12_n)에 대응하는 WAS 성능정보수집 에이전트(14_1, 14_n)는 각각의 DBMS(22_1, 22_n)에 대응하는 DBMS 성능정보수집 에이전트(24_1, 24_n)와의 접속이 가능하다.As shown in FIG. 1, the apparatus for monitoring web application performance by linking a WAS transaction and a DBMS session according to the present invention includes at least one web application server (WAS) 12_1 and 12_n and at least one database management system (DBMS). It is implemented in a web-based structure comprising (22_1, 22_n). Hereinafter, the information processing system in which the web application server (WAS) 12_1 and 12_n is installed and operated will be referred to as the web application server (WAS) system 10_1 and 10_n, and the database management system (DBMS) 22_1 and 22_n may be referred to. The information processing system installed and operated is called database management system (DBMS) server 20_1, 20_n. Web application performance monitoring device through the connection of the WAS transaction and DBMS session according to the present invention is WAS performance information collection agent (14_1, 14_n) installed and operated in the web application server (WAS) system (10_1, 10_n), database management DBMS performance information collecting agent (24_1, 24_n) installed and operated in the system (DBMS) server (20_1, 20_n) and the repository (Repository) 30 implemented as a separate information processing system is implemented. Since the WAS 12_1 and 12_n can have many-to-many connections with the DBMSs 22_1 and 22_n in the web-based structure as shown in FIG. 1, the WAS performance information collecting agent 14_1 corresponding to each WAS 12_1 and 12_n. , 14_n may be connected to the DBMS performance information collecting agents 24_1 and 24_n corresponding to the respective DBMSs 22_1 and 22_n.

WAS 성능정보수집 에이전트(14_1)는 웹 어플리케이션 서버(WAS) (12_1)에서 특정 트랜잭션이 수행될 때 세션 접속이 이루어진 데이터베이스 관리 시스템(DBMS)(22_1)의 세션 식별자(SID)를 수집하여 저장하고, 수집된 세션 식별자(SID)를 웹 어플리케이션 서버(12_1)에서 수집된 성능 정보와 함께 세션 접속이 이루어진 데이터베이스 관리 시스템(DBMS)(22_1)의 DBMS 성능정보수집 에이전 트(24_1)로 실시간 전송한다. 이때, WAS 성능정보수집 에이전트(14_1)와 DBMS 성능정보수집 에이전트(24_1)는 사용자 데이터그램 프로토콜(UDP) 통신을 사용하여 데이터를 주고받는 것이 바람직하다.The WAS performance information collecting agent 14_1 collects and stores a session identifier (SID) of a database management system (DBMS) 22_1 that has made a session connection when a specific transaction is performed in the web application server (WAS) 12_1, The collected session identifier (SID) is transmitted in real time to the DBMS performance information collecting agent 24_1 of the database management system (DBMS) 22_1 where a session connection is made together with the performance information collected by the web application server 12_1. In this case, the WAS performance information collecting agent 14_1 and the DBMS performance information collecting agent 24_1 may exchange data using user datagram protocol (UDP) communication.

DBMS 성능정보수집 에이전트(24_1)는 WAS 성능정보수집 에이전트(14_1)로부터 전송된 세션 식별자(SID)와 웹 어플리케이션 서버의 성능 정보를 수신하고, 세션 식별자(SID)를 매개로 하여 웹 어플리케이션 서버의 성능 정보와 연계된 데이터베이스 관리 시스템의 성능 정보를 수집한다. DBMS 성능정보수집 에이전트(24_1)는 세션 식별자(SID)를 매개로 하여 연계된 웹 어플리케이션 서버의 성능 정보와 데이터베이스 관리 시스템의 성능 정보를 리파지토리(30)로 전송한다.The DBMS performance information collecting agent 24_1 receives the session identifier (SID) and the performance information of the web application server transmitted from the WAS performance information collecting agent 14_1, and performs the performance of the web application server through the session identifier (SID). Collect performance information of the database management system associated with the information. The DBMS performance information collection agent 24_1 transmits the performance information of the associated web application server and the performance information of the database management system to the repository 30 through the session identifier SID.

리파지토리(30)는 DBMS 성능정보수집 에이전트(24_1)로부터 전송된 상호 연계된 웹 어플리케이션 서버의 성능 정보와 데이터베이스 관리 시스템의 성능 정보를 저장하고, 사용자의 요청에 따라 특정 웹 어플리케이션 서버(12_1, 12_n)의 트랜잭션과 특정 데이터베이스 관리 시스템(22_1, 22_n)의 세션 사이의 연계된 성능 정보를 하나의 통합된 화면에 표시한다.The repository 30 stores the performance information of the interconnected web application server and the performance information of the database management system transmitted from the DBMS performance information collection agent 24_1, and according to the request of the user, the specific web application servers 12_1 and 12_n. Performance information associated between the transaction of the and the session of the specific database management system (22_1, 22_n) is displayed on one integrated screen.

한편, WAS 성능정보수집 에이전트(14_1)에서 수집된 웹 어플리케이션 서버의 성능 정보 중 데이터베이스 관리 시스템과 관련되지 않은 정보는 WAS 성능정보수집 에이전트(14_1)가 DBMS 성능정보수집 에이전트(24_1)를 거치지 않고 바로 리파지토리(30)에 전송하여 저장하도록 하는 것이 바람직하다. 또한, DBMS 성능정보수집 에이전트(24_1)에서 수집된 데이터베이스 관리 시스템의 성능 정보 중 웹 어플리케이션 서버와 관련되지 않은 정보도 DBMS 성능정보수집 에이전트(24_1)가 세션 식별 자(SID)를 매개로 하여 연계하는 과정 없이 바로 리파지토리(30)에 전송하여 저장하도록 하는 것이 바람직하다.Meanwhile, among the performance information of the web application server collected by the WAS performance information collecting agent 14_1, information that is not related to the database management system, the WAS performance information collecting agent 14_1 does not go directly through the DBMS performance information collecting agent 24_1. It is preferable to transmit to the repository 30 to be stored. In addition, among the performance information of the database management system collected by the DBMS performance information collecting agent 24_1, information not related to the web application server is also linked by the DBMS performance information collecting agent 24_1 through the session identifier (SID). It is preferable to transmit the data to the repository 30 directly without any process.

이하에서, 자바 기반으로 J2EE(Java Platform Enterprise Edition) 표준을 수용한 WAS(이하에서, 단순히 WAS라 한다)와 오라클 DBMS(이하에서 단순히 DBMS라 한다)를 대상으로 하여 구현된 본 발명의 바람직한 실시예를 구체적으로 설명하기로 한다.Hereinafter, a preferred embodiment of the present invention implemented for a WAS (hereinafter simply referred to as a WAS) and an Oracle DBMS (hereinafter simply referred to as a DBMS) adopting the Java Platform Enterprise Edition (J2EE) standard based on Java. It will be described in detail.

WAS에서 DBMS를 액세스하여 트랜잭션이 수행되는 과정은 일반적으로 다음과 같다.Generally, the process of executing transaction by accessing DBMS in WAS is as follows.

- getConnection Step : 클라이언트로부터 요청을 받아 DBMS에 접속하기 위해서 커넥션 객체를 획득.getConnection Step: Gets a connection object to receive a request from a client and connect to a DBMS.

- Prepare Step : PrepareStatement 구문을 이용해 SQL문을 파싱.Prepare Step: Parse an SQL statement using the PrepareStatement statement.

- Execute Step : ExecuteQuery 구문을 이용해 SQL문을 실행.-Execute Step: Execute SQL statement using ExecuteQuery statement.

- Open ResultSet Step : ExecuteQuery에서 실행된 결과를 result Set으로 가져옴.Open ResultSet Step: Get the result executed in ExecuteQuery into result set.

- Fetch Step : 실행된 결과값을 패치. Fetch Step: Patch the executed result.

- ResultSet close Step : 데이터 처리가 완료되면 result set을 Close.-ResultSet close Step: Close the result set when data processing is completed.

- Statement close Step : 파싱된 SQL문을 Close.Statement close Step: Close the parsed SQL statement.

- Connection close Step : 수행이 끝나고 더 이상 DBMS에서 작업을 하지 않 을 경우, 커넥션 객체를 커넥션 풀로 반환.-Connection close Step: Return the connection object to the connection pool when the operation is finished and no further work is done in the DBMS.

이 과정은 다음과 같이 구현될 수 있다.This process can be implemented as follows.

public class DBTest {public class DBTest {

public static void main(String[] args) throws Exception {     public static void main (String [] args) throws Exception {

Class.forName("jdbc driver...");        Class.forName ("jdbc driver ...");

Connection conn = ...getConnection()...; => GetConnection Step        Connection conn = ... getConnection () ...; => GetConnection Step

query=("select..."); => SQL Text        query = ("select ..."); => SQL Text

pre = conn.prepareStatement(query); => Prepare Step        pre = conn.prepareStatement (query); => Prepare Step

rs = pre.executeQuery(); => Execute Step, Open ResultSet Step        rs = pre.executeQuery (); => Execute Step, Open ResultSet Step

while (rs.next) => Fetch Step        while (rs.next) => Fetch Step

{        {

System.out.println(rs.getString(...));          System.out.println (rs.getString (...));

}        }

rs.close(); => ResultSet close Step        rs.close (); => ResultSet close Step

pre.close(); => Statement close Step        pre.close (); => Statement close Step

conn.close(); => Connection close Step        conn.close (); => Connection close Step

}     }

}   }

도 2에서 웹 어플리케이션 서버 시스템(50), 데이터베이스 관리 시스템 서버(60) 및 리파지토리(70)는 각각 도 1의 웹 어플리케이션 서버 시스템(10_1, 10_n), 데이터베이스 관리 시스템 서버(20_1, 20_n) 및 리파지토리(30)에 대응되고, WAS(53) 및 모니터링 대상 DBMS(61)은 각각 도 1의 WAS(12_1, 12_n) 및 DBMS(22_1, 22_n)에 대응되고, jspd 데몬(56) 및 rts 데몬(62)은 각각 WAS 성능정보수집 에이젼트(14_1, 14_n) 및 DBMS 성능정보수집 에이젼트(24_1, 24_n)에 대응된다.In FIG. 2, the web application server system 50, the database management system server 60, and the repository 70 are respectively the web application server systems 10_1 and 10_n, the database management system servers 20_1 and 20_n, and the repository (FIG. 1). 30), the WAS 53 and the monitored DBMS 61 correspond to the WAS 12_1, 12_n and DBMS 22_1, 22_n of FIG. 1, respectively, and the jspd daemon 56 and the rts daemon 62. Corresponds to the WAS performance information collecting agents 14_1 and 14_n and the DBMS performance information collecting agents 24_1 and 24_n, respectively.

웹 어플리케이션 서버 시스템(50)에서 동작하는 운영체제(Operating Systems : OS)(51) 상에 자바 언어로 작성된 프로그램을 실행할 수 있게 해 주는 가상 머신인 JVM(Java Virtual Machine)(52)이 동작하고, JVM(52) 상에 JDBC(Java DataBase Connectivity)(54) 및 JSP(Java Server Page)/Servlet(55)을 구비한 WAS(53)와 jspd 데몬(56)이 설치되어 동작한다. 여기서, JDBC(54)는 자바 프로그램이 DBMS에 접속하여 SQL 문을 수행할 수 있도록 지원해 주는 인터페이스이고, JSP/Servlet(55)은 자바 프로그램을 호출해 사용자에게 다이나믹한 웹페이지의 내용과 모양을 보여주기 위한 언어와 프로그램이다. A JVM (Java Virtual Machine) 52, which is a virtual machine that enables a program written in a Java language to be executed on an operating system (OS) 51 operating in the web application server system 50, operates, and the JVM A WAS 53 having a Java DataBase Connectivity (JDBC) 54 and a Java Server Page (JSP) / Servlet 55 and a jspd daemon 56 are installed and operated on the 52. Here, JDBC 54 is an interface that allows a Java program to access a DBMS and execute SQL statements. JSP / Servlet 55 calls a Java program to show the content and appearance of a dynamic web page to the user. The language and program to give.

jspd 데몬(56)는 데몬 프로그램으로 구현되고, 기능적으로 SID 수집부(SID Gather)(56a), WAS 정보 수집부(WAS Gather)(56b) 및 데이터 전송부(Data Transfer)(56c)를 포함하여 구성된다. rts 데몬(62)도 데몬 프로그램으로 구현되 고, 기능적으로 SID 수신부(SID Receiver)(62a), 데이터 수집부(Data Gather)(62b) 및 데이터 전송부(Data Transfer)(62c)를 포함하여 구성된다. 리파지토리(Repository)(70)는 기능적으로 데이터 처리 관리부(Data Handling Manager)(71), 저장 DB(Repository Database)(72) 및 표시 관리부(Display Service Manager)(73)를 구비한다.The jspd daemon 56 is implemented as a daemon program, and functionally includes a SID Gather 56a, a WAS Gather 56b, and a Data Transfer 56c. It is composed. The rts daemon 62 is also implemented as a daemon program, and functionally includes an SID receiver 62a, a data gatherer 62b, and a data transfer 62c. do. The repository 70 functionally includes a data handling manager 71, a storage database 72, and a display service manager 73.

도 3에 의하면, 본 발명에 의한 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 방법은 WAS(53)의 트랜잭션과 연관된 DBMS(61)의 SID를 각각 수집, 저장하는 단계(S100 내지 S130)와, WAS(53)에서 수집된 SID를 데이터베이스 관리 시스템 서버(60)에 실시간으로 전송하는 단계(S140, S160, S180, S200, S220)와, 전송 받은 SID로 WAS(53)의 트랜잭션을 DBMS 세션과 1:1 매칭하는 단계(S150, S170, S190, S210, S230)와, SID로 연결된 WAS 정보와 DBMS 정보를 연계된 형태로 리파지토리(repository)(70)에 저장하는 단계(S260)와, 연계 정보를 통합 모니터링 화면을 통해 사용자가 모니터링 하는 단계(S270)를 포함하여 이루어진다.Referring to FIG. 3, the web application performance monitoring method through linking a WAS transaction and a DBMS session according to the present invention includes collecting and storing SIDs of the DBMS 61 associated with a transaction of the WAS 53 (S100 to S130). And transmitting the SID collected by the WAS 53 to the database management system server 60 in real time (S140, S160, S180, S200, S220), and performing a transaction of the WAS 53 with the received SID. And 1: 1 matching with (S150, S170, S190, S210, S230), and storing the WAS information and the DBMS information connected by the SID in the repository 70 in a linked form (S260). The user monitors the information through the integrated monitoring screen (S270).

한편, jspd 데몬(56)의 WAS 정보 수집부(WAS Gather)(56b)가 DBMS(61)와 관련되지 않은 트랜잭션의(예: 웹페이지에서 인사말 표시) WAS 정보를 수집한 경우(S240), jspd 데몬(56)의 데이터 전송부(Data Transfer)(56c)는 수집된 WAS 고유 정보를 rts 데몬(62)으로 전송하지 않고 바로 리파지토리(repository)(70)로 전송하여 저장하도록 한다(S260). 또한, rts 데몬(62)의 데이터 수집부(Data Gather)(62b)가 WAS(53)와 관련되지 않은 DBMS 수행정보(예: 텔넷으로 SQL문 실행)를 수집한 경우(S250), rts 데몬(62)은 jspd 데몬(56)과 관계없이 바로 리파지토리(repository)(70)로 전송하여 저장하도록 한다(S260).On the other hand, when the WAS information collector (WAS Gather) 56b of the jspd daemon 56 collects WAS information of a transaction that is not related to the DBMS 61 (for example, displaying a greeting on a web page) (S240), jspd The data transfer unit 56c of the daemon 56 transmits and stores the collected WAS-specific information directly to the repository 70 without transmitting the collected WAS-specific information to the rts daemon 62 (S260). In addition, when the data collector 62b of the rts daemon 62 collects DBMS execution information (for example, executing an SQL statement through telnet) not related to the WAS 53 (S250), the rts daemon ( 62 is directly transmitted to the repository 70 regardless of the jspd daemon 56 to be stored (S260).

1. WAS의 트랜잭션과 연관된 DBMS의 SID를 각각 수집, 저장하는 단계1. Collecting and storing SIDs of DBMSs associated with WAS transactions

본 단계는 트랜잭션의 수행과정 중, 첫 번째인 getConnection Step에서 이루어진다.This step occurs in the first getConnection Step of the transaction.

DBMS(61)에 접속할 때 세션을 생성하는 것에 대한 오버헤드를 줄이기 위하여, WAS(53)에서는 커넥션 풀이라는 곳에 커넥션 객체를 만들어 놓고 클라이언트 요청 시 이 객체를 통해 DBMS(61)에 접속할 수 있게 한다. DBMS(61)에서 작업이 수행되어 완료되면 커넥션 객체는 다시 커넥션 풀로 반환된다. In order to reduce the overhead of creating a session when connecting to the DBMS 61, the WAS 53 creates a connection object in a connection pool and connects to the DBMS 61 through a client request. When the task is performed in the DBMS 61 and completed, the connection object is returned to the connection pool.

본 발명의 바람직한 일실시예에서는 트랜잭션과 연관된 DBMS(61)의 SID를 추출하기 위해, WAS(53)의 커넥션 풀에서 DBMS(61)에 세션 접속이 이루어질 때 사용되는 커넥션 객체의 map구조에 임의의 변수(exem_sid)를 설정하여 이 변수에 DBMS(61)의 SID를 저장하고, WAS(53)가 종료될 때까지 SID의 값을 가지고 있다. 단, WAS(53)가 시작되어 DBMS(61)에 최초로 접속하는 경우에는 java의 위빙(weaving) 기술(트랜잭션이 수행되는 각 과정에서 정보를 추출하기 위한 코드를 삽입하는 것을 이야기하는 일반화된 기술)을 이용하여 다음의 SID를 추출하는 SQL문을 수행하고(S100 내지 S120), 이를 통해 해당 세션의 SID를 exem_sid 변수에 저장한다(S130). 이 단계는 jspd 데몬(56)의 SID 수집부(SID Gather)(56a)가 수행한다.In a preferred embodiment of the present invention, in order to extract the SID of the DBMS 61 associated with the transaction, the map structure of the connection object used when a session connection is made to the DBMS 61 in the connection pool of the WAS 53 is optional. A variable (exem_sid) is set to store the SID of the DBMS 61 in this variable, and has a value of SID until the WAS 53 is terminated. However, when the WAS 53 starts and connects to the DBMS 61 for the first time, the weaving technique of java (generalized technique of inserting code for extracting information in each process of a transaction) is described. Perform the SQL statement to extract the next SID by using (S100 to S120), through which the SID of the session is stored in the exem_sid variable (S130). This step is performed by the SID Gather 56a of the jspd daemon 56.

SID추출 SQL문1 : select sid from v$mystat where rownum=1;SID extraction SQL statement 1: select sid from v $ mystat where rownum = 1;

(v$mystat에 대한 조회 권한이 없는 경우를 위해 뷰를 만들어서 제공하는 경우는 그 뷰를 사용한다)(If you create and provide a view in case you don't have permission to view v $ mystat, use that view.)

SID추출 SQL문2 : select userenv('sid') from dual;SID extraction SQL statement 2: select userenv ('sid') from dual;

SID추출 SQL문3 : select sid from v$session where sid = (select userenv('sessionid') from dual);SID extraction SQL statement 3: select sid from v $ session where sid = (select userenv ('sessionid') from dual);

2. WAS에서 수집된 SID를 DBMS 서버에 실시간으로 전송하는 단계2. Transmitting SID collected from WAS to DBMS server in real time

jspd 데몬(56)은 SID 수집 단계를 통해 WAS(53)에서 수행되는 트랜잭션과 연관된 DBMS(61)의 SID를 획득하고, SQL문 파싱이 수행되는 Prepare Step이 진행되기 직전에 UDP(User Datagram Protocol) 통신으로 수집된 세션 식별자(SID)와, SQL text, cursor id, was transaction id 등의 WAS 성능 정보를 DBMS 서버(60)의 rts 데몬(62)에 전송한다(S140). rts 데몬(62)은 전달받은 정보들 이외에 DBMS 데이터와의 연계를 위하여 jspd 데몬(56)에 추가적으로 정보(예: Client IP, Class Method, Transaction Name 등)를 요청할 수 있다.  The jspd daemon 56 obtains the SID of the DBMS 61 associated with the transaction executed in the WAS 53 through the SID collection step, and immediately before the Prepare Step in which the SQL statement parsing is performed, proceeds with the User Datagram Protocol (UDP). The session identifier (SID) collected through communication, and WAS performance information such as SQL text, cursor id, and was transaction id are transmitted to the rts daemon 62 of the DBMS server 60 (S140). In addition to the received information, the rts daemon 62 may request additional information (eg, Client IP, Class Method, Transaction Name, etc.) from the jspd daemon 56 for linkage with DBMS data.

트랜잭션 수행 과정에서 WAS 시스템(50)의 jspd 데몬(56)이 UDP 통신으로 DBMS 서버(60)의 rts 데몬(62)에게 정보를 보내는 시점 및 전달되는 대표적인 정보는 다음과 같다.When the jspd daemon 56 of the WAS system 50 sends information to the rts daemon 62 of the DBMS server 60 through UDP communication in the course of performing a transaction, and representative information is as follows.

시점 대표적인 정보       Representative Information

Prepare -> SID, SQL Text, Cursor ID, WAS Transaction ID 등Prepare-> SID, SQL Text, Cursor ID, WAS Transaction ID, etc.

(S140)(S140)

Execute -> SID, Cursor ID, START TIME, WAS Transaction ID 등Execute-> SID, Cursor ID, START TIME, WAS Transaction ID, etc.

(S160)(S160)

Execute End -> SID, Cursor ID, END TIME, WAS Transaction ID 등Execute End-> SID, Cursor ID, END TIME, WAS Transaction ID, etc.

(S180)(S180)

Fetch -> SID, Cursor ID, START TIME, WAS Transaction ID 등Fetch-> SID, Cursor ID, START TIME, WAS Transaction ID, etc.

(S200)(S200)

Fetch End -> SID, Cursor ID, END TIME, WAS Transaction ID 등Fetch End-> SID, Cursor ID, END TIME, WAS Transaction ID, etc.

(S220)(S220)

대표적인 정보의 내용은 표 1에서 설명한다.Representative information is described in Table 1.

항 목Item 내 용Contents SIDSID DB 세션 식별자DB session identifier SQL TextSQL Text SQL문SQL statement Cursor IDCursor ID SQL문이 DB에서 실행될 때 갖는 실행포인터 식별자Execution Pointer Identifier when SQL statement is executed in DB WAS Transaction IDWAS Transaction ID WAS의 트랜잭션 식별자WAS transaction identifier START TIMESTART TIME 각 단계의 시작 시간Start time of each step END TIMEEND TIME 각 단계의 종료 시간End time of each step

3. 전송받은 SID로 WAS의 트랜잭션을 DB 세션과 1:1 매칭하는 단계3. Matching the session of WAS 1: 1 with the DB session by using the received SID

rts 데몬(62)은 jspd 데몬(56)으로부터 전송받은 정보를 rts 데몬(62)이 수집한 DBMS의 성능 정보(성능통계(Performance Statistics) 데이터 및 대기 사건(Waiting Event) 데이터, Active 세션 정보, 응답시간 등)와 매칭한다(S150, S170, S190, S210, S230). The rts daemon 62 transfers the information received from the jspd daemon 56 to the performance information of the DBMS collected by the rts daemon 62 (Performance Statistics data, Waiting Event data, Active session information, Responses). Time, etc.) (S150, S170, S190, S210, and S230).

(1) Prepare(1) Prepare

getConnection에서 수집한 SID와 SQL Text, Cursor ID, WAS Transaction ID 등의 정보를 WAS(53)의 정보를 수집하는 jspd 데몬(56)이 Prepare Step이 진행되기 직전, UDP 통신으로 DBMS 서버(60)에서 데이터 수집을 하고 있는 rts 데몬(62)에게 전송한다. rts 데몬(62)은 전달받은 정보들 이외에 DB 데이터와의 연계를 위하여 jspd 데몬(56)에게 추가적으로 정보(예: Client IP, Class Method, Transaction Name 등)를 요청할 수 있다. 정보가 전송된 후 Prepare Step이 진행되며, rts 데몬(62)은 전송 받은 정보를 DBMS의 성능 정보(성능통계 (Performance Statistics) 데이터 및 대기 사건(Waiting Event) 데이터, Active 세션 정보, 응답시간 등)와 매칭한다(S150). 이를 통해 WAS(53)의 트랜잭션과 DBMS(61) 세션의 성능 정보를 연계된 형태로 수집할 수 있다. Just before the Prepare Step proceeds, the jspd daemon 56, which collects SID, SQL Text, Cursor ID, and WAS Transaction ID information, collected from getConnection, is prepared by the DBMS server 60 via UDP communication. Send it to the rts daemon 62, which is collecting data. In addition to the received information, the rts daemon 62 may request additional information (eg, Client IP, Class Method, Transaction Name, etc.) from the jspd daemon 56 for linkage with DB data. After the information is transmitted, the Prepare Step proceeds, and the rts daemon 62 transfers the received information to the performance information of the DBMS (Performance Statistics data, Waiting Event data, Active session information, Response Time, etc.). It matches with (S150). Through this, the transaction information of the WAS 53 and the performance information of the session of the DBMS 61 may be collected in an associated form.

WAS(53)와 DBMS(61) 간에 관련된 트랜잭션이(예: 웹페이지에서 회원검색 실행) 진행될 때, 위와 같이 각 수행 과정마다 jspd 데몬(56)은 WAS 성능 정보와 DBMS(61)의 SID를 추출하여 전송하고, rts 데몬(62)은 수신된 WAS 트랜잭션과 연관된 DBMS(61)의 세션을 1:1 매칭하고, WAS 성능 정보와 DBMS 성능 정보를 모두 연계하여 리파지토리(Repository)(70)에 전송하여 저장하도록 한다.When a transaction related to WAS 53 and DBMS 61 is executed (for example, member search is executed on a web page), the jspd daemon 56 extracts WAS performance information and SID of DBMS 61 for each execution process as above. The rts daemon 62 matches the session of the DBMS 61 associated with the received WAS transaction 1: 1, and transmits the WAS performance information and the DBMS performance information to the repository 70 in association with each other. Save it.

(2) Execute(2) Execute

Prepare Step이 진행되어 SQL문의 파싱이 이루어지면, WAS의 성능 정보를 수집하는 jspd 데몬(56)은 SQL문이 실행되는 Execute Step이 진행되기 직전, UDP 통신으로 SID와 Cursor ID, START TIME, WAS Transaction ID 등을 DBMS 서버(60)에서 데이터 수집을 하고 있는 rts 데몬(62)에게 전송한다. rts 데몬(62)은 전달받은 정보들 이외에 DBMS 성능 정보와의 연계를 위하여 jspd 데몬(56)에게 추가적으로 정보(예: Client IP, Class Method, Transaction Name 등)를 요청할 수 있다. 정보가 전송된 후 Execute Step이 진행되며, rts 데몬(62)은 전송 받은 execute 시작 정보를 DBMS의 성능 정보(성능통계 (Performance Statistics) 데이터 및 대기 사건(Waiting Event) 데이터, Active 세션 정보, 응답시간 등)와 매칭한다(S170). 이를 통해 SQL문 파싱과 SQL 실행 시작과 관련된 성능 정보를 WAS(53)의 트랜잭션과 DBMS(61) 세션이 연계된 형태로 수집할 수 있다.  When the prepare step is processed and the SQL statement is parsed, the jspd daemon 56, which collects the performance information of the WAS, immediately before the Execute Step is executed, executes the SID and Cursor ID, START TIME, and WAS Transaction. The ID and the like are transmitted to the rts daemon 62 collecting data from the DBMS server 60. In addition to the received information, the rts daemon 62 may request additional information (eg, Client IP, Class Method, Transaction Name, etc.) from the jspd daemon 56 for linkage with DBMS performance information. After the information is transmitted, Execute Step proceeds, and the rts daemon 62 sends the received execution start information to the performance information of the DBMS (Performance Statistics data, Waiting Event data, Active session information, Response time). Etc.) (S170). Through this, performance information related to parsing an SQL statement and starting execution of SQL can be collected in a form in which a transaction of the WAS 53 and a DBMS 61 session are linked.

WAS(53)와 DBMS(61) 간에 관련된 트랜잭션이(예: 웹페이지에서 회원검색 실행) 진행될 때, 위와 같이 각 수행 과정마다 jspd 데몬(56)은 WAS 성능 정보와 DBMS(61)의 SID를 추출하여 전송하고, rts 데몬(62)은 수신된 WAS 트랜잭션과 연관된 DBMS(61)의 세션을 1:1 매칭하고, WAS 성능 정보와 DBMS 성능 정보를 모두 연계하여 리파지토리(Repository)(70)에 전송하여 저장하도록 한다.When a transaction related to WAS 53 and DBMS 61 is executed (for example, member search is executed on a web page), the jspd daemon 56 extracts WAS performance information and SID of DBMS 61 for each execution process as above. The rts daemon 62 matches the session of the DBMS 61 associated with the received WAS transaction 1: 1, and transmits the WAS performance information and the DBMS performance information to the repository 70 in association with each other. Save it.

(3) Execute End(3) Execute End

SQL문의 실행이 진행되고 종료되면, WAS(53)의 정보를 수집하는 jspd 데몬(56)은 SID와 Cursor ID, END TIME, WAS Transaction ID 등을 UDP 통신으로 DBMS 서버(60)에서 데이터 수집을 하고 있는 rts 데몬(62)에게 전송한다. rts 데몬(62)은 전달받은 정보들 이외에 DBMS 성능 정보와의 연계를 위하여 jspd 데몬(56)에게 추가적으로 정보(예: Client IP, Class Method, Transaction Name 등)를 요청할 수 있다. 정보가 전송된 후 트랜잭션의 Fetch Step이 진행 직전에 jspd 데몬(56)은 다시 정보를 수집하며, rts 데몬(62)은 전송 받은 execute 종료 정보를 DBMS의 성능 정보(성능통계 (Performance Statistics) 데이터 및 대기 사건(Waiting Event) 데이터, Active 세션 정보, 응답시간 등)와 매칭한다(S190). 이를 통해 SQL문의 실행 종료와 관련된 성능 정보를 WAS(53)의 트랜잭션과 DBMS(61) 세션이 연계된 형태로 수집할 수 있다.  When the execution of the SQL statement proceeds and ends, the jspd daemon 56 collecting information of the WAS 53 collects data from the DBMS server 60 by UDP communication of the SID, Cursor ID, END TIME, and WAS Transaction ID. To the rts daemon (62). In addition to the received information, the rts daemon 62 may request additional information (eg, Client IP, Class Method, Transaction Name, etc.) from the jspd daemon 56 for linkage with DBMS performance information. After the information is sent, just before the Fetch Step of the transaction proceeds, the jspd daemon 56 collects the information again, and the rts daemon 62 sends the received execution termination information to the performance information of the DBMS (Performance Statistics data and Wait event data, active session information, response time, etc.) (S190). Through this, performance information related to the termination of execution of the SQL statement can be collected in a form in which the transaction of the WAS 53 and the DBMS 61 session are linked.

WAS(53)와 DBMS(61) 간에 관련된 트랜잭션이(예: 웹페이지에서 회원검색 실행) 진행될 때, 위와 같이 각 수행 과정마다 jspd 데몬(56)은 WAS 성능 정보와 DBMS(61)의 SID를 추출하여 전송하고, rts 데몬(62)은 수신된 WAS 트랜잭션과 연관된 DBMS(61)의 세션을 1:1 매칭하고, WAS 성능 정보와 DBMS 성능 정보를 모두 연계하여 리파지토리(Repository)(70)에 전송하여 저장하도록 한다.When a transaction related to WAS 53 and DBMS 61 is executed (for example, member search is executed on a web page), the jspd daemon 56 extracts WAS performance information and SID of DBMS 61 for each execution process as above. The rts daemon 62 matches the session of the DBMS 61 associated with the received WAS transaction 1: 1, and transmits the WAS performance information and the DBMS performance information to the repository 70 in association with each other. Save it.

(4) Fetch(4) Fetch

Execute End에서 정보를 전송하고 저장한 후, WAS의 성능 정보를 수집하는 jspd 데몬(56)은 SQL문이 패치되는 Fetch Step이 진행되기 직전, UDP 통신으로 SID와 Cursor ID, START TIME, WAS Transaction ID를 DBMS 서버(60)에서 데이터 수집을 하고 있는 rts 데몬(62)에게 전송한다. rts 데몬(62)은 전달받은 정보들 이외에 DBMS 성능 정보와의 연계를 위하여 jspd 데몬(56)에게 추가적으로 정보(예: Client IP, Class Method, Transaction Name 등)를 요청할 수 있다. 정보가 전송된 후 Fetch Step이 진행되며, rts 데몬(62)은 전송받은 Fetch 시작 정보를 DBMS의 성능 정보(성능통계 (Performance Statistics) 데이터 및 대기 사건(Waiting Event) 데이터, Active 세션 정보, 응답시간 등)와 매칭한다(S210). 이를 통해 SQL문의 Fetch 시작과 관련된 성능 정보를 WAS(53)의 트랜잭션과 DBMS(61) 세션이 연계된 형태로 수집할 수 있다. After transmitting and saving information at Execute End, the jspd daemon (56), which collects the performance information of WAS, immediately before the Fetch Step, where SQL statements are patched, proceeds with SID and Cursor ID, START TIME, and WAS Transaction ID through UDP communication. To the rts daemon 62 collecting data from the DBMS server 60. In addition to the received information, the rts daemon 62 may request additional information (eg, Client IP, Class Method, Transaction Name, etc.) from the jspd daemon 56 for linkage with DBMS performance information. After the information is transmitted, the Fetch Step proceeds, and the rts daemon 62 sends the received Fetch start information to the performance information of the DBMS (Performance Statistics data, Waiting Event data, Active session information, Response time). Etc.) (S210). Through this, performance information related to Fetch start of SQL statements can be collected in a form in which a transaction of WAS 53 and a DBMS 61 session are linked.

WAS(53)와 DBMS(61) 간에 관련된 트랜잭션이(예: 웹페이지에서 회원검색 실행) 진행될 때, 위와 같이 각 수행 과정마다 jspd 데몬(56)은 WAS 성능 정보와 DBMS(61)의 SID를 추출하여 전송하고, rts 데몬(62)은 수신된 WAS 트랜잭션과 연관된 DBMS(61)의 세션을 1:1 매칭하고, WAS 성능 정보와 DBMS 성능 정보를 모두 연계하여 리파지토리(Repository)(70)에 전송하여 저장하도록 한다.When a transaction related to WAS 53 and DBMS 61 is executed (for example, member search is executed on a web page), the jspd daemon 56 extracts WAS performance information and SID of DBMS 61 for each execution process as above. The rts daemon 62 matches the session of the DBMS 61 associated with the received WAS transaction 1: 1, and transmits the WAS performance information and the DBMS performance information to the repository 70 in association with each other. Save it.

(5) Fetch End(5) Fetch End

SQL문의 Fetch가 진행되고 종료되면, WAS(53)의 정보를 수집하는 jspd 데몬(56)은 SID와 Cursor ID, END TIME, WAS Transaction ID 등을 UDP 통신으로 DBMS 서버(60)에서 데이터 수집을 하고 있는 rts 데몬(62)에게 전송한다. rts 데몬(62)은 전달받은 정보들 이외에 DBMS 성능 정보와의 연계를 위하여 jspd 데몬(56)에게 추가적으로 정보(예: Client IP, Class Method, Transaction Name 등)를 요청할 수 있다. 정보가 전송된 후 result set close Step이 진행되며, rts 데몬(62)은 전송받은 Fetch 진행, 종료 정보를 DBMS의 성능 정보(성능통계 (Performance Statistics) 데이터 및 대기 사건(Waiting Event) 데이터, Active 세션 정보, 응답시간 등)와 매칭한다(S230). 이를 통해, SQL문의 Fetch 진행 종료와 관련된 성능 정보를 WAS(53)의 트랜잭션과 DBMS(61) 세션이 연계된 형태로 수집할 수 있다.  When the Fetch of the SQL statement proceeds and ends, the jspd daemon 56 collecting information of the WAS 53 collects data from the DBMS server 60 by UDP communication of the SID, Cursor ID, END TIME, and WAS Transaction ID. To the rts daemon (62). In addition to the received information, the rts daemon 62 may request additional information (eg, Client IP, Class Method, Transaction Name, etc.) from the jspd daemon 56 for linkage with DBMS performance information. After the information is transmitted, the result set close step is performed, and the rts daemon 62 sends the received Fetch progress and termination information to the performance information of the DBMS (Performance Statistics data, Waiting Event data, Active session). Information, response time, etc.) (S230). Through this, performance information related to the completion of the Fetch process of the SQL statement may be collected in a form in which the transaction of the WAS 53 and the DBMS 61 session are linked.

WAS(53)와 DBMS(61) 간에 관련된 트랜잭션이(예: 웹페이지에서 회원검색 실행) 진행될 때, 위와 같이 각 수행 과정마다 jspd 데몬(56)은 WAS 성능 정보와 DBMS(61)의 SID를 추출하여 전송하고, rts 데몬(62)은 수신된 WAS 트랜잭션과 연관된 DBMS(61)의 세션을 1:1 매칭하고, WAS 성능 정보와 DBMS 성능 정보를 모두 연계하여 리파지토리(Repository)(70)에 전송하여 저장하도록 한다.When a transaction related to WAS 53 and DBMS 61 is executed (for example, member search is executed on a web page), the jspd daemon 56 extracts WAS performance information and SID of DBMS 61 for each execution process as above. The rts daemon 62 matches the session of the DBMS 61 associated with the received WAS transaction 1: 1, and transmits the WAS performance information and the DBMS performance information to the repository 70 in association with each other. Save it.

4. SID로 연결된 WAS 성능 정보와 DBMS 성능 정보를 유관된 형태로 리파지토리에 저장하는 단계4. Saving WAS performance information and DBMS performance information linked by SID in the repository in relevant format

트랜잭션이 진행되는 과정에서 WAS(53)와 DBMS(61) 간에 관련된 정보는 WAS(53)의 성능 정보를 수집하는 jspd 데몬(56)이 DBMS 서버(60)에서 데이터 수집을 하고 있는 rts 데몬(62)으로 전송하고, rts 데몬(62)이 전송된 정보를 자체에서 수집한 DBMS 성능 정보와 매칭하여 리파지토리(70)로 전송하고, 리파지토리(70)의 데이터 처리 관리부(Data Handling Manager)(71)는 전송된 정보를 WAS 성능 정보와 DBMS 성능 정보가 1:1로 매칭된 유기적인 구조(예를 들면, 도 4에 도시된 바와 같은 구조)로 저장 DB(Repository Database)(72)에 저장한다(S260).The information related between the WAS 53 and the DBMS 61 in the course of the transaction is the rts daemon 62 in which the jspd daemon 56 collecting the performance information of the WAS 53 is collecting data from the DBMS server 60. ), The rts daemon 62 matches the transmitted information with the DBMS performance information collected therein, and transmits the information to the repository 70, and the data processing manager 71 of the repository 70 The transmitted information is stored in a storage DB (Repository Database) 72 in an organic structure (for example, a structure as shown in FIG. 4) in which WAS performance information and DBMS performance information are 1: 1 matched (S260). ).

저장되는 정보는 WAS(53)에서 수집한 성능 정보(접속 중인 동시 사용자수(Concurrent User), Active 서비스 목록, Active JDBC 연결/할당/수행상태, 응답시간, 업무처리량 등), DBMS(61)에서 수집한 각종 성능 정보(오라클의 DBMS에 의해 생성되는 데이터베이스의 성능데이터(성능통계(Performance Statistics) 데이터 , 대기 사건(Waiting Event) 데이터, Active 세션 정보, 응답시간 등), 각 WAS 시스템(50)과 DBMS 서버(60)의 CPU 사용률, 힙사이즈 등의 리소스 사용현황 등이며, 각각 유기적인 관계구조로 저장되어 있다.The information to be stored is the performance information collected by the WAS 53 (the number of concurrent users connected, the Active service list, the active JDBC connection / allocation / performance status, response time, work throughput, etc.) and the DBMS 61. Collected various performance information (performance data of database generated by Oracle DBMS (Performance Statistics data, Waiting Event data, Active session information, response time, etc.), each WAS system 50 and Resource usage such as CPU utilization, heap size, etc. of the DBMS server 60 are stored in an organic relational structure.

도 4에 도시된 각 항목의 내용은 표 2에서 설명하고 있다.The contents of each item shown in FIG. 4 are described in Table 2.

항 목Item 내 용Contents ACTIVE_CLASS_METHODACTIVE_CLASS_METHOD WAS의 액티브 클래스 메소드Active Class Methods in WAS CLASS_METHOD_INFOCLASS_METHOD_INFO WAS의 전체 클래스 메소드 정보Full class method information in WAS ACTIVE TXNACTIVE TXN WAS의 액티브 트랜잭션Active Transactions in WAS TXN_NAMETXN_NAME WAS의 트랜잭션 명Transaction Name in WAS TXN_SUMMARYTXN_SUMMARY WAS의 트랜잭션 수행요약 정보Transaction performance summary for WAS WAS_INFOWAS_INFO WAS의 일반 정보General information of WAS CONNECTION_POOL_INFOCONNECTION_POOL_INFO WAS와 DB연결을 위한 커넥션풀 정보Connection pool information for WAS and DB connection WAS_STATWAS_STAT WAS의 성능데이터Performance data of WAS SQL_STATSQL_STAT SQL수행 성능데이터SQL performance data SQL_TEXTSQL_TEXT SQL문SQL statement BIND_SQLBIND_SQL 바인드변수를 사용하는 SQL문SQL Statements Using Bind Variables DB_INFODB_INFO DB의 일반 정보General information of DB DB_STATDB_STAT DB의 성능데이터DB performance data DB_WAITDB_WAIT DB의 대기사건 데이터DB Event Event Data DB_OS_STATDB_OS_STAT DB 서버의 OS 성능데이터OS performance data of DB server

5. 연계 정보를 통합 모니터링 화면을 통해 사용자가 모니터링 하는 단계5. Steps for monitoring the user through the integrated monitoring screen

SID를 매개로 서로 유관된 형태로 저장된 WAS 및 DB의 성능 정보는 WAS(53)에서 수행된 트랜잭션이 DBMS 서버(60)에서 어떠한 경로를 거쳐 리턴(return)되는지를 손쉽게 알 수 있게 하여, WAS(53)에 대한 실시간 모니터링 및 장애감시, 성능분석의 한계로 지적되어 온 DBMS와의 연계 분석이 가능하게 되고, 더불어 DBMS(61) 내에서 문제가 되고 있는 특정 세션이 WAS(53)의 어느 트랜잭션에 의해 수행되었는지를 용이하게 파악할 수 있어, WAS(53)와 DBMS(61)에 걸쳐 발생하는 대부분의 문제를 단기간에 추적, 해결할 수 있다. WAS(53)와 DBMS(61)의 연계된 성능 정보를 한눈에 모니터링 하기 위해서는 다음과 같은 SQL문을 리파지토리(Repository)(70)의 표시 관리부(Display Service Manager)(73)에서 수행한다(S270).The performance information of the WAS and the DB stored in a mutually related form through the SID makes it easy to know which path the transaction executed in the WAS 53 is returned from the DBMS server 60 to return. It is possible to connect and analyze the DBMS, which has been pointed out as a limitation of real-time monitoring, fault monitoring, and performance analysis. It is possible to easily determine whether it has been performed, so that most problems occurring across the WAS 53 and the DBMS 61 can be tracked and solved in a short time. In order to monitor the performance information associated with the WAS 53 and the DBMS 61 at a glance, the following SQL statement is executed by the display service manager 73 of the repository 70 (S270). .

- 1:1 매칭된 WAS의 트랜잭션과 DBMS 세션 정보를 추출하는 SQL문 --SQL statement to extract 1: 1 matching WAS transaction and DBMS session information

SELECT time,SELECT time,

was_id,       was_id,

tid,       tid,

( select t.txn_name       (select t.txn_name

from xapm_txn_name t         from xapm_txn_name t

where t.txn_id = s.txn_id         where t.txn_id = s.txn_id

) txn_name,       ) txn_name,

client_ip,       client_ip,

start_time,       start_time,

( time - start_time ) * 86400 elapse_time,       (time-start_time) * 86400 elapse_time,

pool_id,       pool_id,

sid,       sid,

state,       state,

( select t.sql_text       (select t.sql_text

from xapm_sql_text t         from xapm_sql_text t

where t.sql_id = s.sql_id1         where t.sql_id = s.sql_id1

) sql_text_1 ,       ) sql_text_1,

( select t.sql_text       (select t.sql_text

from xapm_sql_text t         from xapm_sql_text t

where t.sql_id = s.sql_id2         where t.sql_id = s.sql_id2

) sql_text_2 ,       ) sql_text_2,

( select t.sql_text       (select t.sql_text

from xapm_sql_text t         from xapm_sql_text t

where t.sql_id = s.sql_id3         where t.sql_id = s.sql_id3

) sql_text_3 ,       ) sql_text_3,

( select t.sql_text       (select t.sql_text

from xapm_sql_text t         from xapm_sql_text t

where t.sql_id = s.sql_id4         where t.sql_id = s.sql_id4

) sql_text_4 ,       ) sql_text_4,

( select t.sql_text       (select t.sql_text

from xapm_sql_text t         from xapm_sql_text t

where t.sql_id = s.sql_id5         where t.sql_id = s.sql_id5

) sql_text_5 ,       ) sql_text_5,

sql_exec_count,       sql_exec_count,

fetch_count,       fetch_count,

prepare_count,       prepare_count,

( select c.class_name + '.' + c.method_name       (select c.class_name + '.' + c.method_name

from xapm_class_method c         from xapm_class_method c

where c.method_id = s.current_method_id         where c.method_id = s.current_method_id

) class_method,       ) class_method,

current_crc,       current_crc,

cpu_time,       cpu_time,

mem_usage,       mem_usage,

logical_reads,       logical_reads,

physical_reads,       physical_reads,

wait_info       wait_info

FROM xapm_active_txn sFROM xapm_active_txn s

WHERE ( time, was_id ) IN ( SELECT max(time), was_idWHERE (time, was_id) IN (SELECT max (time), was_id

FROM xapm_active_txn                             FROM xapm_active_txn

GROUP by was_id                             GROUP by was_id

)                            )

종래의 기술에서는 WAS의 트랜잭션 정보와 DBMS 세션 수행정보를 서로 연계하지 못하고 수집하므로, 도 5에 예시된 WAS 모니터링과 도 6에 예시된 DBMS 모니터링을 분리해서 수행해야 한다. 또한, WAS의 특정 트랜잭션이 DBMS의 어느 세션과 연계되는지를 확인하기 위해서는 각각의 정보가 수집된 이후, 사용자가 확인하여 수많은 트랜잭션과 수많은 세션을 직접 매칭시킬 수 밖에 없고, 매칭한다 할지라도 시간 차이와 다수의 트랜잭션과 다수의 세션이 동시에 수행되는 환경에 의해 올바르게 매칭한 정보인지 확신하기 어렵다는 한계가 있다.In the prior art, since the transaction information of the WAS and the DBMS session execution information are not linked to each other and collected, the WAS monitoring illustrated in FIG. 5 and the DBMS monitoring illustrated in FIG. 6 should be separately performed. In addition, to check which session of the DBMS is associated with a specific transaction of the WAS, after each piece of information is collected, the user has to check and directly match a number of transactions and a number of sessions. There is a limitation that it is difficult to be sure that the information is correctly matched by an environment in which multiple transactions and multiple sessions are executed simultaneously.

이하의 표 3은 도 5에 대응한 WAS 자체만의 정보를 설명하고, 표 4는 도 6에 대응한 DBMS 자체만의 정보를 설명한다.Table 3 below describes only the information of the WAS itself corresponding to FIG. 5, and Table 4 describes information only of the DBMS itself corresponding to FIG. 6.

항 목Item 내 용Contents Active TransactionActive Transaction 액티브 트랜잭션의 개수Number of active transactions DB SessionDB Session DB 세션 개수DB Session Count JVM CPU UsageJVM CPU Usage WAS 서버 CPU 사용률WAS server CPU utilization JVM Thread CountJVM Thread Count WAS 서버 Thread 횟수WAS Server Thread Count JVM Heap SizeJVM Heap Size WAS 서버 힙사이즈WAS server heap size JVM GC CountJVM GC Count WAS 서버WAS server SQL Exec CountSQL Exec Count SQL 수행횟수SQL execution count Active DB SessionActive DB Session 액티브 DB 세션 개수Active DB Session Count TimeTime 현재 모니터링 시간Current monitoring time WASWAS WAS 명WAS people Transaction NameTransaction Name 트랜잭션 명Transaction name Class MethodClass method 클래스 메소드Class method Client IPClient IP 클라이언트 IPClient IP Start TimeStart time 트랜잭션 시작 시간Transaction start time Elapsed TimeElapsed Time 현재까지의 트랜잭션 수행시간 (Time - Start Time)Transaction execution time up to now (Time-Start Time)

항 목Item 내 용Contents SchemaSchema DB 유저명DB username ProgramProgram 프로그램명Program name ModuleModule DB 모듈명DB module name SPIDSPID DB 프로세스 아이디DB Process ID SIDSID DB 세션 아이디DB Session ID SerialSerial DB 세션 시리얼넘버DB Session Serial Number StatusStatus DB 세션 상태DB session state WaitWait 대기이벤트 정보Wait event information SQLSQL SQL문SQL statement Elapse TimeElapse Time SQL문 수행 소요시간 (DB내)SQL statement execution time (in DB) PGA(MB)PGA (MB) DB 세션 할당 공간DB session allocation space CPUCPU DB 서버 CPU 사용률DB Server CPU Utilization Logical ReadsLogical Reads DB 버퍼캐시에서 읽은 블록의 수The number of blocks read from the DB buffer cache. Physical ReadsPhysical Reads DB 데이터파일에서 읽은 블록의 수Number of blocks read from DB datafile

이에 비하여, 본 발명에서는 WAS(53)의 수많은 트랜잭션과 DBMS(61)의 수많은 세션 중에 어느 트랜잭션이 어느 세션과 연결 되는지를 트랜잭션이 진행되는 정보수집 단계에서부터 1:1로 매칭하여 수집, 리파지토리(Repository)(70)에 연관 구조로 저장하므로 종래의 기술의 한계점을 극복하며, 사용자가 직접 매칭하는 수작업을 거치지 않고 WAS와 DBMS의 연계 정보를 정확하게 한눈에 모니터링 할 수 있다. On the contrary, in the present invention, a number of transactions of the WAS 53 and which one of the numerous sessions of the DBMS 61 are connected to which session are collected and matched by 1: 1 from the information gathering stage in which the transaction proceeds. By storing as an association structure in the (70) to overcome the limitations of the prior art, it is possible to accurately monitor the linkage information between the WAS and the DBMS at a glance without going through the manual manual matching of the user.

실제로 본 발명을 적용하여 개발된 WAS 및 DBMS 통합감시 소프트웨어에서는 도 7에 예시적으로 도시된 바와 같이 WAS와 DBMS의 관련정보가 저장된 리파지토리(Repository)(70)로부터 WAS 시스템(50) 고유의 감시항목에 대한 정보 및 DBMS 서버(60) 고유의 감시항목에 대한 정보는 물론, 해당 트랜잭션을 수행한 특정 WAS와 해당 트랜잭션과 연결된 특정 DBMS를 시각적으로 표현함과 동시에, 관련된 상세정보를 하나의 통합된 화면에서 표시하여 문제 발생 시에 직관적으로 해당 내용을 파악할 수 있게 한다.Actually, in the WAS and DBMS integrated monitoring software developed by applying the present invention, the WAS system 50 unique monitoring items are stored from the repository 70 in which relevant information of the WAS and the DBMS is stored, as illustrated in FIG. 7. In addition to the information on the specific information on the DBMS server (60) and the monitoring items, as well as a visual representation of the specific WAS that performed the transaction and the specific DBMS associated with the transaction, and related information in a single integrated screen It can be displayed and intuitively grasped when a problem occurs.

이하의 표 5는 도 7에 대응한 WAS와 DBMS의 연계 정보를 설명한다.Table 5 below describes linkage information between the WAS and the DBMS corresponding to FIG. 7.

항 목Item 내 용Contents WAS정보WAS Information TimeTime 현재 모니터링 시간Current monitoring time WASWAS WAS 명WAS people Transaction NameTransaction Name 트랜잭션 명Transaction name Class MethodClass method 클래스 메소드Class method Client IPClient IP 클라이언트 IPClient IP Start TimeStart time 트랜잭션 시작 시간Transaction start time Elapsed TimeElapsed Time 현재까지의 트랜잭션 수행시간 (Time - Start Time)Transaction execution time up to now (Time-Start Time) StateState 트랜잭션의 상태Status of the transaction DB 정보DB Information CPU TimeCPU Time CPU 사용시간CPU usage time Wait TimeWait time 대기 시간waiting time Instance NameInstance Name DB 인스턴스명DB instance name SIDSID DB 세션아이디DB Session ID Wait InfoWait info 대기이벤트 정보Wait event information SQL TextSQL Text SQL문SQL statement SQL Exec CountSQL Exec Count SQL 수행횟수SQL execution count Fetch CountFetch count Fetch 횟수Fetch Count Prepare CountPrepare Count Prepare(파싱) 횟수Prepare (parse) count MEM Usage(MB)MEM Usage (MB) 메모리 사용량Memory usage Logical ReadsLogical Reads DB 버퍼캐시에서 읽은 블록의 수The number of blocks read from the DB buffer cache. Physical ReadsPhysical Reads DB 데이터파일에서 읽은 블록의 수Number of blocks read from DB datafile

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다. So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

도 1은 본 발명에 의한 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치의 전체적인 구성도이고,1 is an overall configuration diagram of a web application performance monitoring apparatus by linking a WAS transaction and a DBMS session according to the present invention;

도 2는 J2EE 표준을 수용한 WAS와 오라클 DBMS를 대상으로 하여 구현된 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치의 전체적인 구성도이고 FIG. 2 is an overall configuration diagram of a web application performance monitoring apparatus through linkage between a WAS transaction and a DBMS session implemented for a WAS and an Oracle DBMS that conform to the J2EE standard.

도 3 J2EE 표준을 수용한 WAS와 오라클 DBMS를 대상으로 하여 구현된 웹 어플리케이션 성능 모니터링 방법의 흐름도이고 3 is a flowchart of a web application performance monitoring method implemented for a WAS and an Oracle DBMS that have adopted the J2EE standard.

도 4는 통합 리파지토리의 구성을 도시한 것이고,4 illustrates a configuration of an integrated repository,

도 5는 종래 기술에 의한 WAS 모니터링 화면을 예시한 것이고,Figure 5 illustrates a WAS monitoring screen according to the prior art,

도 6은 종래 기술에 의한 DBMS 모니터링 화면을 예시한 것이고,Figure 6 illustrates a DBMS monitoring screen according to the prior art,

도 7은 본 발명에 의한 WAS와 DBMS 연계 모니터링 화면을 예시한 것이다..Figure 7 illustrates a WAS and DBMS linked monitoring screen according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

10_1, 10_n, 50 : WAS 시스템 20_1, 20_n, 60 : DBMS 서버10_1, 10_n, 50: WAS system 20_1, 20_n, 60: DBMS server

12_1, 12_n, 53 : WAS 22_1, 22_n, 61 : DBMS12_1, 12_n, 53: WAS 22_1, 22_n, 61: DBMS

14_1, 14_n : WAS 성능정보수집 에이전트14_1, 14_n: WAS performance information collecting agent

24_1, 24_n : DBMS 성능정보수집 에이전트24_1, 24_n: DBMS performance information collecting agent

30, 70 : 리파지토리30, 70: repository

56 : jspd 62 : rts56: jspd 62: rts

80 : 모니터80: monitor

Claims (8)

하나 이상의 웹 어플리케이션 서버와 하나 이상의 데이터베이스 관리 시스템을 포함하여 이루어진 웹 기반 구조에서 특정 웹 어플리케이션 서버의 트랜잭션과 특정 데이터베이스 관리 시스템의 세션이 매칭되어 연계된 성능 정보를 모니터링하는 장치에 있어서,An apparatus for monitoring performance information associated with matching a transaction of a specific web application server and a session of a specific database management system in a web infrastructure including one or more web application servers and one or more database management systems, 상기 웹 어플리케이션 서버와 함께 웹 어플리케이션 서버 시스템에 설치되어 동작하고, 상기 웹 어플리케이션 서버에서 특정 트랜잭션이 수행될 때 세션 접속이 이루어진 데이터베이스 관리 시스템의 세션 식별자(SID)와 상기 웹 어플리케이션 서버의 성능 정보를 수집하여 상기 세션 접속이 이루어진 데이터베이스 관리 시스템의 DBMS 성능정보수집 에이전트로 실시간 전송하는 WAS 성능정보수집 에이전트;It is installed in the web application server system and operates together with the web application server, and collects session identifiers (SIDs) of the database management system where session access is made and performance information of the web application server when a specific transaction is performed in the web application server. WAS performance information collection agent for real-time transmission to the DBMS performance information collection agent of the database management system that the session is connected; 상기 데이터베이스 관리 시스템과 함께 데이터베이스 관리 시스템 서버에 설치되어 동작하고, 상기 WAS 성능정보수집 에이전트로부터 전송된 세션 식별자(SID)와 상기 웹 어플리케이션 서버의 성능 정보를 수신하고, 상기 세션 식별자(SID)를 매개로 하여 상기 웹 어플리케이션 서버의 성능 정보와 연계된 상기 데이터베이스 관리 시스템의 성능 정보를 수집하여 리파지토리로 전송하는 DBMS 성능정보수집 에이전트; 및It is installed and operated in the database management system server with the database management system, and receives the session identifier (SID) and the performance information of the web application server transmitted from the WAS performance information collection agent, and mediates the session identifier (SID) A DBMS performance information collection agent for collecting performance information of the database management system associated with the performance information of the web application server and transmitting the performance information to a repository; And 상기 DBMS 성능정보수집 에이전트로부터 전송된 상호 연계된 상기 웹 어플리케이션 서버의 성능 정보와 상기 데이터베이스 관리 시스템의 성능 정보를 저장하고, 사용자의 요청에 따라 특정 웹 어플리케이션 서버의 트랜잭션과 특정 데이터베 이스 관리 시스템의 세션 사이의 연계된 성능 정보를 하나의 통합된 화면에 표시하는 리파지토리;를 포함함을 특징으로 하는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치.It stores the performance information of the web application server and the performance information of the database management system linked to each other transmitted from the DBMS performance information collection agent, and at the request of the user of the transaction of the specific web application server and the specific database management system Web application performance monitoring apparatus through linkage of the WAS transaction and the DBMS session, comprising; a repository for displaying the associated performance information between sessions on a single integrated screen. 제1항에 있어서, 상기 WAS 성능정보수집 에이전트는The agent of claim 1, wherein the WAS performance information collecting agent 수집된 세션 식별자(SID)와 상기 웹 어플리케이션 서버의 성능 정보를 사용자 데이터그램 프로토콜(UDP) 통신으로 상기 세션 접속이 이루어진 데이터베이스 관리 시스템의 DBMS 성능정보수집 에이전트로 실시간 전송하는 것을 특징으로 하는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치.WAS transaction, characterized in that for transmitting the collected session identifier (SID) and the performance information of the web application server in real time to the DBMS performance information collection agent of the database management system that the session connection is made by the user datagram protocol (UDP) communication; Web application performance monitoring device by linking DBMS sessions. 제1항에 있어서, 상기 WAS 성능정보수집 에이전트는The agent of claim 1, wherein the WAS performance information collecting agent 수집된 웹 어플리케이션 서버의 성능 정보 중 데이터베이스 관리 시스템과 관련되지 않은 정보는 리파지토리로 직접 전송하는 것을 특징으로 하는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치.Web application performance monitoring device by linking the WAS transaction and DBMS session, characterized in that the information related to the database management system of the collected performance information of the web application server is transmitted directly to the repository. 제1항에 있어서, 상기 DBMS 성능정보수집 에이전트는The agent of claim 1, wherein the DBMS performance information collection agent is 수집된 데이터베이스 관리 시스템의 성능 정보 중 웹 어플리케이션 서버와 관련되지 않은 정보는 세션 식별자(SID)를 매개로 하여 연계하는 과정 없이 바로 리파지토리로 전송하는 것을 특징으로 하는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 장치.Among the performance information of the collected database management system, information that is not related to the web application server is directly transmitted to the repository without the process of linking through the session identifier (SID). Application performance monitoring device. 하나 이상의 웹 어플리케이션 서버와 하나 이상의 데이터베이스 관리 시스템을 포함하여 이루어진 웹 기반 구조에서 특정 웹 어플리케이션 서버의 트랜잭션과 특정 데이터베이스 관리 시스템의 세션이 매칭되어 연계된 성능 정보를 모니터링하는 방법에 있어서,In a web infrastructure comprising at least one web application server and at least one database management system, a method of monitoring performance information associated with matching a transaction of a specific web application server and a session of a specific database management system, (a) 웹 어플리케이션 서버에서 특정 트랜잭션이 수행될 때, 웹 어플리케이션 서버 시스템에 설치된 WAS 성능정보수집 에이전트가 세션 접속이 이루어진 데이터베이스 관리 시스템의 세션 식별자(SID)를 수집하여 저장하는 단계;(a) collecting and storing a session identifier (SID) of a database management system to which a session connection is made by a WAS performance information collecting agent installed in a web application server system when a specific transaction is performed in the web application server; (b) 상기 WAS 성능정보수집 에이전트가 상기 웹 어플리케이션 서버의 성능 정보를 수집하여 세션 식별자(SID)와 함께 상기 세션 접속이 이루어진 데이터베이스 관리 시스템으로 실시간 전송하는 단계;(b) collecting, by the WAS capability information collecting agent, the capability information of the web application server and transmitting the capability information together with a session identifier (SID) to a database management system in which the session is connected; (c) 데이터베이스 관리 시스템 서버에 설치된 DBMS 성능정보수집 에이젼트가 상기 WAS 성능정보수집 에이전트로부터 전송된 세션 식별자(SID)와 상기 웹 어플리케이션 서버의 성능 정보를 수신하고, 상기 세션 식별자(SID)를 매개로 하여 상기 웹 어플리케이션 서버의 성능 정보와 연계된 상기 데이터베이스 관리 시스템의 성능 정보를 수집하여 리파지토리로 전송하는 단계;(c) The DBMS performance information collecting agent installed in the database management system server receives the session identifier (SID) and the performance information of the web application server transmitted from the WAS performance information collecting agent, and through the session identifier (SID) Collecting performance information of the database management system associated with the performance information of the web application server and transmitting the collected performance information to a repository; (d) 리파지토리가 상기 DBMS 성능정보수집 에이전트로부터 전송된 상호 연계된 상기 웹 어플리케이션 서버의 성능 정보와 상기 데이터베이스 관리 시스템의 성능 정보를 저장하는 단계; 및(d) storing, by the repository, performance information of the web application server and the performance information of the database management system interrelated with each other transmitted from the DBMS performance information collection agent; And (e) 리파지토리가 사용자의 요청에 따라 특정 웹 어플리케이션 서버의 트랜 잭션과 특정 데이터베이스 관리 시스템의 세션 사이의 연계된 성능 정보를 하나의 통합된 화면에 표시하는 단계;를 포함함을 특징으로 하는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 방법.(e) the repository displaying, at the request of the user, the associated performance information between the transaction of the specific web application server and the session of the specific database management system on one integrated screen. How to monitor web application performance by linking sessions with DBMS. 제5항에 있어서, 상기 (b) 단계는The method of claim 5, wherein step (b) 상기 WAS 성능정보수집 에이전트가 수집된 세션 식별자(SID)와 상기 웹 어플리케이션 서버의 성능 정보를 사용자 데이터그램 프로토콜(UDP) 통신으로 상기 DBMS 성능정보수집 에이전트로 실시간 전송하는 것을 특징으로 하는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 방법.The WAS transaction and DBMS, wherein the WAS performance information collecting agent transmits the collected session identifier (SID) and the performance information of the web application server to the DBMS performance information collecting agent in real time through user datagram protocol (UDP) communication. How to monitor web application performance by linking sessions. 제5항에 있어서, The method of claim 5, (b1) 상기 WAS 성능정보수집 에이전트는 수집된 웹 어플리케이션 서버의 성능 정보 중 데이터베이스 관리 시스템과 관련되지 않은 정보는 리파지토리로 직접 전송하는 단계를 더 포함하는 것을 특징으로 하는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 방법.(b1) The WAS performance information collecting agent further includes the step of directly transmitting information, which is not related to the database management system, from the collected performance information of the web application server to the repository. How to monitor web application performance via web. 제5항에 있어서, The method of claim 5, (c1) 상기 DBMS 성능정보수집 에이전트는 수집된 데이터베이스 관리 시스템의 성능 정보 중 웹 어플리케이션 서버와 관련되지 않은 정보는 세션 식별자(SID)를 매개로 하여 연계하는 과정 없이 바로 리파지토리로 전송하는 단계를 더 포함하 는 것을 특징으로 하는 WAS 트랜잭션과 DBMS 세션의 연계를 통한 웹 어플리케이션 성능 모니터링 방법.(c1) the DBMS performance information collecting agent further includes transmitting information, which is not related to the web application server, from the collected performance information of the database management system to the repository without a process of linking through a session identifier (SID); Web application performance monitoring method by linking WAS transaction and DBMS session, characterized in that.
KR1020080042088A 2008-05-07 2008-05-07 Web application performance monitoring device and its method through linkage of web application server transaction and database management system session Active KR100906440B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080042088A KR100906440B1 (en) 2008-05-07 2008-05-07 Web application performance monitoring device and its method through linkage of web application server transaction and database management system session

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080042088A KR100906440B1 (en) 2008-05-07 2008-05-07 Web application performance monitoring device and its method through linkage of web application server transaction and database management system session

Publications (1)

Publication Number Publication Date
KR100906440B1 true KR100906440B1 (en) 2009-07-09

Family

ID=41337325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080042088A Active KR100906440B1 (en) 2008-05-07 2008-05-07 Web application performance monitoring device and its method through linkage of web application server transaction and database management system session

Country Status (1)

Country Link
KR (1) KR100906440B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101637201B1 (en) 2016-01-06 2016-07-07 (주) 다봄소프트 C language based application in Linux or Unix system performance management module through function hooking
KR20180037632A (en) * 2016-10-04 2018-04-13 주식회사 셀파소프트 System and method for interface between WAS Monitoring System and DB Monitoring System
WO2018221998A1 (en) * 2017-06-02 2018-12-06 그린아일 주식회사 Method for automatically analyzing bottleneck in real time and an apparatus for performing the method
KR20180132287A (en) * 2017-06-02 2018-12-12 그린아일 주식회사 Method for automatic monitoring end to end performance of end-user and apparatus for using the same
KR20210019758A (en) 2019-08-13 2021-02-23 주식회사 셀파소프트 Method for precisely calculating DB performance data and DB monitoring device for calculating DB performance data
KR102556788B1 (en) * 2023-06-01 2023-07-20 (주)와치텍 Machine learning method for performance monitoring and events for multiple web applications
KR20240151901A (en) 2023-04-11 2024-10-18 위데이터랩 주식회사 System for monitoring and auditing web application and method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040013058A (en) * 2004-01-17 2004-02-11 박기복 Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment.
KR20050036010A (en) * 2003-10-14 2005-04-20 (주)데이타헤븐 System-monitoring system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050036010A (en) * 2003-10-14 2005-04-20 (주)데이타헤븐 System-monitoring system and method
KR20040013058A (en) * 2004-01-17 2004-02-11 박기복 Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment.

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101637201B1 (en) 2016-01-06 2016-07-07 (주) 다봄소프트 C language based application in Linux or Unix system performance management module through function hooking
KR101909625B1 (en) 2016-10-04 2018-12-19 주식회사 셀파소프트 System and method for interface between WAS Monitoring System and DB Monitoring System
KR20180037632A (en) * 2016-10-04 2018-04-13 주식회사 셀파소프트 System and method for interface between WAS Monitoring System and DB Monitoring System
KR101986481B1 (en) 2017-06-02 2019-06-07 그린아일 주식회사 Method for automatic monitoring end to end performance of end-user and apparatus for using the same
KR20180132292A (en) * 2017-06-02 2018-12-12 그린아일 주식회사 Method for automatic real-time analysis for bottleneck and apparatus for using the same
KR20180132287A (en) * 2017-06-02 2018-12-12 그린아일 주식회사 Method for automatic monitoring end to end performance of end-user and apparatus for using the same
WO2018221998A1 (en) * 2017-06-02 2018-12-06 그린아일 주식회사 Method for automatically analyzing bottleneck in real time and an apparatus for performing the method
KR101968575B1 (en) * 2017-06-02 2019-08-13 그린아일 주식회사 Method for automatic real-time analysis for bottleneck and apparatus for using the same
US11216352B2 (en) 2017-06-02 2022-01-04 Greenisle Inc. Method for automatically analyzing bottleneck in real time and an apparatus for performing the method
KR20210019758A (en) 2019-08-13 2021-02-23 주식회사 셀파소프트 Method for precisely calculating DB performance data and DB monitoring device for calculating DB performance data
KR102244020B1 (en) * 2019-08-13 2021-04-26 주식회사 셀파소프트 Method for precisely calculating DB performance data and DB monitoring device for calculating DB performance data
KR20240151901A (en) 2023-04-11 2024-10-18 위데이터랩 주식회사 System for monitoring and auditing web application and method thereof
KR102556788B1 (en) * 2023-06-01 2023-07-20 (주)와치텍 Machine learning method for performance monitoring and events for multiple web applications

Similar Documents

Publication Publication Date Title
KR100906440B1 (en) Web application performance monitoring device and its method through linkage of web application server transaction and database management system session
US7853585B2 (en) Monitoring performance of a data processing system
US8156421B2 (en) Analysis of database performance reports for graphical presentation of summary results
JP4421230B2 (en) Performance information analysis method
US8700602B2 (en) Multi-database, runtime database query performance monitoring
US7640459B2 (en) Performing computer application trace with other operations
EP2517108B1 (en) Apparatus and method for analyzing query optimizer performance
US9037555B2 (en) Asynchronous collection and correlation of trace and communications event data
US20080250057A1 (en) Data Table Management System and Methods Useful Therefor
US20060106786A1 (en) Adjusting an amount of data logged for a query based on a change to an access plan
US20070055916A1 (en) System and method for monitoring the performance of a server
US20030088546A1 (en) Collecting and/or presenting demographics information in a database system
US9305034B2 (en) Enhanced reporting system
CN113886205A (en) Database performance bottleneck positioning analysis method, device and system and storage medium
US11803439B2 (en) Enriched high fidelity metrics
KR20040027270A (en) Method for monitoring database system
CN103248511B (en) A kind of analysis methods, devices and systems of single-point service feature
May et al. SAP HANA-From Relational OLAP Database to Big Data Infrastructure.
US20060190480A1 (en) Generation of names related to organization actions
CN113778795B (en) Cross-version Oracle monitoring system based on Python language
US7685103B2 (en) Method, system, and program for predicate processing by iterator functions
US7325016B1 (en) Monitoring database performance by obtaining SQL addresses for SQL statements
Litchfield et al. Distributed Relational Database Performance In Cloud Computing: An Investigative Study.
Miller et al. Microsoft SQL Server 2000 RDBMS Performance Tuning Guide for Data Warehousing
Davidson et al. Performance Tuning Using SQL Server Dynamic Management Views

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20080507

PA0201 Request for examination
A302 Request for accelerated examination
PA0302 Request for accelerated examination

Patent event date: 20090205

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20080507

Patent event code: PA03021R01I

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20090323

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20090623

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20090630

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20090701

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20120629

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20130628

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20140627

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20150624

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20160630

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20180702

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20190627

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20190627

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20200630

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20210630

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20220630

Start annual number: 14

End annual number: 14

PR1001 Payment of annual fee

Payment date: 20250630

Start annual number: 17

End annual number: 17