KR20060063236A - Analysis method of distributed application transaction performance based on analysis of traffic data file - Google Patents
Analysis method of distributed application transaction performance based on analysis of traffic data file Download PDFInfo
- Publication number
- KR20060063236A KR20060063236A KR1020040102351A KR20040102351A KR20060063236A KR 20060063236 A KR20060063236 A KR 20060063236A KR 1020040102351 A KR1020040102351 A KR 1020040102351A KR 20040102351 A KR20040102351 A KR 20040102351A KR 20060063236 A KR20060063236 A KR 20060063236A
- Authority
- KR
- South Korea
- Prior art keywords
- response time
- transaction
- performance
- executions
- analysis
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Biology (AREA)
- Mathematical Optimization (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Operations Research (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 분산환경에서 동작하는 애플리케이션 트랜잭션의 성능을 통계적으로 분석하는 방법 및 시스템에 관한 것으로 트래픽 캡처 파일을 분석하여 애플리케이션 트랜잭션 성능 분석을 위한 기초 데이터를 생성하는 단계;The present invention relates to a method and system for statistically analyzing the performance of an application transaction operating in a distributed environment, the method comprising: generating basic data for analyzing an application transaction performance by analyzing a traffic capture file;
관계형 통계처리의 방법으로 애플리케이션 시간 관계형 트랜잭션 성능 보고서를 생성하는 단계로 이루어진다.Generating application time relational transaction performance report by relational statistics.
본 발명에 의하면, 분산 애플리케이션 운영환경에서 애플리케이션 성능을 정량적으로 확인할 수 있는 트랜잭션 및 관련 사항에 대한 통계정보를 획득할 수 있으므로 애플리케이션 시스템의 최적화, 용량계획 및 성능문제 분석작업 시 계량적 접근이 가능해진다.According to the present invention, it is possible to obtain statistical information on transactions and related matters that can quantitatively check application performance in a distributed application operating environment, thereby enabling a quantitative approach in application system optimization, capacity planning, and performance problem analysis. .
패킷 분석, 성능 통계, 트랜잭션, 용량계획, 문제분석, 최적화, 정량적, 계량적Packet Analysis, Performance Statistics, Transactions, Capacity Planning, Problem Analysis, Optimization, Quantitative, Quantitative
Description
도1은 종래기술에 따른 트랜잭션 응답시간 분석리스트를 나타낸 구성도.1 is a block diagram showing a transaction response time analysis list according to the prior art.
도2는 본 발명의 실시예에 따른 분석 시스템의 연결상태를 나타낸 개념적 구성도.Figure 2 is a conceptual diagram showing a connection state of the analysis system according to an embodiment of the present invention.
도3은 분석 시스템의 구성요소를 나타낸 구조도.3 is a structural diagram showing components of an analysis system;
도4는 트랜잭션 응답시간 분석리스트를 고정부분과 가변부분으로 나눈 상태를 나타내는 개념도.4 is a conceptual diagram illustrating a state in which a transaction response time analysis list is divided into fixed parts and variable parts.
도5는 각 트랜잭션에 대하여 종류식별자를 부여한 상태를 나타내는 개념도.5 is a conceptual diagram illustrating a state in which a kind identifier is assigned to each transaction.
도6은 본 발명의 실시예에 따른 분석 방법으로 트랜잭션 응답시간을 분석하여 수행회수 기준으로 나타낸 성능통계표.6 is a performance statistics table based on the number of performance analysis by analyzing the transaction response time in the analysis method according to an embodiment of the present invention.
도7은 본 발명의 실시예에 따른 분석 방법으로 트랜잭션 응답시간을 분석하여 응답시간 히스토그램으로 나타낸 성능통계표.7 is a performance statistics table as a response time histogram by analyzing the transaction response time in the analysis method according to an embodiment of the present invention.
본 발명은 트래픽 데이터 파일 분석 기반의 분산 애플리케이션 트랜잭션 성능 분석 방법에 관한 것으로서, 보다 상세하게는 분산 애플리케이션 환경에서 네크워크에 흐르는 트래픽을 수집한 파일(이하 '캡처파일')을 분석하여 애플리케이션 성능을 통계적으로 파악할 수 있도록 하는 트래픽 데이터 파일 분석 기반의 분산 애플리케이션 트랜잭션 성능 분석 방법에 관한 것이다.The present invention relates to a method for analyzing distributed application transaction performance based on traffic data file analysis. More specifically, the application performance is statistically analyzed by analyzing a file (hereinafter, a 'capture file') that collects traffic flowing through a network in a distributed application environment. The present invention relates to a method for analyzing distributed application transaction performance based on traffic data file analysis.
도1은 종래기술에 따른 트랜잭션 응답시간 분석리스트를 나타낸 구성도이다. 도1에 나타난 바와 같이 종래기술에 따른 분산 애플리케이션 트래픽 분석을 통한 애플리케이션 성능분석자료 작성 방법은 단위 시간 동안 수행한 모든 트랜잭션(Transaction) 또는 쓰레드(Thread) (이하 '트랜잭션'이라 함)의 명칭(1030)과 함께 각각의 수행시간(응답시간, 1020), 트래픽 바이트 등을 단순히 나열하는 형태로 산출물을 생성하는 것이었다. 이러한 방법은 단위 시간 동안에 수행하는 트랜잭션의 종류 및 양과는 무관하게 수행한 모든 트랜잭션을 화면상에 출력해야 했으므로 많은 분석용 컴퓨터의 시스템 자원을 요구했다. 1 is a block diagram showing a transaction response time analysis list according to the prior art. As shown in FIG. 1, the method of preparing application performance analysis data through distributed application traffic analysis according to the related art includes names of all transactions or threads (hereinafter, referred to as “transactions”) performed during a unit time. The output was generated by simply listing each execution time (response time, 1020), traffic bytes, and the like. This method required a lot of system resources of the analysis computer because it had to output on the screen all transactions performed regardless of the type and amount of transactions performed during the unit time.
또한 너무 많은 트랜잭션이 화면 상에 나열되므로 사용자가 그 성능에 문제가 있는 트랜잭션을 파악하는데도 많은 어려움이 따랐을 뿐만 아니라, 동종 트랜잭션의 전반적인 성능, 시스템에서 해당 트랜잭션이 차지하는 성능 측면의 영향도 및 시스템의 전체적인 성능 등 애플리케이션 성능 분석의 목표라 할 수 있는 통계적 처리를 전제로 하는 정량적 수치는 제시하지 못하는 한계를 가지고 있었다.In addition, because too many transactions are listed on the screen, it was difficult for the user to identify a transaction that had a problem with its performance, as well as the overall performance of the homogeneous transaction, the impact of the performance aspect of the transaction on the system, and the overall system performance. Quantitative figures based on statistical processing, which is the goal of application performance analysis, such as performance, were not available.
즉, 식별자1로 표시된 "SELECT COL_A FROM TAB_A WHERE COL_A = 123"의 트랜잭션과 식별자4로 표시된 "SELECT COL_A FROM TAB_A WHERE COL_A = 10"이 동종의 트랜잭션이지만 동종의 트랜잭션으로 구분하지 아니하고 각기 다른 트랜잭션으로 나열하게 된다. That is, the transaction of "SELECT COL_A FROM TAB_A WHERE COL_A = 123" indicated by
따라서 트래픽 분석 방법으로 분산 애플리케이션 트랜잭션을 분석하여 그 성능을 보다 신속 정확히 이해하기 위해서는 개별 트랜잭션을 종류별로 분류하여 응답시간을 통계적으로 산출하는 방법으로 산출물을 작성하는 방법 및 시스템이 요구된다.Therefore, in order to analyze distributed application transactions using traffic analysis method, and to understand the performance more quickly and accurately, a method and system for preparing a product by a method of statistically calculating response time by classifying individual transactions by type are required.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 단위 시간동안 수행한 분산 애플리케이션 트랜잭션을 종류별로 구분하여 분석하고, 트랜잭션의 프로세싱 시간을 시간 관계형으로 통계적 처리를 함으로써 전반적인 애플리케이션의 성능 및 시스템 사용상황을 정량적으로 이해할 수 있도록 하는 트래픽 데이터 파일 분석 기반의 분산 애플리케이션 트랜잭션 성능 분석 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and analyzes the distributed application transactions performed for each unit time by type and analyzes the processing time of the transaction statistically in a time-relational manner, and the overall application performance and system usage situation. The purpose of this paper is to provide a distributed application transaction performance analysis method based on traffic data file analysis that can provide a quantitative understanding.
또한 본 발명은 최적화 대상 트랜잭션의 우선 순위 결정과 최적화에 따른 효과 예측, 용량계획 등 종래에 단순히 경험과 추정에 의존해야 했던 많은 작업을 계량적이고 산술적인 방법으로 접근할 수 있도록 하는 트래픽 데이터 파일 분석 기반의 분산 애플리케이션 트랜잭션 성능 분석 방법을 제공하는 것을 목적으로 한다.In addition, the present invention is based on the analysis of traffic data files, which allows access to a number of tasks that previously had to rely on experience and estimation in a quantitative and arithmetic way, such as prioritizing the optimized transactions, predicting the effects of optimization, and capacity planning Its purpose is to provide a distributed application transaction performance analysis method.
전술한 문제점을 해결하기 위하여 안출된 본 발명은 트래픽 데이터 파일 분석 기반의 분산 애플리케이션 트랜잭션 성능 분석 방법으로서, 네트워크를 통하여 애플리케이션서버 전 또는 후에서 흐르는 트래픽 데이터를 캡쳐하여 저장하고, 트랜잭션과 응답시간을 추출하는 단계와; 상기 트랜잭션을 고정부분과 가변부분으로 구분하고, 동일한 고정부분을 갖는 트랜잭션은 동일한 트랜잭션인 것으로 구분하여 저장하는 단계와; 동일한 트랜잭션에 대하여 응답한 회수의 합인 수행회수와, 동일한 트랜잭션에 대하여 응답하는데 걸린 시간의 합인 응답시간에 대한 정보를 상기 각각의 트랜잭션별로 저장하는 단계와; 모든 트랜잭션에 대한 수행회수의 합인 전체수행회수를 구하고, 상기 전체수행회수에 대한 각 트랜잭션별 수행회수의 비율을 계산하는 단계와; 모든 트랜잭션에 대한 응답시간의 합인 전체응답시간을 구하고, 상기 전체응답시간에 대한 각 트랜잭션별 응답시간의 비율을 계산하는 단계와; 상기 각 트랜잭션별 응답시간을 상기 각 트랜잭션별 수행회수로 나눈값인 평균응답시간을 계산하는 단계;를 포함한다.Disclosed is a distributed application transaction performance analysis method based on traffic data file analysis, which captures and stores traffic data flowing before or after an application server through a network, and extracts a transaction and response time. Making a step; Dividing the transaction into a fixed part and a variable part, and storing a transaction having the same fixed part as being the same transaction; Storing information for each transaction, the number of executions that are the sum of the number of responses to the same transaction and the response time that is the sum of the time taken to respond to the same transaction; Calculating a total number of executions, which is the sum of the number of executions for all transactions, and calculating a ratio of the number of executions for each transaction to the total number of executions; Calculating a total response time that is a sum of response times for all transactions, and calculating a ratio of response time for each transaction to the total response time; Calculating an average response time which is a value obtained by dividing the response time of each transaction by the number of executions of each transaction.
상기 트랜잭션의 고정부분은 단위모듈의 작업수행시 수행환경과 무관하게 공통적으로 수행되는 공통수행부로서, 수행 내용의 목적을 결정하는 부분을 의미하며, 상기 트랜잭션의 가변부분은 입력 아규먼트(argument) 또는 파라메터에 해당하는 부분으로서, 수행 내용의 결과를 결정하는 부분을 의미한다.The fixed part of the transaction is a common execution part that is commonly performed regardless of the execution environment of the unit module, and means a part for determining the purpose of the execution content, and the variable part of the transaction is an input argument or This is the part corresponding to the parameter, and it means the part that determines the result of the execution contents.
각각의 트랜잭션에 대하여 저장된 다수의 응답시간에 대한 정보중에서, 최소응답시간, 최대응답시간, 중간응답시간, 최빈응답시간 중 하나 이상에 대한 정보를 상기 각각의 트랜잭션별로 저장하는 단계;를 추가로 포함한다.Among the information on the plurality of response times stored for each transaction, storing information on at least one of the minimum response time, the maximum response time, the intermediate response time, and the least response time for each transaction; do.
상기 최소응답시간은 각각의 트랜잭션에 대한 다수의 응답시간 중에서 가장 짧은 응답시간이며, 상기 최대응답시간은 각각의 트랜잭션에 대한 다수의 응답시간 중에서 가장 긴 응답시간인 것을 특징으로 한다.The minimum response time is the shortest response time among the plurality of response times for each transaction, and the maximum response time is the longest response time among the plurality of response times for each transaction.
상기 중간응답시간은 각각의 트랜잭션별 최소응답시간과 최대응답시간의 산술평균값이며, 상기 최빈응답시간은 각각의 트랜잭션에 대한 다수의 응답시간 중에서 가장 자주 나타나는 응답시간인 것을 특징으로 한다.The intermediate response time is an arithmetic mean value of the minimum response time and the maximum response time for each transaction, and the least response time is a response time that appears most frequently among a plurality of response times for each transaction.
상기 각각의 트랜잭션별 수행회수, 응답시간, 평균응답시간, 최소응답시간, 최대응답시간, 중간응답시간, 최빈응답시간, 트랜잭션 명칭을 상기 수행회수 또는 응답시간의 순서로 정렬한 성능통계표를 작성하여 저장하는 단계;를 추가로 포함한다.The performance statistics table is prepared by arranging the number of times of execution, response time, average response time, minimum response time, maximum response time, intermediate response time, least frequent response time, and transaction name for each transaction in the order of execution frequency or response time. Storing; further comprises.
각각의 트랜잭션별 평균응답시간, 최소응답시간, 최대응답시간, 중간응답시간, 최빈응답시간으로부터 전체 트랜잭션의 평균응답시간, 최소응답시간, 최대응답시간, 중간응답시간, 최빈응답시간을 각각 계산하여 상기 성능통계표에 저장하는 단계;를 추가로 포함하며, 상기 전체 트랜잭션의 평균응답시간, 최소응답시간, 최대응답시간, 중간응답시간, 최빈응답시간은 각각의 트랜잭션별 평균응답시간, 최소응답시간, 최대응답시간, 중간응답시간, 최빈응답시간에 상기 각각의 트랜잭션별 수행회수를 곱한 후 합하고, 상기 합한 값을 상기 전체 트랜잭션의 수행회수로 나누어서 계산하는 것을 특징으로 한다.Calculate the average response time, minimum response time, maximum response time, intermediate response time and mode response time of each transaction from the average response time, minimum response time, maximum response time, intermediate response time, and mode response time for each transaction. Storing in the performance statistics table, wherein the average response time, the minimum response time, the maximum response time, the intermediate response time, and the least frequent response time of each transaction are the average response time, the minimum response time, The maximum response time, the intermediate response time, and the most frequent response time are multiplied by the number of executions for each transaction, and then summed, and the sum is divided by the number of executions of the entire transaction.
이하, 도면을 참조하여 본 발명을 설명한다.Hereinafter, the present invention will be described with reference to the drawings.
도2는 본 발명의 실시예에 따른 트래픽 데이터 파일 분석 기반의 분산 애플리케이션 트랜잭션 성능 분석 시스템(이하 '분석시스템'이라 함)의 연결상태를 나 타낸 개념적 구성도이며, 도3은 분석 시스템의 구성요소를 나타낸 구조도이다.FIG. 2 is a conceptual diagram showing a connection state of a distributed application transaction performance analysis system (hereinafter referred to as an 'analysis system') based on traffic data file analysis according to an embodiment of the present invention, and FIG. 3 is a component of an analysis system. It is a structural diagram showing.
도2와 도3을 참조하여 설명하면, 분석시스템(100)은 개념적으로 애플리케이션서버(200)의 외부에 설치된다.Referring to Figures 2 and 3, the
애플리케이션서버(200) 전 또는 후에는 다수의 사용자 단말기(400)와 데이터베이스시스템(300)이 각각 네트워크로 연결된다.Before or after the
애플리케이션서버(200)는 사용자 단말기(400)로부터 입력되는 각종 명령(트랜잭션)을 수행하여 그 결과값을 사용자에게 제공하는 시스템의 서버이다.The
데이터베이스시스템(300)은 애플리케이션서버(200)가 검색자료제공을 위하여 필요로 하는 각종 데이터를 저장하는 시스템이다.The
분석시스템(100)은 중앙처리부(110), 캡쳐파일DB(120), 응답시간정보 DB(130), 성능통계정보DB(140)를 포함한다.The
중앙처리부(110)는 트랜잭션 패킷을 캡쳐하여 파일로 저장하고, 저장된 트래픽 캡쳐 파일로부터 트랜잭션과 각각의 응답시간을 검출하여 저장하고, 트랜잭션별로 응답시간을 분석하여 성능통계자료를 생성한다.The
캡쳐파일DB(120)는 애플리케이션서버(200) 전 또는 후의 네트워크 구간에 흐르는 트래픽을 캡쳐하여 저장하는 데이터베이스이다.The
응답시간정보DB(130)는 애플리케이션서버(200) 또는 데이터베이스시스템(300)이 트랜잭션 처리를 요청받아 처리를 수행한 후, 그 결과 데이터를 리턴하기까지의 경과시간을 수행한 모든 개별 트랜잭션과 함께 저장한다. 즉, 각 트랜잭션의 식별자(1010), 응답시간(1020), 트랜잭션 명칭(1030) 등을 필드별로 저장한다.The response time information DB 130 stores the
성능통계정보DB(140)는 응답시간정보DB(130)에 저장된 응답시간에 대한 정보를 분석하여 작성된 성능통계 정보가 저장된다.The performance
도4는 트랜잭션 응답시간 분석리스트를 고정부분과 가변부분으로 나눈 상태를 나타내는 개념도이며, 도5는 각 트랜잭션에 대하여 종류식별자를 부여한 상태를 나타내는 개념도이다.4 is a conceptual diagram illustrating a state in which a transaction response time analysis list is divided into fixed parts and variable parts, and FIG. 5 is a conceptual diagram illustrating a state in which a type identifier is assigned to each transaction.
먼저 중앙처리부(110)는 종래의 기술과 유사한 방법으로 애플리케이션서버(200) 전 또는 후에서 수집한 트래픽 캡쳐 파일을 분석하여 도1에서와 같이 트랜잭션 응답시간 리스트를 작성한다. 전술한 바와 같이 트랜잭션 응답시간 리스트에는 각 트랜잭션에 대하여 트랜잭션 식별자(1010), 트랜잭션을 수행하는데 걸린 시간인 응답시간(1020) 및 실제 수행한 트랜잭션(1030)이 포함된다.First, the
중앙처리부(110)는 트랜잭션을 분류하는데, 클라이언트 프로그램이 발생시키는 트랜잭션을 종류별로 분류하기 위해서는 수행시 발생하는 트랜잭션 데이터에서 트랜잭션의 종류를 식별할 수 있는 부분만을 인식할 필요가 있다. 이를 위하여 중앙처리부(110)는 도4에서와 같이 각 트랜잭션을 고정부분(1032)과 가변부분(1034)으로 구분하고, 고정부분(1032)에 대하여 트랜잭션의 종류를 구분하는 별도의 식별자를 부여한다. 이러한 과정을 통하여 각 트랜잭션을 종류별로 분류할 수 있게 된다. The
본 발명에서 트랜잭션을 분류하기 위한 기준으로 고정부분(1032)과 가변부분(1034)을 사용하는데, 고정부분(1032)은 단위모듈의 작업수행시 수행환경과 무관하게 공통적으로 수행되는 공통수행부를 의미하며, 수행 내용의 목적을 결정하는 부 분이다. 즉 프로그램에 코딩되어 프로그램의 일부로 존재하면서, 사용자나 수행환경이 달라져도 변하지 않고 동일하게 유지되는 부분이다.In the present invention, the
이에 반하여 가변부분(1034)은 입력 아규먼트(argument) 또는 파라메터에 해당하는 부분으로서, 수행 내용의 결과를 결정하는 부분이다. 예를 들어 '김철수'라는 이름을 검색하기 위하여 트랜잭션을 입력하는 경우에는 '검색명령' 부분은 고정부분(1032)으로, '김철수'라는 이름은 가변부분(1034)으로 간주할 수 있다.On the contrary, the
도5에 표시된 종류식별자(1040)는 각 트랜잭션의 고정부분(1032)을 식별하는 표지인데, 고정부분(1032) 자체를 식별자로 바로 활용하는 것이 아니라 별도의 종류식별자(1040)를 부여하는 이유는 처리 속도면에서 유리하기 때문이다.The
도5는 이러한 처리의 결과를 예시한 것으로 동일한 종류의 트랜잭션은 동일한 트랜잭션 종류식별자(1040)를 가지고 있음을 보여준다. 일단 도5와 같이 종류식별자(1040)가 할당되면 각 트랜잭션의 성능 통계치를 간단히 구할 수 있다.Figure 5 illustrates the results of this process and shows that the same type of transaction has the same
도6은 본 발명의 실시예에 따른 분석 방법으로 트랜잭션 응답시간을 분석하여 수행회수 기준으로 나타낸 성능통계표이다. 중앙처리부(110)가 응답시간정보DB(130)에 저장된 각 트랜잭션의 식별자(1010), 응답시간(1020), 트랜잭션 명칭(1030)으로부터 성능통계표를 작성하여 성능통계DB(140)에 저장한다.6 is a performance statistics table based on the number of performance analysis by analyzing the transaction response time in the analysis method according to an embodiment of the present invention. The
트랜잭션 성능통계표는 도6과 같이 크게 트랜잭션 종류를 가리키는 명칭부(2300)와 수행회수 통계부(2100) 및 응답시간 통계부(2200)로 구분하고, 수행회수 및 응답시간 통계부(2100, 2200)는 다시 각각의 통계부로 분류된다. 여기서 트랜잭션의 종류는 도5에서 부여된 종류식별자(1040)가 같은 트랜잭션을 모두 같은 트 랜잭션으로 보고 분류한 것이다.As shown in FIG. 6, the transaction performance statistics table is divided into a
수행회수 통계부(2100)는 수행회수순위(2102), 수행회수합계(2104), 수행회수비율(2106), 누적수행회수비율(2108)로 나누어진다.The performance
또한 응답시간 통계부(2200)는 응답시간순위(2202), 응답시간합계(2204), 응답시간비율(2206), 누적응답시간비율(2208), 최소응답시간(2210), 평균응답시간(2212), 중간응답시간(2214), 최빈응답시간(2216), 최대응답시간(2218)으로 나누어진다.In addition, the response
수행회수 통계부(2100)에서 수행회수순위(2102)는 트랜잭션 수행회수가 가장 많은 순서대로 각각의 트랜잭션을 배열한 것이며, 수행회수합계(2104)는 각 트랜잭션의 수행회수이다. 그리고, 수행회수비율(2106)은 애플리케이션서버(200)에서 수행한 총 트랜잭션 중에서 특정 트랜잭션의 수행회수가 차지하는 비율을 나타내며, 누적수행회수비율(2108)은 최대 수행회수의 트랜잭션부터 누적된 수행회수의 비율을 나타낸다.The number of times of
도6에서와 같이, 1522개의 트랜잭션의 전체수행회수가 28,524회이고, 랭킹이 2위인 트랜잭션(GET/buy/top_detail_view.asp)의 수행회수합계(2104)가 3,515회이므로, 3,515/28,524 = 12.323(%)의 수행회수비율(2106)을 갖는다.As shown in FIG. 6, since the total number of executions of 1522 transactions is 28,524 and the total number of
한편, 응답시간 통계부(2200)에서 응답시간순위(2202)는 응답시간의 총합계에 따른 순위이며, 응답시간합계(2204)는 해당 트랜잭션을 수행하는데 소요된 총 응답시간이며, 응답시간비율(2206)은 애플리케이션서버(200) 전체의 총 응답시간에서 특정 트랜잭션의 응답시간의 비율을 나타낸다. 또한, 최소응답시간(2210)과 최 대응답시간(2218)은 특정 트랜잭션에서 최소와 최대응답시간을 나타내며, 평균응답시간(2212)은 특정 트랜잭션에 대한 전체 응답시간의 산술평균, 중간응답시간(2214)은 중간값, 최빈응답시간(2216)은 최다 회수로 나타내는 응답시간을 나타낸다.On the other hand, in the response
전체 애플리케이션서버(200)의 최소응답시간(2210)과 최대응답시간(2218)은 단순히 최단 또는 최장 시간만을 나타내는 경우에는 시스템의 상황을 간략하게 파악할 수 없는 불편함이 있으며, 시스템 전체의 상황을 표시하는데 적합하지 않은 경우가 있다. 따라서 전체 시스템의 최소응답시간(2210)과 최대응답시간(2218)은 각각의 트랜잭션의 응답회수에 따른 가중치를 감안하여 계산할 필요가 있다. 본 발명에서는 아래와 같은 방법으로 시스템 전체의 최소응답시간(2210)과 최대응답시간(2218)을 계산한다.The
또는 or
예를 들어, 도6에 나타난 전체 최소응답시간(0.076)은 1순위 트랜잭션의 최소응답시간(0.024)에 수행회수합계(3,542)를 곱하고, 다음으로 2순위 트랜잭션의 최소응답시간(0.000; 소수점 아래에 0이 아닌 숫자가 있으므로 곱하면 0이 아님)과 수행회수합계(3,515)를 곱하는 방식으로 모든 트랜잭션의 값을 구한 후, 전체를 합한 값을 전체수행회수(28,524)로 나눈 값이다. 그리고 이것은 전체 최대응답시간 (3.986)을 구하는데에도 동일하게 적용될 수 있으며, 전체 분석시스템(100)의 평균응답시간(2212), 중간응답시간(2214), 최빈응답시간(2216)도 마찬가지이다.For example, the total minimum response time (0.076) shown in FIG. 6 is multiplied by the total number of times of execution (3,542) by the minimum response time (0.024) of the first priority transaction, and then the minimum response time (0.000; below the decimal point) of the second priority transaction. There is a non-zero number, so multiplying is not 0) and multiplying the total recovery times (3,515) to get the values of all transactions, then sum the total divided by the total number of times (28,524). The same may be applied to obtaining the total maximum response time (3.986), as well as the average response time (2212), the intermediate response time (2214), the least response time (2216) of the
도6에 나타난 바와 같이, 응답시간순위(2202) 7위인 "GET/buy/top_detail_view.asp"의 응답시간합계(2204)는 394.424초이며, 애플리케이션서버(200)의 전체응답시간 16,496.948초에 대하여 2.391(%)의 응답시간비율(2206)을 갖는다는 것을 알 수 있다. 또한 3,515회의 트랜잭션을 394.424초 동안에 수행한 것이므로 평균응답시간은 394.424/3,515 = 0.112초인 것을 알 수 있다.As shown in FIG. 6, the
또한 도6의 수행회수 기준 1위인 'GET /buy/detail_view.asp' 트랜잭션은 전체수행회수 대비 12.418 퍼센트의 수행회수를 차지하고, 응답시간 측면에서는 47.439 퍼센트를 차지하고 있으며 산술적 평균 응답시간은 2.209초가 걸리는 트랜잭션이라는 것을 즉시 이해할 수 있게 된다. 나아가 평균응답시간 2.209초를 평균 1초가 걸리도록 최적화 했을 때의 개선효과도 전체응답시간에 대한 응답시간 비율인 47.439 퍼센트를 토대로 간단히 계산할 수 있게 된다. 또한 전체대비 응답시간의 비율은 곧 시스템 전체의 성능에 대한 영향도로 간주할 수 있으므로 중요도 평가나 최적화의 우선 순위 등을 계량적으로 파악할 수 있게 된다. In addition, the 'GET /buy/detail_view.asp' transaction, which is the No. 1 based on the number of executions of FIG. 6, accounts for 12.418 percent of the total executions, 47.439 percent in terms of response time, and the arithmetic average response time takes 2.209 seconds. Can be understood immediately. Furthermore, the improvement effect of optimizing the average response time of 2.209 seconds to average one second can be calculated simply based on the response time ratio of 47.439 percent of the total response time. In addition, the ratio of the response time to the total can be regarded as the effect on the performance of the entire system, thereby quantitatively understanding the importance evaluation and the priority of optimization.
한편, 도6에서는 수행회수를 기준으로 각 트랜잭션의 순위를 정리하였으나, 사용자의 필요에 따라 응답시간이나 평균시간 등으로 기준을 달리하여 순위를 표시할 수 있을 것이다.Meanwhile, in FIG. 6, the ranking of each transaction is arranged based on the number of executions, but the ranking may be displayed by changing the criteria according to the response time or the average time according to the needs of the user.
도7은 본 발명의 실시예에 따른 분석 방법으로 트랜잭션 응답시간을 분석하여 응답시간 히스토그램으로 나타낸 성능통계표이다. 이러한 히스토그램을 사용할 경우 최적화의 대상이 될만한 트랜잭션의 종류와 개선 기대효과를 수치뿐만 아니라 시각적으로도 표현할 수 있게 된다. 예를 들어 도7의 첫번째 항목은 응답시간이 3초 이상 걸린 트랜잭션 수행회수(3014)가 377건이며 이 377건의 응답시간의 총합은 전체 수행시간 대비 7.922 퍼센트 임을 보여준다.7 is a performance statistics table represented by the response time histogram by analyzing the transaction response time in the analysis method according to an embodiment of the present invention. Using these histograms, it is possible to express not only numerically but also visually the types of transactions that can be optimized and the expected effects of improvement. For example, the first item of FIG. 7 shows that the number of transaction execution times (3014) having a response time of 3 seconds or more is 377, and the total of these 377 response times is 7.922 percent of the total execution time.
이상에서 본 발명의 실시예를 설명하였으나 본 발명의 권리범위가 이러한 실시예에 제한되지 않으며, 당업자가 용이하게 변형할 수 있는 범위에도 권리가 미친다.Although the embodiments of the present invention have been described above, the scope of the present invention is not limited to these embodiments, and the right also extends to those skilled in the art.
본 발명에 의하면, 분산 애플리케이션 환경에서의 사용하는 트랜잭션에 대하여 최적화 대상의 우선순위 식별, 최적화 효과에 대한 사전 예측 및 용량계획에 대한 정량적 접근이 가능해지며, 정상 상태에서 작성된 트랜잭션 성능 통계표를 기준으로 하여 비정상 상태의 문제분석 작업이 신속히 이루어질 수 있게 된다.According to the present invention, it is possible to identify priorities of optimization targets, to predict the optimization effect, and to quantitatively access capacity planning for transactions used in a distributed application environment. The problem analysis work in the abnormal state can be performed quickly.
뿐만 아니라 트랜잭션 성능 통계표에 나타난 수행회수와 응답시간의 순위 및 누적치는 실제 사용자의 사용행태를 가리키는 지표이므로 이를 부하 테스트에 적용할 경우 보다 정밀도 높은 부하 테스트가 가능해 진다.In addition, the rank and cumulative number of execution times and response time shown in the transaction performance statistics table indicate the actual user usage behavior, and when applied to the load test, more accurate load test is possible.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040102351A KR20060063236A (en) | 2004-12-07 | 2004-12-07 | Analysis method of distributed application transaction performance based on analysis of traffic data file |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040102351A KR20060063236A (en) | 2004-12-07 | 2004-12-07 | Analysis method of distributed application transaction performance based on analysis of traffic data file |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060063236A true KR20060063236A (en) | 2006-06-12 |
Family
ID=37159274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040102351A KR20060063236A (en) | 2004-12-07 | 2004-12-07 | Analysis method of distributed application transaction performance based on analysis of traffic data file |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060063236A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080062817A (en) * | 2006-12-29 | 2008-07-03 | 한전케이디엔주식회사 | Zigbee sensor network analysis system |
WO2010044797A1 (en) * | 2008-10-16 | 2010-04-22 | Hewlett-Packard Development Company, L.P. | Performance analysis of applications |
KR101115907B1 (en) * | 2009-09-02 | 2012-02-14 | 주식회사 엘지유플러스 | Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device |
KR101218927B1 (en) * | 2011-12-28 | 2013-01-21 | 주식회사 엘지유플러스 | Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device |
-
2004
- 2004-12-07 KR KR1020040102351A patent/KR20060063236A/en not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080062817A (en) * | 2006-12-29 | 2008-07-03 | 한전케이디엔주식회사 | Zigbee sensor network analysis system |
WO2010044797A1 (en) * | 2008-10-16 | 2010-04-22 | Hewlett-Packard Development Company, L.P. | Performance analysis of applications |
US8635498B2 (en) | 2008-10-16 | 2014-01-21 | Hewlett-Packard Development Company, L.P. | Performance analysis of applications |
KR101115907B1 (en) * | 2009-09-02 | 2012-02-14 | 주식회사 엘지유플러스 | Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device |
KR101218927B1 (en) * | 2011-12-28 | 2013-01-21 | 주식회사 엘지유플러스 | Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7222269B2 (en) | Performance evaluation device, performance evaluation information managing device, performance evaluation method, performance evaluation information managing method, performance evaluation system | |
US6665716B1 (en) | Method of analyzing delay factor in job system | |
US7756978B2 (en) | Multiplicity adjustment system and method | |
US7568023B2 (en) | Method, system, and data structure for monitoring transaction performance in a managed computer network environment | |
US9317539B2 (en) | Time-series database setup automatic generation method, setup automatic generation system and monitoring server | |
US8631331B2 (en) | Apparatus for network traffic classification benchmark | |
EP2590081B1 (en) | Method, computer program, and information processing apparatus for analyzing performance of computer system | |
US8200805B2 (en) | System and method for performing capacity planning for enterprise applications | |
CN101505243B (en) | Performance exception detecting method for Web application | |
US9715409B2 (en) | Job delay detection method and information processing apparatus | |
WO2000077643A1 (en) | Computer program profiler | |
US20180067995A1 (en) | Sensor Data Search System, Sensor Data Search Method and Management Computer | |
US7478368B2 (en) | Organization and visualization of performance data in selected display modes | |
CN100566260C (en) | A kind of method for monitoring network service quality and system thereof | |
CN111124791A (en) | System testing method and device | |
WO2022111278A1 (en) | Concurrent request timeout diagnosis method and apparatus, device, and storage medium | |
Caesarita et al. | Identifying bottlenecks and fraud of business process using alpha++ and heuristic miner algorithms (Case study: CV. Wicaksana Artha) | |
KR20060063236A (en) | Analysis method of distributed application transaction performance based on analysis of traffic data file | |
CN107844496B (en) | Statistical information output method and device | |
CN109446398A (en) | The method, apparatus and electronic equipment of intelligent measurement web crawlers behavior | |
EP3764232A1 (en) | Business transactions impact analysis | |
KR102432126B1 (en) | Data preparation method and data utilization system for data use | |
CN112948229A (en) | Method and device for determining performance of scheduling cluster, computer equipment and storage medium | |
WO2001027850A2 (en) | Electronic shopping management: user states | |
CN110795312A (en) | Interface display method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |