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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
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
본 발명은 웹 어플리케이션 성능 모니터링 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 웹 어플리케이션 서버(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
리파지토리(30)는 DBMS 성능정보수집 에이전트(24_1)로부터 전송된 상호 연계된 웹 어플리케이션 서버의 성능 정보와 데이터베이스 관리 시스템의 성능 정보를 저장하고, 사용자의 요청에 따라 특정 웹 어플리케이션 서버(12_1, 12_n)의 트랜잭션과 특정 데이터베이스 관리 시스템(22_1, 22_n)의 세션 사이의 연계된 성능 정보를 하나의 통합된 화면에 표시한다.The
한편, 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
이하에서, 자바 기반으로 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
웹 어플리케이션 서버 시스템(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
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
도 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
한편, 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
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)의 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
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
트랜잭션 수행 과정에서 WAS 시스템(50)의 jspd 데몬(56)이 UDP 통신으로 DBMS 서버(60)의 rts 데몬(62)에게 정보를 보내는 시점 및 전달되는 대표적인 정보는 다음과 같다.When the
시점 대표적인 정보 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.
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
(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
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
(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
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
(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
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
(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
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
(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
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
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
저장되는 정보는 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
도 4에 도시된 각 항목의 내용은 표 2에서 설명하고 있다.The contents of each item shown in FIG. 4 are described in Table 2.
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
- 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.
이에 비하여, 본 발명에서는 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
실제로 본 발명을 적용하여 개발된 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
이하의 표 5는 도 7에 대응한 WAS와 DBMS의 연계 정보를 설명한다.Table 5 below describes linkage information between the WAS and the DBMS corresponding to FIG. 7.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다. 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)
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)
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)
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 |
-
2008
- 2008-05-07 KR KR1020080042088A patent/KR100906440B1/en active Active
Patent Citations (2)
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)
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 |