KR100447041B1 - Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment. - Google Patents

Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment. Download PDF

Info

Publication number
KR100447041B1
KR100447041B1 KR10-2004-0003589A KR20040003589A KR100447041B1 KR 100447041 B1 KR100447041 B1 KR 100447041B1 KR 20040003589 A KR20040003589 A KR 20040003589A KR 100447041 B1 KR100447041 B1 KR 100447041B1
Authority
KR
South Korea
Prior art keywords
server
performance
agent
request
tier
Prior art date
Application number
KR10-2004-0003589A
Other languages
Korean (ko)
Other versions
KR20040013058A (en
Inventor
박기복
Original Assignee
박기복
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 박기복 filed Critical 박기복
Priority to KR10-2004-0003589A priority Critical patent/KR100447041B1/en
Publication of KR20040013058A publication Critical patent/KR20040013058A/en
Application granted granted Critical
Publication of KR100447041B1 publication Critical patent/KR100447041B1/en
Priority to PCT/KR2005/000151 priority patent/WO2005071560A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • AHUMAN NECESSITIES
    • A44HABERDASHERY; JEWELLERY
    • A44BBUTTONS, PINS, BUCKLES, SLIDE FASTENERS, OR THE LIKE
    • A44B15/00Key-rings
    • A44B15/005Fobs
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D29/00Manicuring or pedicuring implements
    • A45D29/04Nail files, e.g. manually operated
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21LLIGHTING DEVICES OR SYSTEMS THEREOF, BEING PORTABLE OR SPECIALLY ADAPTED FOR TRANSPORTATION
    • F21L4/00Electric lighting devices with self-contained electric batteries or cells
    • F21L4/005Electric lighting devices with self-contained electric batteries or cells the device being a pocket lamp
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V33/00Structural combinations of lighting devices with other articles, not otherwise provided for
    • F21V33/0004Personal or domestic articles
    • F21V33/004Sanitary equipment, e.g. mirrors, showers, toilet seats or paper dispensers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Epidemiology (AREA)
  • Public Health (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 멀티-티어(Tier) 분산 환경에서 티어별 서버의 성능측정을 위한 클라이언트의 요청 리소스(resource)의 수집과 티어별 서버의 성능과 요청 리소스들에 대한 성능을 측정,분석,모니터 하는 시스템 및 방법에 관한 것으로, 더욱 상세하게는 티어별 각 서버마다 서버와 통신연결을 담당하는 에이전트(Agent)서버를 이용하여 해당 서버의 성능을 테스트하기 위한 요청 리소스(resource)의 수집과 상기의 방법 및 일반적인 방법으로 수집된 요청 리소스를 이용하여 각 티어별 서버의 성능을 측정, 분석하고 또한 요청된 개별 요청 리소스의 성능 그리고 상기 요청된 리소스의 처리를 위해 참여한 다른 티어들의 서버들의 성능과 이 서버들에서 처리된 요청 리소스들의 성능을 측정, 분석, 모니터 하기 위한 시스템 및 방법에 관한 것이다. 이를 위하여 본 발명은, 컨트롤러(Controller) 서버와 에이전트 서버와 리파지터리(Repository) 서버와 성능테스트 모니터와 사용자 인터페이스를 포함하는 것을 특징으로 한다. 상세하게는, 컨트롤러 서버는 수집된 요청 리소스들을 이용하여 성능테스트를 관리하는 잡 스케쥴러(Job Scheduler)부와 요청 리소스에 대한 수집과 특정 요청 리소스에 대한 성능테스트를 담당하는 워크벤치(Workbench)부와 리파지터리 서버로부터 성능정보를 조회하여 분석하는 어넬라이저(Analyzer)부와 임의의 수의 가상 사용자를 발생시켜서 성능테스트를 수행하여 성능정보를 컨트롤러 서버에 전달하고, 리파지터리 서버에 저장하는 가상사용자(Vuser)부와 성능테스트 상태를 실시간으로 모니터링 하는 성능테스트 모니터부를 포함하며, 에이전트서버는 담당하고 있는 서버와 동일하지 않은 시스템에서 실행할 수 있으며 또한 상기 담당하고 있는 서버와 통신연결하는 브릿지(Bridge)부와 처리된 요청 리소스의 성능정보를 수집하고 리파지터리에 전달하는 로그관리부를 포함하며, 리파지터리 서버는 요청 리소스들과 잡(Job) 정보와 성능정보를 저장, 관리하는 데이터베이스부로 이루어진 것에 특징이 있다.The present invention is a system for collecting, analyzing, and monitoring the performance of the server and the performance of the request resources of the server for each tier for the performance measurement of the server per tier in a multi-tier distributed environment. And a method, more specifically, a collection of request resources for testing the performance of a server using an agent server that is in communication with a server for each server of each tier, and the method and By using the collected request resources in the usual way, the performance of the servers in each tier is measured and analyzed, and the performance of the servers in the other tiers participating in the processing of the requested resources, A system and method for measuring, analyzing, and monitoring the performance of processed request resources. To this end, the present invention includes a controller server, an agent server, a repository server, a performance test monitor, and a user interface. In detail, the controller server includes a job scheduler that manages performance tests using collected request resources, and a workbench unit that collects request resources and performs performance tests on specific request resources. An analyzer unit that searches and analyzes performance information from the repository server, and generates a random number of virtual users to perform performance tests to deliver the performance information to the controller server, and to store it in the repository server. It includes a user tester and a performance test monitor that monitors the performance test status in real time, and the agent server can run on a system that is not the same as the server in charge, and also bridge the communication with the server in charge. Collecting performance information of the unit and the processed request resource and passing it to the repository It includes a management unit that, repository server is characterized in comprising a database portion for storing, managing the resource request and the job (Job) information and performance information.

Description

멀티-티어(Tier) 분산 환경에서 티어별 서버의 성능측정을 위한 클라이언트의 요청 리소스(resource)의 수집과 티어별 서버의 성능과 요청 리소스들에 대한 성능정보를 측정,분석,모니터 하는 시스템 및 방법 {Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment.}System and method for collecting client's request resource for performance measurement of server per tier in multi-tier distributed environment, and measuring, analyzing and monitoring performance information of server's performance and request resources for each tier {Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment.}

본 발명은 멀티-티어(Tier) 분산 환경에서 티어별 서버의 성능측정을 위한 클라이언트의 요청 리소스(resource)의 수집과 티어별 서버의 성능과 요청 리소스들에 대한 성능을 측정,분석,모니터 하는 시스템 및 방법에 관한 것으로, 더욱 상세하게는 티어별 각 서버마다 서버와 통신연결을 담당하는 에이전트(Agent)서버를 이용하여 해당 서버의 성능을 테스트하기 위한 요청 리소스(resource)의 수집과 상기의 방법및 일반적인 방법으로 수집된 요청 리소스를 이용하여 각 티어별 서버의 성능을 측정, 분석하고 또한 요청된 개별 요청 리소스의 성능 그리고 상기 요청된 요청 리소스의 처리를 위해 참여한 다른 티어들의 서버들의 성능과 이 서버들에서 처리된 요청 리소스들의 성능을 측정, 분석, 모니터 하기 위한 시스템 및 방법에 관한 것이다.The present invention is a system for collecting, analyzing, and monitoring the performance of the server and the performance of the request resources of the server for each tier for the performance measurement of the server per tier in a multi-tier distributed environment. And a method, more specifically, a collection of request resources for testing the performance of a corresponding server by using an agent server that is in communication with a server for each server of each tier, and the above method. Using the collected request resources in a general way, the performance of the servers in each tier is measured and analyzed, and also the performance of the servers in other tiers participating in the processing of the requested request resources and the servers The present invention relates to a system and a method for measuring, analyzing, and monitoring the performance of request resources processed in.

오늘날의 컴퓨팅 환경은 클라이언트와 애플리케이션, 데이터베이스, 미들웨어, ERP(Enterprise Resource Plan), CRM(Customer Relationship Management) 솔루션 등 각종 서비스를 담당하는 서버들의 멀티-티어 분산 환경으로 발전하였다. 종전의 클라이언트-서버 방식의 2단계 컴퓨팅환경에서는 시스템의 성능관리가 비교적 용이하였지만, 현재는 웹을 이용한 수백, 수천의 동시 사용자의 부하가 비정규적으로 발생할 수 있으며, 다수의 서버들이 분산되어 단계별로 클라이언트의 요청을 처리하여 마지막으로 결과를 클라이언트에게 전달하는 복잡한 환경에서 프로세스가 이루어지기 때문에, 시스템의 성능관리가 더욱 어렵게 되었다. 이렇게 복잡한 멀티-티어 분산 환경에서 각 계층별 서버의 성능에 대한 정확한 테스트와 측정과 분석을 제공하는 시스템 및 방법이 요구된다.Today's computing environment has evolved into a multi-tier, distributed environment of servers that serve clients, applications, databases, middleware, enterprise resource plans (ERPs), and customer relationship management (CRM) solutions. In the previous client-server two-stage computing environment, the performance management of the system was relatively easy, but the load of hundreds or thousands of concurrent users using the web can be irregularly generated. As the process takes place in a complex environment that handles the client's request and finally delivers the results to the client, system performance management becomes more difficult. In such a complex multi-tier distributed environment, there is a need for systems and methods that provide accurate testing, measurement and analysis of the performance of servers at each layer.

이러한 멀티-티어 분산 환경에서 각 서버의 성능 관리는 주로 티어별 서버에서 에이전트를 구동하여, 해당 서버의 로그를 분석하여 성능정보를 측정하고 모니터하는 방식을 사용한다. 그러나 이러한 방식은 대상 서버의 로그 과정과 형식을 에이전트가 모두 알고 있어야 하며, 에이전트가 대상 서버와 동일한 시스템에서 실행될 수 있어야 하는 조건을 만족해야 한다. 최근에는 클라이언트의 요청 리소스의 처리를위한 분산된 서버들의 성능에 대한 측정을 서버측은 자바가상머신(Java Virtual Machine)을 이용하는 자바 어플리케이션 서버의 로그 기능을 이용하여 상기 자바어플리케이션 서버와 통신하는 서버들에 대한 성능을 측정하는 방식으로 이루어 지고 있고, 클라이언트 측은 웹브라우저 기반으로 이루어지고 있으나, 서버상의 어플리케이션이 CGI, PHP, Perl또는 데이터베이스 또는 다른 종류의 서버 솔루션이나 미들웨어로 구현된 시스템인 경우에 적용이 어려우며, 클라이언트측 또한 어플리케이션이 웹브라우저가 아닌 다른 어플리케이션일 경우에 대하여는 클라이언트가 요청한 리소스의 수집과 요청 리소스에 대한 단계별 서버의 성능에 대한 테스트와 측정과 분석이 어려운 실정이다. 또한 서버의 어플리케이션 프로그램의 소스(Source)에 약속한 API(Application Programming Interface)를 삽입하고, 삽입된 API에 의해 실행중 생성하는 로그정보를 분석하여 서버의 성능을 측정,분석하는 방법도 사용되고 있으나, 이러한 방법은 현실적으로 표준적인 방법이 없고, 프로그램의 소스를 수정하고, 재 컴파일해야 하는 여려움이 있게된다.In this multi-tier distributed environment, performance management of each server mainly uses a method of measuring and monitoring performance information by analyzing the log of the server by running an agent in each server of each tier. However, this method requires that both the agent know the logging process and format of the target server, and satisfy the condition that the agent must be able to run on the same system as the target server. Recently, the server side measures the performance of distributed servers for processing a request resource of a client by using a log function of a Java application server using a Java virtual machine to servers communicating with the Java application server. This is done by measuring the performance of the server, and the client side is based on the web browser, but it is difficult to apply when the application on the server is a system implemented with CGI, PHP, Perl or database or other kind of server solution or middleware. On the other hand, when the client side is an application other than the web browser, it is difficult to collect, request, and measure and analyze the performance of the server for each of the requested resources. In addition, a method of measuring and analyzing the performance of the server by inserting a promised API (Application Programming Interface) into the source of the application program of the server and analyzing log information generated during execution by the inserted API is used. There is no standard way to do this, and there is a need to modify and recompile the source of the program.

본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로서,본 발명의 목적은 다수의 서버가 참여하는 멀티-티어(Tier) 분산 환경에서 각 티어별 서버와 통신 프로토콜로 연결된 에이전트(agent)서버들을 이용하여 각 티어별 서버의 성능 테스트를 위한 요청 리소스(resource)의 수집을 위한 시스템 및 방법을 제공하는 것이다. 여기서 각 에이전트서버의 실행 시스템은 해당 서버와 동일하지 않아도 된다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to use agent servers connected to each tier server and communication protocol in a multi-tier distributed environment in which multiple servers participate. By providing a system and method for the collection of request resources (resource) for the performance test of each tier server. Here, the execution system of each agent server does not have to be the same as the corresponding server.

또한, 본 발명의 다른 목적은 상기의 방법으로 요청 리소스들을 수집할 때, 관심있는 요청 리소스들을 하나의 집합으로 리파지터리 서버에 저장하여, 각 집합별 요청 리소스들의 성능 테스트 와 이 집합들의 조합을 이용한 새로운 요청 리소스 집합의 생성을 돕기 위한 시스템 및 방법을 제공하는 것이다.In addition, another object of the present invention is to store the request resources of interest as a set in the repository server when collecting the request resources in the above method, to perform a performance test of the request resources of each set and a combination of these sets The present invention provides a system and method for assisting the creation of a new set of requested resources.

또한, 본 발명의 다른 목적은 임의의 방법으로 수집된 요청 리소스들을 이용하여 임의의 수의 가상사용자에 의하여 성능측정을 실시하여 상기 요청 리소스들의 성능 그리고 상기 요청 리소스들의 처리를 위해 참여한 다른 티어의 서버들의 성능과 다른 티어의 서버에서 처리된 요청 리소스들의 성능을 측정, 분석하기 위한 시스템 및 방법을 제공하는 것이다.In addition, another object of the present invention is to perform a performance measurement by any number of virtual users using the request resources collected by any method, the server of the other tier participating in the performance of the request resources and processing of the request resources. It is to provide a system and method for measuring and analyzing the performance of these resources and the performance of the request resources processed in servers of different tiers.

또한, 본 발명의 다른 목적은 상기의 방법으로 테스트 및 측정된 각종 성능 정보를 리파지터리 서버에 저장하여 티어별 서버의 성능에 대한 다양한(일자별, 테스트 조건별) 정보를 조회하여 티어별 서버의 성능을 개선하는데 도움을 주는 시스템 및 방법을 제공하는 것이다.In addition, another object of the present invention is to store a variety of performance information tested and measured by the above method in the repository server to query a variety of information (per day, by test conditions) information on the performance of the server for each tier of the server for each tier It is to provide a system and method to help improve performance.

또한, 본 발명의 다른 목적은 임의의 방법으로 수집된 요청 리소스 중에서 티어별 서버의 성능에 기준 역할을 하는 요청 리소스들을 리파지터리 서버로부터 검색하여 운영중인 시스템에 상시 성능측정을 하여 운영시스템의 성능을 선별된 요청 리소스들에 의한 샘플링 방식으로 실시간 모니터하기 위한 시스템 및 방법을 제공하는 것이다.In addition, another object of the present invention is to retrieve the request resources that serve as a reference to the performance of the server for each tier among the request resources collected by any method from the repository server to always perform performance measurements on the operating system performance of the operating system To provide a system and method for real-time monitoring in a sampling manner by the selected request resources.

상기의 목적들을 달성하기 위하여 본 발명은, 컨트롤러(Controller) 서버와 에이전트 서버와 리파지터리(Repository) 서버와 성능테스트 모니터와 사용자 인터페이스를 포함하는 것을 특징으로 한다. 상세하게는, 컨트롤러 서버는 수집된 요청 리소스들을 이용하여 성능테스트를 관리하는 잡 스케쥴러(Job Scheduler)부와 요청 리소스에 대한 수집과 특정 요청 리소스에 대한 성능테스트를 담당하는 워크벤치(Workbench)부와 리파지터리 서버로부터 성능정보를 조회하여 분석하는 어넬라이저(Analyzer)부와 임의의 수의 가상 사용자를 발생시켜서 성능테스트를 수행하여 성능정보를 컨트롤러 서버에 전달하고, 리파지터리 서버에 저장하는 가상사용자(Vuser)부와 성능테스트 상태를 실시간으로 모니터링 하는 성능테스트 모니터부를 포함하며, 에이전트 서버는 담당하는 서버와 동일하지 않은 시스템에서 실행할 수 있으며 또한 상기 담당하는 서버와 통신연결하는 브릿지(Bridge)부와 처리된 요청 리소스의 성능정보를 수집하고 리파지터리에 전달하는 로그관리부를 포함하며, 리파지터리 서버는 요청 리소스들과 잡(Job) 정보와 성능정보를 저장, 관리하는 데이터베이스부로 이루어진 것에 특징이 있다.In order to achieve the above objects, the present invention includes a controller server, an agent server, a repository server, a performance test monitor, and a user interface. In detail, the controller server includes a job scheduler that manages performance tests using collected request resources, and a workbench unit that collects request resources and performs performance tests on specific request resources. An analyzer unit that searches and analyzes performance information from the repository server, and generates a random number of virtual users to perform performance tests to deliver the performance information to the controller server, and to store it in the repository server. It includes a user tester and a performance test monitor for monitoring the performance test status in real time, and the agent server can be run on a system that is not the same as the server in charge, and also a bridge for communicating with the server in charge. And log management to collect performance information of the processed request resources and deliver them to the repository To include, and repository server is characterized in comprising a database portion for storing, managing the resource request and the job (Job) information and performance information.

도 1은 본 발명에 따른 컨트롤러 서버, 에이전트 서버, 리파지터리 서버, 성능테스트 모니터, 사용자 인터페이스를 사용하여 요청 리소스를 수집, 관리하고 성능측정하고, 측정된 성능정보를 관리, 분석하는 시스템의 개괄적 구성을 도시한 블록도이다.1 is a schematic diagram of a system for collecting, managing, and measuring requested resources using a controller server, an agent server, a repository server, a performance test monitor, and a user interface, and managing and analyzing measured performance information according to the present invention. It is a block diagram which shows a structure.

도2는 본 발명의 한 실시예에서 실행되는 데이터베이스 서버 계층에 대한 실행 환경을 도시한 블록도이다.Figure 2 is a block diagram illustrating an execution environment for a database server layer executed in one embodiment of the present invention.

도3은 본 발명의 한 실시예에서 실행되는 3계층 서버 시스템에 대한 모니터 실행 환경을 도시한 블록도이다.3 is a block diagram illustrating a monitor execution environment for a three-tier server system executed in one embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

10. 컨트롤러 서버10. Controller server

11. 가상사용자 12. 워크벤치 13. 잡스케쥴러 14. 어넬라이저11. Virtual user 12. Workbench 13. Job scheduler 14. The analyzer

20. 리파지터리20. Repository

30. 성능테스트 모니터30. Performance test monitor

40. 에이전트40. Agent

41. 웹에이전트 42. 미들웨어 에이전트 43. 데이터베이스 에이전트41. Web Agents 42. Middleware Agents 43. Database Agents

50. 사용자 인터페이스50. User Interface

60. 서버60. Server

61. 웹어플리케이션 서버 62. 미들웨어 서버 63. 데이터베이스 서버61. Web application server 62. Middleware server 63. Database server

70. 클라이언트 어플리케이션70. Client Application

71. 웹 클라이언트 72. 미들웨어 클라이언트 73. 데이터베이스 클라이언트71. Web client 72. Middleware client 73. Database client

본 발명의 바람직한 실시 예를 첨부 도면에 의거 상세히 설명하면 다음과 같다. 첨부된 도면 도1은 본 발명에 따른 컨트롤러 서버(10), 리파지터리 서버(20), 성능테스트 모니터(30), 에이전트서버(41,42,43), 사용자 인터페이스(50)를 사용하여 성능테스트를 위한 클라이언트의 요청리소스의 수집과 관리 그리고 수집된 요청 리소스를 이용하여 성능측정 그리고 측정된 성능 정보를 관리, 분석, 모니터 하는 시스템의 개괄적 구성을 도시한 블록도이다. 도1에 도시된 바와 같이, 본 발명에 의한 멀티-티어 분산 환경의 서버 성능 측정,분석,모니터 시스템의 전체 구성은 컨트롤러서버(10)와 리파지터리서버(20)와 성능테스트 모니터(30)와 에이전트서버(40)와사용자 인터페이스(50)로 이루어지며, 상기 컨트롤러서버(10)는 가상사용자(11)부와 워크벤치(12)부와 잡스케쥴러(13)부와 어넬라이저(14)부로 구성되며, 상기 가상사용자(11)부는 각 티어별 서버에 대한 클라이언트로서 통신 수단을 포함하며, 상기 리파지터리서버(20)는 표준 SQL을 지원하는 임의의 관계형 데이터베이스로 구성되며, 상기 성능테스트 모니터(30)는 윈도우 어플리케이션으로 구성되며, 상기 사용자 인터페이스(50)는 웹브라우저로 구성된다. 또한 각 티어별 에이전트서버(41,42,43)들은 각각 연결하는 서버(61,62,63)들과 지원 프로토콜을 이용하여 연결하여, 상기 연결 서버와 동일한 시스템에서 실행하지 않아도 되며, 클라이언트로 부터 요청된 요청 리소스에 대한 성능 정보를 수집하여, 리파지터리서버(20)에 전달하는 것을 특징으로 한다. 이와 같은 구성을 갖는 본 발명의 시스템을 이용하면 사용자는 사용자 인터페이스(50)인 웹 브라우저와 각 티어별 서버(60)의 해당 클라이언트 어플리케이션(70)만으로 멀티-티어 분산 환경의 서버 성능을 측정,분석, 모니터 할 수 있다.Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. 1 is a diagram illustrating performance using a controller server 10, a repository server 20, a performance test monitor 30, an agent server 41, 42, 43, and a user interface 50 according to the present invention. This is a block diagram showing the general configuration of a system that collects and manages the client's request resources for testing and manages, analyzes, and monitors performance measurements and measured performance information using the collected request resources. As shown in Figure 1, the overall configuration of the server performance measurement, analysis, and monitoring system of the multi-tier distributed environment according to the present invention is the controller server 10, the repository server 20 and the performance test monitor 30 And an agent server 40 and a user interface 50, wherein the controller server 10 includes a virtual user 11 unit, a workbench 12 unit, a job scheduler 13 unit, and an analyzer 14 unit. The virtual user 11 unit includes a communication means as a client for each tier server, and the repository server 20 is composed of any relational database supporting standard SQL, and the performance test monitor 30 is composed of a window application, the user interface 50 is composed of a web browser. In addition, the agent servers 41, 42, and 43 for each tier are connected to the servers 61, 62, and 63 using the supporting protocols, and do not need to be executed on the same system as the connection server. Collecting performance information on the requested request resource, characterized in that for transmitting to the repository server (20). Using the system of the present invention having such a configuration, a user can measure and analyze server performance in a multi-tier distributed environment using only a web browser, which is a user interface 50, and a corresponding client application 70 of servers 60 for each tier. Can be monitored.

<성능 측정용 요청 리소스 수집 및 관리>Collect and manage request resources for performance measurement

멀티-티어 분산 환경의 서버 시스템에 대한 성능 측정과 분석은 먼저, 성능 측정을 위한 요청 리소스를 수집해야 하는데, 측정 대상 시스템이 웹 클라이언트에서 접근할 수 있는 경우와 웹 클라이언트에서 접근할 수 없는 경우로 나누어 설명한다. 먼저, 대상 멀티-티어 분산 서버 시스템이 웹 클라이언트에서 접근할 수 있는 경우는 도1과 같은 경우에 해당하며, 이러한 경우에는 사용자는 사용자 인터페이스인 웹브라우저(50)와 워크벤치(12)를 이용하여 대상 웹어플리케이션서버(61)에 웹에이전트 서버(41)를 통하여 접속하여 측정 대상 업무를 수행(Navigate)하면, 상기 웹에이전트 서버(41)는 사용자의 요청 리소스들의 성능정보 즉, 요청URL, 각 URL 요청 사이의 간격 시간(Stay Time), 응답시간, 응답코드, 응답크기, HTTP 요청 해더, HTTP 응답 해더, 쿠키 등의 다양한 정보들을 리파지터리 서버(20)에 저장한다. 다시 사용자는 사용자 인터페이스(50)와 워크벤치(12)를 이용하여 리파지터리 서버(20)에 저장된 URL들을 독출하여 다양한 성능 테스트를 위한 요청 리소스의 집합을 생성할 수 있게 된다. 또한, 웹에이전트 서버(41)와 연결된 웹어플리케이션 서버(61)는 요청된 URL들을 처리하기 위해서 미들웨어에이전트 서버(42)를 통하여 상기 미들웨어에이전트 서버(42)와 연결된 미들웨어 서버(62)에 RPC(Remote Procedure Call) 메소드(Method)를 요청하게 된다. 이때 요청된 각 RPC 메소드들의 성능정보는 모두 미들웨어에이전트 서버(42)에 의해서 리파지터리 서버(20)에 저장된다. 사용자는 다시 사용자인터페이스(50)와 워크벤치(12)를 이용하여 미들웨어 서버에 대한 성능측정에 사용할 요청 리소스(RPC 메소드)를 다양한 방법으로 독출하여 사용할 수 있다. 또한, 미들웨어에이전트 서버(42)와 연결된 미들웨어서버(62)는 요청된 RPC 메소드들을 처리하기 위해서 데이터베이스에이전트 서버(43)를 통하여 이와 연결된 데이터베이스 서버(63)에 SQL을 요청하게 된다. 이때 요청된 각 SQL들의 성능정보는 모두 데이터베이스에이전트 서버(43)에 의해서 리파지터리서버(20)에 저장된다. 사용자는 다시 사용자 인터페이스(50)와 워크벤치(12)를 이용하여 데이터베이스 서버(63)의 성능측정에 사용할 요청 리소스(SQL)를 다양한 방법으로 독출하여 사용할 수있다.Performance measurement and analysis of server systems in a multi-tier distributed environment must first collect the request resources for performance measurement, in which case the measured system is accessible from the web client and not from the web client. Explain separately. First, the target multi-tier distributed server system can be accessed from a web client as shown in FIG. 1, and in this case, the user may use a web browser 50 and a workbench 12 as user interfaces. When the target web application server 61 is connected to the target web application server 61 through the web agent server 41 to perform a measurement target task, the web agent server 41 performs performance information of the user's request resources, that is, request URL, and each URL. Various information such as a stay time, a response time, a response code, a response size, an HTTP request header, an HTTP response header, and a cookie are stored in the repository server 20. The user may read the URLs stored in the repository server 20 using the user interface 50 and the workbench 12 to generate a set of request resources for various performance tests. Also, the web application server 61 connected to the web agent server 41 connects to the middleware server 62 connected to the middleware agent server 42 via the middleware agent server 42 to process the requested URLs. Procedure Call) method is requested. At this time, the performance information of each requested RPC method is stored in the repository server 20 by the middleware agent server 42. The user may again read and use a request resource (RPC method) to be used for performance measurement on the middleware server using the user interface 50 and the workbench 12. In addition, the middleware server 62 connected to the middleware agent server 42 requests a SQL from the database server 63 connected to the database server through the database agent server 43 to process the requested RPC methods. At this time, the performance information of each of the requested SQL is stored in the repository server 20 by the database agent server 43. The user may read and use the request resource SQL to be used for performance measurement of the database server 63 using the user interface 50 and the workbench 12 in various ways.

한편, 성능 측정 대상 멀티-티어 분산 시스템에 웹 클라이언트에서 접근할 수 없는 경우는 사용자는 접근 하고자 하는 티어의 서버에 대한 클라이언트 어플리케이션을 이용하여 대상 서버의 에이전트 서버를 통하여 해당 서버에 접근하여 테스트 하고자 하는 기능을 수행한다. 도2와 같이 데이터베이스 티어만 존재하는 경우를 예로 들어 설명하면, 이러한 경우에는 데이터베이스 에이전트 서버(43)는 데이터베이스 클라이언트(73)의 요청 리소스인 SQL들과 각 SQL 요청 사이의 간격 시간(Stay Time), 응답시간, 응답코드, 응답크기 등의 다양한 성능정보들을 리파지터리 서버(20)에 저장한다. 다시 사용자는 사용자 인터페이스(50)와 워크벤치(12)를 이용하여 리파지터리 서버(20)에 저장된 SQL들을 독출하여 성능 테스트를 위한 요청 리소스의 집합을 생성할 수 있게 된다.On the other hand, when the web client cannot access the multi-tier distributed system for performance measurement, the user may access and test the server through the agent server of the target server using the client application of the server of the tier to be accessed. Perform the function. For example, when only the database tier exists as shown in FIG. 2, in this case, the database agent server 43 may determine a stay time between SQLs, which are request resources of the database client 73, and each SQL request. Various performance information such as response time, response code, and response size are stored in the repository server 20. The user may read the SQLs stored in the repository server 20 using the user interface 50 and the workbench 12 to generate a set of request resources for performance testing.

상기한한 방법으로 수집된 각 티어별 서버에 대한 각종 요청 리소스의 집합들은 리파지터리 서버(20)에 태스크(Task)라는 단위로 저장되며, 또한 각 요청 리소스들은 요청 서버의 IP주소, 실행횟수, 요청 리소스 사이 시간 간격 등의 측정 조건을 함께 저장한다. 이것을 HTTP 요청 리소스의 경우를 예로 들어 상세히 설명하면, URL, Query String, Cookie, Referer, User-Agent, Authorization, Content-Type 등의 HTTP 요청해더 값과 Iteration(반복횟수), Stay Time(요청간 사이시간) 등의 성능측정 조건에 sequence(from,to,increment), file('data.txt'), random(from,to) 의 함수를 적용하여 다양한 HTTP 요청 해더 값과 성능조건으로 성능측정을 가능하게 한다. 상기 sequence(from,to,increment)함수는 이 함수가 위치한 문자열의 부분에 Iteration동안 반복하면서 from 값부터 to 값까지 increment값씩 증,감하면서 적용하는 것을 의미하며, 상기 file('data.txt')함수는 이 함수가 위치한 문자열의 부분에 인수로 전달되는 탭(tab)으로 구분되는 데이터 파일(data.txt)로 부터 데이터를 Iteration 동안 반복하면서 하나의 라인(line)씩 읽어서 적용하는 것을 의미하며, 상기 random(from,to)함수는 이 함수가 위치한 문자열의 부분에 Iteration동안 반복하면서 from 값부터 to 값 사이의 임의의 값으로 적용되면서 변하는 것을 의미한다. 잡스케쥴러(13)는 상기 태스크들을 조합하여 잡(Job)을 생성하여 성능테스트를 실시한다. 태스크를 조합할 때 각 태스크에 실행횟수를 설정하여 다양한 성능 테스트를 가능하게 한다. 또한 상기의 방법으로 만들어진 태스크와 잡들은 모두 리파지터리 서버(20)에 저장되어 재사용되고, 공동 사용되고, 관리된다.The set of various request resources for each tier server collected by the above method is stored in the repository server 20 in a unit called task, and each request resource is the IP address of the request server and the number of executions. It also stores measurement conditions such as time intervals between request resources. For example, the HTTP request resource is described in detail, and the HTTP request header value such as URL, Query String, Cookie, Referer, User-Agent, Authorization, Content-Type, etc., Iteration, and Stay Time (between requests) Performance can be measured with various HTTP request header values and performance conditions by applying functions of sequence (from, to, increment), file ('data.txt'), random (from, to) to performance measurement conditions such as time). Let's do it. The sequence (from, to, increment) function is applied to the part of the string where this function is located while iterating, incrementing and decrementing from from to to value incrementally. The file ('data.txt') Function means to apply data by reading line by line while repeating data from tab-delimited data file (data.txt) passed as argument to the part of the string where this function is located. The random (from, to) function means that the function changes as it is applied to a random value between the from value and the to value while iterating over the portion of the string where the function is located. The job scheduler 13 combines the tasks to generate a job to perform a performance test. When combining tasks, set the number of executions for each task to enable various performance tests. In addition, tasks and jobs made by the above method are all stored in the repository server 20 for reuse, co-use, and management.

< 특정 서버에 대한 하나의 요청 리소스에 대하여 이 요청 리소스의 처리를 위하여 다른 서버들에서 처리되는 각각의 요청 리소스의 처리성능을 사용자 인터페이스를 이용하여 측정 및 분석><Measurement and analysis of the processing performance of each request resource processed by other servers for processing the request resource for one request resource for a specific server using a user interface>

임의의 방법으로 수집된 티어별 서버의 요청 리소스들을 이용하여 사용자는 단일 사용자 환경에서 특정 요청 리소스의 성능과 상기 특정 요청 리소스를 처리하기 위해서 다른 티어들의 서버에서 처리된 요청 리소스들의 순서와 성능을 측정을 할 수 있다. 도1의 경우에 웹티어가 클라이언트로부터 접근하는 최초의 티어라고 가정하여 설명하면, 사용자는 수집된 요청 리소스(URL)중에서 관심 있는 요청 리소스(URL)를 선택하여 사용자 인터페이스(50)와 워크벤치(12)를 이용하여 성능측정을 실시하면 웹에이전트 서버(41)는 웹어플리케이션 서버(61)에서 처리된 요청리소스(URL)의 성능정보를 리파지터리 서버(20)에 전달하고, 미들웨어 에이전트 서버(42)는 웹어플리케이션 서버(61)에서 요청된 상기 리소스(URL)를 처리하기 위해서 미들웨어 서버(62)에 요청한 리소스(RPC 메소드)들의 성능정보를 리파지터리 서버(20)에 전달하고, 또한 데이터베이스 에이전트 서버(43)는 미들웨어 서버(62)에서 요청된 리소스(RPC 메소드)들을 처리하기 위해서 데이터베이스 서버(63)에 요청한 리소스(SQL)들의 성능정보를 리파지터리 서버(2)에 전달한다. 마지막으로 워크벤치(12)는 어넬라이저(14)를 이용하여 사용자가 상기 처음 요청한 리소스(URL)을 처리하기 위하여 상기 각 티어별 서버에서 실행된 요청 리소스(SQL, PRC메소드)들의 성능 정보(내용, 회수, 처리시간, 순서 등)를 독출하여 사용자 인터페이스(50)에 전달한다. 이때, 워크벤치(12)와 각 에이전트 서버(41,42,43)들은 배타적 독점 사용권한을 설정하여 오직 한명에 의한 성능테스트가 실행되도록 보장하여 상기 처음 요청한 리소스(URL)가 다른 티어의 요청 리소스(RPC메소드,SQL)의 요청을 유도 할 때, 다른 사용자로 부터 리소스 요청이 들어와도 처리되지 못하게 한다. 한편, 사용자가 최초로 접근한 티어가 웹티어가 아니어도 상기한 방법과 유사한 과정을 거쳐서 티어별 성능 정보를 측정,분석할 수 있다.By using the request resources of the tier-specific server collected by any method, the user measures the performance of a specific request resource in a single user environment and the order and performance of the request resources processed by servers of different tiers to process the specific request resource. can do. In the case of FIG. 1, assuming that the web tier is the first tier accessed from the client, the user selects a request resource (URL) of interest from the collected request resources (URL) and selects the user interface 50 and the workbench ( 12) the performance measurement using the web agent server 41 transfers the performance information of the request resource (URL) processed by the web application server 61 to the repository server 20, the middleware agent server ( 42 transmits performance information of resources (RPC methods) requested to the middleware server 62 to the repository server 20 to process the resources (URL) requested by the web application server 61, and also the database The agent server 43 stores the performance information of the resources (SQL) requested by the database server 63 to process the resources (RPC method) requested by the middleware server 62. To pass on. Finally, the workbench 12 uses the analyzer 14 to perform performance information (contents) of request resources (SQL, PRC methods) executed in the server for each tier in order to process the resource (URL) initially requested by the user. , Number of times, processing time, order, etc.) are read and transmitted to the user interface 50. At this time, the workbench 12 and each of the agent servers 41, 42, and 43 set exclusive exclusive rights to ensure that only one performance test is executed, so that the first requested resource (URL) is a request resource of another tier. When deriving a request (RPC method, SQL), it prevents processing of resource requests even if they come from other users. On the other hand, even if the tier first accessed by the user is not a web tier, performance information for each tier can be measured and analyzed through a similar process as described above.

<특정 서버에 대한 성능테스트를 이용하여, 각 티어별 서버들의 성능을 측정 및 분석>Measure and analyze the performance of servers in each tier, using performance tests for specific servers

임의의 방법으로 수집된 특정 서버에 대한 요청 리소스들과 사용자 인터페이스를 이용하여 사용자는 임의의 수의 가상사용자의 상기 특정 서버에 대한 클라이언트로서 통신할 수 있는 수단을 이용하여 상기 특정 서버의 성능측정을 실시하여 상기특정 서버의 성능과 상기 요청된 리소스들의 성능을 측정, 분석, 모니터 할 수 있다. 이때, 상기 특정 서버에 상기 요청한 리소스들을 상기 특정 서버에서 처리하기 위하여 다른 티어의 서버들에게 리소스들을 요청하게 되면, 각 티어별 에이전트 서버들은 담당 서버에 요청된 리소스들의 성능 정보를 수집하여 리파지터리 서버에 전달하게 된다. 이러한 방법으로 저장된 각 티어별 서버의 성능과 요청 리소스들의 성능정보는 사용자 인터페이스를 이용하여 독출할 수 있다. 상기와 같은 방법으로 사용자는 하나의 특정 서버에 대한 성능테스트를 실시하여 관련된 다른 티어의 서버들의 성능과 각 티어의 서버들에서 처리된 요청 리소스들의 성능도 함께 측정, 분석, 모니터 할 수 있다.Using the user interface and the requested resources for a particular server collected in any way, the user can measure the performance of that particular server using a means by which any number of virtual users can communicate as a client to that particular server. The performance of the specific server and the performance of the requested resources can be measured, analyzed and monitored. In this case, when resources are requested to servers of different tiers in order to process the requested resources from the specific server, agent servers for each tier collect performance information of resources requested from the server in charge of the repository. Will be delivered to the server. In this way, the performance of the server for each tier and the performance information of the requested resources can be read using the user interface. In this way, the user can perform a performance test on one particular server to measure, analyze, and monitor the performance of servers in different tiers and the performance of request resources processed in servers in each tier.

이러한 경우의 바람직한 실시 예를 첨부 도면에 의거 상세히 설명하면 다음과 같다. 도1의 경우에, 상기의 특정 서버가 웹어플리케이션 서버(61)라고 가정하고, 웹어플리케이션 서버(61)에 대한 요청 리소스(URL)들의 집합이 리파지터리 서버(20)에 수집되어 있다고 가정하면, 사용자는 사용자인터페이스(50)와 잡스케쥴러(13)를 이용하여 가상사용자(11)에게 웹어플리케이션 서버(61)에 대한 성능테스트를 실시하도록 설정하여, 임의의 수의 가상사용자가 웹어플리케이션 서버(61)에게 리소스(URL)들을 요청하게 한다. 이때, 웹어플이케이션 서버(61)는 요청된 상기의 리소스(URL)들을 처리하기 위하여 미들웨어 에이전트 서버(42)에 리소스(RPC메소드)들을 요청하게 되고, 미들웨어 에이전트 서버(42)는 요청된 리소스( RPC메소드)들을 담당 미들웨어 서버(62)에 전달하여 처리 되도록 하며, 처리가 된 후에 각 요청 리소스(RPC메소드)들에 대한 성능정보를 리파지터리 서버(20)에 전달하게되고, 또한 미들웨어 서버(62)는 요청된 리소스(RPC 메소드)들을 처리하기 위하여 데이터베이스 에이전트 서버(43)에 리소스(SQL)들을 요청 하게 되며, 데이터베이스 에이전트 서버(43)는 요청된 리소스(SQL)들을 담당 데이터베이스 서버(63)에 전달하여, 상기 데이터베이스 서버(63)에서 처리가 되도록 하여 처리가 완료되면, 상기 요청 리소스(SQL)들의 성능정보를 리파지터리 서버(20)에 전달하게 된다. 한편, 가상사용자(11)는 각 요청 리소스(URL)들의 처리가 끝나면, 상기 요청한 각 리소스(URL)들의 성능정보를 리파지터리 서버(20)에 전달한다. 이와 같은 방법으로 리파지터리 서버(20)에는 각 티어별 서버에서 처리된 요청 리소스(URL,RPC 메소드,SQL)들의 성능정보가 전달되어 저장되므로, 사용자는 사용자 인터페이스(50)와 어넬라이저(14)를 이용하여 리파지터리 서버(20)로 부터 상기 요청 리소스(URL, RPC 메소드, SQL)들의 성능 정보를 조회하여 분석하게 된다. 또한, 성능테스트 모니터(30)는 컨트롤러(10)와 통신하여, 각 에이전트 서버(40)와 테스트 서버(60)의 시스템으로부터 전달된 각 시스템의 성능정보와 가상사용자(11)로 부터 전달된 요청 리소스의 성능정보를 전달 받아서 사용자 인터페이스(50) 화면에 출력하여 모니터 하게 한다.Preferred embodiments in this case will be described in detail with reference to the accompanying drawings. In the case of Fig. 1, it is assumed that the specific server is a web application server 61, and assuming that a set of request resources (URLs) for the web application server 61 are collected in the repository server 20. The user sets the virtual user 11 to perform a performance test on the web application server 61 by using the user interface 50 and the job scheduler 13, so that any number of virtual users can execute the web application server ( 61) to request resources (URLs). At this time, the web application server 61 requests the resources (RPC methods) to the middleware agent server 42 to process the requested resources (URLs), the middleware agent server 42 is requested resources The RPC methods are delivered to the responsible middleware server 62 for processing, and after processing, the performance information of each request resource (RPC method) is transmitted to the repository server 20, and also the middleware server. 62 requests resources (SQL) from the database agent server 43 to process the requested resources (RPC methods), and the database agent server 43 handles the requested resources (SQL) in charge of the database server 63. In this case, when the processing is completed by the database server 63, the performance information of the request resources SQL is transmitted to the repository server 20. Meanwhile, the virtual user 11 transfers the performance information of the requested resources (URLs) to the repository server 20 after the processing of each request resources (URLs). In this manner, since the repository server 20 transmits and stores performance information of request resources (URL, RPC method, and SQL) processed by the server for each tier, the user may use the user interface 50 and the analyzer 14. ) To query and analyze the performance information of the request resources (URL, RPC method, SQL) from the repository server 20. In addition, the performance test monitor 30 communicates with the controller 10, the performance information of each system delivered from the system of each agent server 40 and the test server 60 and the request transmitted from the virtual user 11 Receives the performance information of the resource and outputs it to the user interface 50 screen for monitoring.

<특정 서버에 대한 성능테스트를 이용하여, 각 티어별 서버들의 성능 및 각 티어별 서버에서 처리된 연관된 요청 리소스들의 성능을 측정 및 분석>Measure and analyze the performance of servers in each tier and the associated request resources processed by servers in each tier, using performance tests for specific servers.

전술한 바와 같이, 단일 사용자 환경에서 특정 요청 리소스의 성능과 상기 특정 요청 리소스를 처리하기 위해서 다른 티어들의 서버에서 처리된 요청 리소스들의 순서와 성능을 측정을 할 수 있으며, 또한, 전술한 바와 같이, 사용자는 하나의 특정서버에 대한 성능테스트를 실시하여 관련된 다른 티어의 서버들의 성능과 각 티어의 서버들에서 처리된 요청 리소스들의 성능도 함께 측정, 분석, 모니터 할 수 있다. 이렇게 두 가지의 방법을 결합하여 측정하면, 즉, 임의의 방법으로 수집된 요청 리소스들을 이용하여, 임의의 가상사용자에 의한 특정 서버의 요청 리소스에 대한 성능과 이 요청 리소스의 처리를 위하여 다른 티어의 서버에서 처리된 요청 리소스들의 처리된 순서와 응답코드와 응답크기와 응답시간 등의 성능정보를 측정, 분석, 모니터 할 수 있다.As described above, the performance of a specific request resource in a single user environment and the order and performance of request resources processed by servers in different tiers to process the specific request resource may be measured. A user can perform a performance test on one particular server to measure, analyze, and monitor the performance of the servers in the other tiers involved and the performance of the request resources processed in the servers in each tier. The combined measurement of these two methods, i.e., using request resources collected by any method, allows the performance of a particular server's request resources by any virtual user and the use of other tiers for processing the request resources. It can measure, analyze, and monitor performance information such as response order, response code, response size and response time of request resources processed by server.

이러한 경우의 바람직한 실시 예를 첨부 도면에 의거 상세히 설명하면 다음과 같다. 도1의 경우를 예로 들어 설명하면, 웹어플리케이션 서버(61)와 미들웨어 서버(62)와 데이터베이스 서버(63)가 존재하고 임의의 수의 가상사용자를 이용하여 웹어플리케이션 서버(61)에 대하여 성능테스트를 하는 경우에, 먼저, 가상사용자(11)는 단일 사용자 환경으로 워크벤치(12)를 이용하여 웹어플리케이션 서버(61)에 대한 각 요청 리소스(URL)의 성능측정을 실시하여 웹어플리케이션 서버(61)에서 특정 요청 리소스(URL)의 처리에 필요한 미들웨어 서버(62)에서 처리된 요청 리소스(RPC 메소드)들과 데이터베이스 서버(63)에서 처리된 요청 리소스(SQL)들의 순서와 내용을 리파지터리 서버(20)에 저장한다. 이렇게, 가상 사용자(11)는 단일 사용자 환경에 대한 측정을 한 후에 임의의 수의 사용자 환경에 의한 성능측정을 실시한다. 이때, 각 티어의 에이전트 서버(40)들은 요청된 리소스(URL, RPC메소드, SQL)들에 대한 성능정보를 리파지터리 서버(20)에 전달한다. 임의의 수의 사용자 환경에 의한 측정이 종료된 후에 사용자는 사용자 인터페이스(50)와 어넬라이저(14)를 이용하여 처음 단일 사용자 환경에서 실시한 성능테스트의 정보와 임의의 수의 사용자 환경에서 실시한 성능 테스트의 정보를 조합하여, 웹 어플리케이션 서버(61)에서 처리된 각 요청 리소스(URL)에 대하여 티어별 서버들에서 처리된 요청 리소스(RPC 메소드,SQL)들의 처리된 순서와 응답코드와 응답크기와 응답시간 등의 성능정보를 독출해낸다.Preferred embodiments in this case will be described in detail with reference to the accompanying drawings. 1, the web application server 61, the middleware server 62, and the database server 63 exist, and the performance test is performed on the web application server 61 using any number of virtual users. In this case, first, the virtual user 11 performs a performance measurement of each request resource (URL) for the web application server 61 by using the workbench 12 in a single user environment. In order to process a specific request resource (URL), the repository server displays the order and contents of the request resources (RPC method) processed by the middleware server 62 and the request resources (SQL) processed by the database server 63. Save to 20. In this way, the virtual user 11 measures the performance of any number of user environments after measuring the single user environment. At this time, the agent server 40 of each tier transfers the performance information on the requested resources (URL, RPC method, SQL) to the repository server 20. After the measurement by any number of user environments is finished, the user can use the user interface 50 and the analyzer 14 to perform information on performance tests conducted in a single user environment for the first time and performance tests conducted in any number of user environments. The combined order of information, the processed order, response code, response size, and response of the request resources (RPC method, SQL) processed by the server for each tier for each request resource (URL) processed by the web application server 61. Read out performance information such as time.

<측정된 성능정보의 관리와 독출 및 분석><Management, reading and analysis of measured performance information>

상기의 방법으로 측정된 모든 성능정보는 리파지터리 서버(20)에 저장되어 있어서, 사용자는 사용자 인터페이스(50)와 어넬라이저(14)를 이용하여 다양한 성능정보를 조회할 수 있다. 이것을 자세히 설명하면, 단일 사용자 환경에서 워크벤치(12)를 이용하여 측정된 특정 요청 리소스의 성능정보는 시간, 일자, 월, 년 등의 시간대 별 성능 정보를 조회할 수 있으며, 또한 측정된 모든 요청 리소스들을 응답시간, 응답크기, 응답시간당 바이트 등의 성능 정보에 대하여 순서대로 정렬된 정보를 조회(Top- k Ranked Query)할 수 있고, 다중 사용자 환경에서 가상사용자(11)를 이용하여 성능 측정한 정보도 역시 리파지터리 서버(20)에 모두 저장되어 있어서, 측정된 모든 티어별 서버의 요청 리소스들의 성능정보를 응답시간, 응답크기, 응답시간당 바이트 등의 성능 정보에 대하여 순서대로 정렬된 정보를 조회(Top-k Ranked Query)할 수 있고, 성능테스트 조건별 성능정보 조회 및 성능정보 병합을 이용하여 측정 시간대별 성능정보, 가상 사용자 수의 변화별 성능정보, 요청 리소스 사이의 간격대별 성능정보, 영속성(Persistence)별 성능정보 를 조회할 수 있다. 또한 상기의 방법으로 병합한 성능 정보들의 비교기능을 이용하여 서버의 성능을 비교하여분석할 수 있다.All the performance information measured by the above method is stored in the repository server 20, so that the user can inquire various performance information using the user interface 50 and the analyzer 14. In detail, the performance information of a specific request resource measured using the workbench 12 in a single user environment can query performance information for each time zone such as time, date, month, and year, and all measured requests. The top-k ranked query can be searched for resources in order of performance information such as response time, response size, and bytes per response time, and performance is measured using the virtual user 11 in a multi-user environment. The information is also stored in the repository server 20, so that the performance information of the request resources of all the tier-specific servers are measured in order of performance information such as response time, response size, and bytes per response time. Changes in the performance information and the number of virtual users by time of measurement by using Top-k Ranked Query and merging performance information by performance test condition and merging of performance information Performance information, performance gap classified information, the continuity between the requested resource (Persistence) can be found for specific performance information. In addition, the performance of the server can be compared and analyzed using a comparison function of the performance information merged by the above method.

<운영 시스템의 티어별 성능 모니터 및 분석><Monitoring and analyzing performance by tier of operating system>

운영시스템의 각 티어별 서버(60)에 에이전트 서버(40)를 실행하여 리파지터리 서버(20)에 저장된 각 에이전트 서버(41,42,43)가 전달한 요청 리소스에 대한 성능 정보를 조회하여 각 서버(61,62,63)의 성능을 모니터하고 분석할 수 있다. 만약, 운영시스템을 위한 에이전트 서버(40)가 해당 서버(60)시스템의 성능에 저하를 가져올 경우, 에이전트 서버(40)를 사용하지 않는다. 도3의 경우를 예로 들어 설명하면, 임의의 방법으로 수집한 요청 리소스들 중에서 각 서버(60)의 성능에 중요한 영향을 끼치는 요청 리소스들을 리파지터리 서버(20)로 부터 선택적으로 독출하여, 잡스케쥴러(13)와 가상사용자(11)를 이용하여 상시 성능측정을 실시한다. 이때, 성능테스트 모니터(30)를 이용하여 실시간으로 대상 서버(60)의 성능을 선택한 요청 리소스에 대한 성능만으로 예측하는 샘플링(Sampling)방식으로 모니터 할 수 있으며, 또한 리파지터리 서버(20)에 실시간으로 저장되는 요청 리소스에 대한 성능정보를 어넬라이저(14)와 사용자 인터페이스(50)를 이용하여 조회 하여 더욱 상세한 운영시스템에 대한 성능 모니터를 할 수 있다.By executing the agent server 40 in the server 60 for each tier of the operating system, the performance information on the request resource delivered by each agent server 41, 42, 43 stored in the repository server 20 is inquired. Monitor and analyze the performance of servers 61, 62, and 63. If the agent server 40 for the operating system brings a degradation in the performance of the server 60 system, the agent server 40 is not used. Referring to the case of FIG. 3 as an example, among the request resources collected by any method, the request resources that have a significant effect on the performance of each server 60 are selectively read from the repository server 20, The scheduler 13 and the virtual user 11 perform constant performance measurements. In this case, the performance test monitor 30 may be monitored in a sampling method for predicting the performance of the target server 60 in real time only with respect to the performance of the selected request resource, and the repository server 20. Performance information on the requested resource stored in real time can be inquired using the analyzer 14 and the user interface 50 to monitor the performance of a more detailed operating system.

본 발명은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수가 있다. 에이전트 서버의 통신연결 서버들을 예로 들어 설명하면, HTTP(HTTPS)를 지원하는 XML데이터 베이스 서버, 웹서버, ERP 솔루션, CRM(Customer Relationship Management) 솔루션 또는 IIOP(Internet Inter-Object Protocol)을 지원하는 CORBA(Common Object Request BrokerArchitecture) 미들웨어 또는 RMI (Remote Method Invocation)를 지원하는 EJB(Enterprize Java Beans) 서버 또는 FTP(File Transfer Protocol), TELNET, SMTP(Simple Mail Transfer Protocol), POP3(Post Office Protocol 3), IMAP(Internet Message Access Protocol), NNTP(Network News Transfer Protocol), MMS(Microsoft Media Service), RTSP(Real Time Streaming Protocol), SOCKS(Firewall Protocol) 등의 임의의 프로토콜을 지원하는 각종 서버들이 존재하는 멀티-티어 분산 시스템에 대하여 적용 할 수 있다.The present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the technical idea of the present invention. For example, the communication server of the agent server is described as an XML database server supporting HTTP (HTTPS), a web server, an ERP solution, a customer relationship management (CRM) solution, or a CORBA supporting Internet Inter-Object Protocol (IIOP). Common Object Request Broker Architecture (EJP) middleware or Enterprize Java Beans (EJB) server that supports Remote Method Invocation (RMI) or File Transfer Protocol (FTP), TELNET, Simple Mail Transfer Protocol (SMTP), Post Office Protocol 3 (POP3), Multiple servers exist that support various protocols such as Internet Message Access Protocol (IMAP), Network News Transfer Protocol (NNTP), Microsoft Media Service (MMS), Real Time Streaming Protocol (RTSP), and Firewall Protocol (SOCKS). Applicable for tier distributed systems

이상에서 상술한 바와 같이 본 발명에 의하면, 다수의 서버들의 존재하는 복잡한 멀티-티어(tier) 분산 환경에서 각 티어별 서버들의 성능과 처리된 요청 리소스들의 성능을 테스트, 측정, 분석, 모니터 하여 상기 티어별 서버들의 성능 개선에 도움을 줄 수 있다. 또한, 각 티어별 서버들의 성능 정보를 수집하고 리파지터리 서버에 전달하는 에이전트 서버와 상기 티어별 서버들은 지원 프로토콜만 만족하면 연결되기 때문에, 특정 언어나 운영체제 또는 실행되는 하드웨어에 관계없이 각 서버의 성능과 요청 리소스들의 성능을 측정,분석,모니터 하여 상기 각 티어별 서버의 성능개선에 도움을 줄 수 있다. 또한, 모든 요청 리소스들과 서버에 대한 성능측정 조건과 측정된 성능 정보는 리파지터리 서버에 모두 저장, 관리되어, 서버성능의 테스트, 측정, 분석에 도움을 줄 수 있다. 또한, 각 서버의 성능에 중요한 영향을 미치는 요청 리소스들을 선택적으로 이용하여 성능테스트를 상기 서버의 운영시스템에 상시 실시하여, 상기 운영시스템에 대한 성능 모니터와 분석을 운영시스템에 큰 부하를 주지 않고 할 수 있다.As described above, according to the present invention, the performance of the servers of each tier and the performance of the processed request resources are tested, measured, analyzed, and monitored in a complex multi-tier distributed environment of a plurality of servers. It can help improve the performance of tiers of servers. In addition, the agent server that collects the performance information of the servers of each tier and delivers it to the repository server and the servers of each tier are connected as long as the supporting protocol is satisfied. By measuring, analyzing, and monitoring the performance and the performance of the requested resources, it is possible to help improve the performance of the server for each tier. In addition, all request resources and performance measurement conditions and measured performance information about the server are all stored and managed in the repository server, which can be helpful for testing, measuring, and analyzing server performance. In addition, performance tests are always performed on the operating system of the server by selectively using request resources that have a significant influence on the performance of each server, so that performance monitoring and analysis of the operating system can be performed without putting a large load on the operating system. Can be.

Claims (5)

분산 멀티-티어 컴퓨팅 환경에서 서버들의 성능측정 또는 통신상황의 재연 등에 사용하는 클라이언트 및 각 티어별 서버들이 발생시켜서 처리된 요청리소스(URL, SQL, RPC메소드 등)들을 수집하는 방법에 있어서,In a distributed multi-tier computing environment, a method of collecting clients and processing request resources (URL, SQL, RPC methods, etc.) generated by clients and servers used for measuring performance of servers or reproducing communication statuses, 상기 각 서버마다 통신을 매개하는 담당 에이전트를 각각 실행하는 단계와,Executing each agent responsible for communicating with each server; 상기 각 서버에서 실행되는 어플리케이션들은 다른 서버들과 통신하기 위하여, 다른 서버들의 통신 IP주소와 포트(port)번호 대신에 상기 담당 에이전트의 IP주소와 포트 번호를 이용하도록 설정하는 단계와,The application running on each server is configured to use the IP address and port number of the agent in place of the communication IP address and port number of the other server, in order to communicate with other servers, 사용자 인터페이스 또는 클라이언트 어플리케이션을 이용하여 특정 에이전트에 접속하여, 접속한 특정 에이전트가 담당하는 특정 서버에게 요청 리소스를 요청하는 단계와,Accessing a specific agent using a user interface or a client application, requesting a requested resource from a specific server in charge of the accessed specific agent; 상기 특정 에이전트가 요청된 요청리소스를 서버에게 전달하고, 응답을 받은 후에 리파지터리 서버에게 처리된 요청 리소스에 대한 정보를 저장하는 단계와,Transmitting, by the specific agent, the requested request resource to the server, and storing information about the requested resource processed by the repository server after receiving the response; 상기 특정 서버가 상기 특정 에이전트로부터 전달된 요청 리소스를 수행하기 위하여 또 다른 제2의 에이전트에게 또 다른 요청을 발생시켜서 제2의 에이전트가 담당하는 제2의 서버에게 또 다른 요청 리소스를 요청하는 단계와,Requesting another request resource from a second server in charge of a second agent by generating another request to another second agent to perform a request resource delivered from the specific agent; , 상기 제2의 에이전트가 상기 제2의 서버에게 매개한 요청 리소스에 대한 정보를 리파지터리 서버에게 전달하여 저장하는 단계와,Transmitting, by the second agent, information about the requested resource mediated to the second server to the repository server; 이와 같은 방법으로, 상기 각 서버마다 담당 에이전트를 이용하여 해당 클라이언트 또는 다른 서버들로 부터 상기 각 서버들에게 요청된 요청 리소스들에 대한 정보를 리파지터리 서버에게 전달하여 저장하는 단계와,In this way, using the agent for each server by using the agent to transfer information about the requested resources requested to the respective servers from the client or other servers to the repository server, and 이와 같은 방법으로 분산 멀티-티어 컴퓨팅 환경에서 특정 클라이언트가 특정 서버에게 요청 리소스를 요청한 경우, 특정 서버에게 요청된 요청 리소스 뿐만 아니라, 상기 특정 서버가 상기 요청 리소스를 처리하기 위하여 또 다른 서버들에게, 그리고 서버들 간에 요청한 또 다른 요청 리소스들을 각 담당 에이전트를 이용하여 수집하여 리파지터리 서버에 저장하는 단계를In this way, in a distributed multi-tier computing environment, when a specific client requests a request resource from a specific server, not only the request resource requested by the specific server, but also the specific server to another server to process the request resource, And collecting the other requested resources between the servers using each agent and storing them in the repository server. 포함하는 것을 특징으로 하는 분산 멀티-티어 컴퓨팅 환경에서 서버들에게 요청되고 처리된 요청 리소스의 수집방법A method of collecting requested and processed request resources to servers in a distributed multi-tier computing environment, comprising: 분산 멀티-티어 컴퓨팅 환경에서 특정 클라이언트가 특정 서버에게 요청 리소스(URL등)를 요청하여 응답을 받을 때, 상기 특정 서버가 요청받은 요청 리소스(URL등)를 처리하기 위하여, 다른 제2의 서버에게 또 다른 요청 리소스를 요청하고, 또 상기 제2의 서버는 요청 받은 상기 요청 리소스들을 처리하기 위하여, 제3의 서버에게 또 다른 요청 리소스를 요청하는 등, 최초에 상기 특정 클라이언트가 상기 특정 서버에게 요청한 상기 요청 리소스(URL등)의 응답을 받기 위해서, 각 서버들에게 그리고 서버들 간에 연쇄적으로 요청되고 처리된 요청 리소스(URL, SQL, RPC메소드 등)들의 처리순서, 응답시간, 응답크기 등의 성능 정보를 알아내는 방법에 있어서,In a distributed multi-tier computing environment, when a specific client requests a request resource (such as a URL) from a specific server and receives a response, the specific server sends a request to another second server to process the requested request resource (such as a URL). Requesting another requesting resource, and the second server first requesting the specific server from the specific server, such as requesting another requesting resource from a third server to process the requested requesting resources. In order to receive the response of the request resource (URL, etc.), the processing order, response time, response size, etc. of request resources (URL, SQL, RPC method, etc.) serially requested and processed to each server and between the servers In how to find out the performance information, 상기 각 서버마다 통신을 매개하는 담당 에이전트를 각각 실행하는 단계와,Executing each agent responsible for communicating with each server; 상기 각 서버에서 실행되는 어플리케이션들은 다른 서버들과 통신하기 위하여, 다른 서버들의 통신 IP주소와 포트(port)번호 대신에 상기 담당 에이전트의 IP주소와 포트번호를 이용하도록 설정하는 단계와,The application running on each server is configured to use the IP address and port number of the agent in place of the communication IP address and port number of the other server, in order to communicate with other servers, 사용자 인터페이스를 이용하여 워크벤치에 접속하여, 워크벤치를 단일 사용자 상태로 만들고, 상기 워크벤치에 특정 요청 리소스(URL등)에 대한 성능 테스트를 수행할 것을 요청하는 단계와,Accessing the workbench using a user interface, bringing the workbench into a single user state, and requesting the workbench to perform performance tests on specific request resources (URLs, etc.); 상기 워크벤치는 상기 요청 리소스(URL등)를 해당 서버에게 요청하는 기능을 갖는 클라이언트 수단을 이용하여, 해당 서버와 통신매개를 담당하는 특정 에이전트에 접속하는 단계와,The workbench using a client means having a function of requesting the requesting resource (URL, etc.) to the corresponding server, accessing a specific agent in charge of communication with the corresponding server; 상기 워크벤치는 상기 접속한 특정 에이전트를 이용하여, 상기 특정 서버에게 요청을 전달하는 단계와,The workbench transmits a request to the specific server by using the connected specific agent; 상기 특정 에이전트가 요청된 상기 요청 리소스(URL등)에 대한 응답을 받은 후, 성능 정보를 리파지터리 서버에게 전달하여 저장하는 단계와,Receiving, by the specific agent, a response to the requested request resource (URL, etc.), delivering performance information to a repository server, and storing the performance information; 상기 특정 서버가 상기 특정 에이전트로부터 전달된 상기 요청 리소스(URL등)를 수행하기 위하여 제2의 에이전트에게 또 다른 요청을 발생시켜서 제2의 에이전트가 담당하는 제2의 서버와 통신하는 단계와,Generating, by the specific server, another request to the second agent to perform the request resource (URL, etc.) delivered from the specific agent, and communicating with a second server in charge of the second agent; 상기 제2의 에이전트가 상기 제2의 서버에게 매개한 요청 리소스에 대한 응답을 받은 후, 성능 정보를 리파지터리 서버에게 전달하여 저장하는 단계와,Receiving, by the second agent, a response to the requested resource mediated to the second server, delivering the performance information to the repository server, and storing the performance information; 이와 같은 방법으로 상기 각 서버마다 담당 에이전트를 이용하여 해당 클라이언트 또는 다른 서버들로 부터 상기 각 서버들에게 요청되고 처리된 요청 리소스들(URL, SQL, RPC메소드 등)에 대한 성능 정보를 리파지터리 서버에게 전달하여 저장하는 단계와,In this way, a repository agent is used for each server to store performance information on request resources (URL, SQL, RPC method, etc.) requested and processed from the corresponding client or other servers to the respective servers. Forwarding it to the server and storing it; 이와 같은 방법으로 리파지터리 서버에 저장된 각 티어별 서버에서 처리된 요청 리소스들의 성능정보를 독출하여, 각 티어별 서버에서 처리한 요청 리소스들의 처리순서, 응답시간, 응답크기 등의 성능정보를 분석하는 단계를In this way, the performance information of the request resources processed in each tier server stored in the repository server is read, and the performance information such as the processing order, response time, response size, etc. of the request resources processed in each tier server is analyzed. Steps to 포함하는 것을 특징으로 하는 분산 멀티-티어 컴퓨팅 환경에서 최초의 클라이언트의 요청에 대한 응답을 만들기 위하여, 각 티어별 서버에서 처리한 요청 리소스들의 처리순서, 응답시간, 응답크기 등의 성능정보를 분석하는 방법.Analyzing performance information such as processing order, response time, response size, etc. of request resources processed by each tier server to make a response to the first client's request in a distributed multi-tier computing environment Way. 분산 멀티-티어 컴퓨팅 환경에서 일반적으로 부하테스트 시나리오라고 부르는 요청 리소스(URL, SQL, RPC메소드 등)들의 집합과 가상 사용자, 사용자 인터페이스를 이용하여 평균 응답시간, TPS(Transactions per second), BPS(Bytes per second)등 서버의 성능과 각 서버에서 처리한 요청 리소스들에 대한 각각의 응답시간, 응답크기 등의 성능정보를 알아내는 방법에 있어서,In a distributed multi-tier computing environment, the average response time, transactions per second (TPS), and bytes per second (BPS) are achieved using a set of request resources (URL, SQL, RPC methods, etc.), virtual users, and user interfaces, commonly referred to as load test scenarios. In the method of finding performance information such as server performance, response time, response size, etc. for each of the request resources processed by each server, 상기 각 서버마다 통신을 매개하는 담당 에이전트를 각각 실행하는 단계와,Executing each agent responsible for communicating with each server; 상기 각 서버에서 실행되는 어플리케이션들은 다른 서버들과 통신하기 위하여, 다른 서버들의 통신IP주소와 포트(port)번호 대신에 상기 담당 에이전트의 IP주소와 포트번호를 이용하도록 설정하는 단계와,The application running on each server is configured to use the IP address and port number of the agent in place of the communication IP address and port number of the other server, in order to communicate with other servers, 사용자 인터페이스와 잡스케쥴러를 이용하여, 테스트 시나리오인 잡 ( Job ) 을 생성하고 스케쥴하여, 부하테스트를 준비하는 단계와,Using the user interface and the job scheduler, preparing and scheduling a test scenario Job to prepare for a load test, 상기 가상 사용자는 잡 ( Job ) 에 설정된 시나리오에 따라서, 각 요청 리소스(URL, SQL, RPC 메소드 등)를 해당서버에게 요청하는 기능을 갖는 클라이언트 수단을 이용, 해당 특정 서버에세 요청을 전달, 부하를 생성하여 부하테스트를 실행하는 단계와,The virtual user delivers and loads a request to a specific server by using a client means having a function of requesting each requesting resource (URL, SQL, RPC method, etc.) to a corresponding server according to a scenario set in a job. Generating a load test and 상기 특정 서버가 상기 가상 사용자로부터 요청된 상기 요청 리소스들을 수행하기 위하여, 다른 에이전트에게 또 다른 요청을 발생시켜서, 이 에이전트가 담당하는 제2의 서버와 통신하는 단계와,Generating a further request to another agent to communicate with a second server that the agent is responsible for, in order for the particular server to perform the requested resources requested from the virtual user, 상기 에이전트가 상기 제2의 서버에게 매개하여 처리하게 만든 요청 리소스들의 성능 정보를 수집하여 리파지터리 서버에게 전달하여 저장하는 단계와,Collecting, by the agent, performance information of request resources made to be processed by the second server and forwarding the stored information to a repository server; 이와 같은 방법으로, 상기 가상 사용자로부터 최초의 요청을 받은 서버를 제외한 각 서버마다 담당 에이전트를 이용하여 해당 클라이언트 또는 다른 서버에 의해서 요청되고 처리된 요청 리소스들의 성능 정보를 리파지터리 서버에게 전달하여 저장하는 단계와,In this way, each server, except for the server that received the first request from the virtual user, transfers the performance information of the requested resources requested and processed by the client or another server to the repository server by using a responsible agent. To do that, 상기 가상 사용자는 상기 특정 서버로부터 상기 요청 리소스들에 대한 응답을 전달 받고 이에 대한 성능 정보를 리파지터리 서버에게 전달하여 저장하는 단계와,The virtual user receives a response to the request resources from the specific server and delivers the performance information to the repository server for storage; 이와 같은 방법으로, 리파지터리 서버에 저장된 각 티어별 서버에서 처리된 요청 리소스들의 성능 정보를 독출하여, 각 티어별 서버의 평균응답시간, TPS, BPS등 각 서버의 성능과, 각 티어별 서버에서 처리한 요청 리소스들의 처리순서, 응답시간, 응답크기 등의 성능정보를 분석하는 단계를In this way, by reading the performance information of the request resources processed in each tier server stored in the repository server, the performance of each server, such as the average response time, TPS, BPS of each tier server, and each tier server Analyzing performance information such as processing order, response time, response size, etc. 포함하는 것을 특징으로하는 분산 멀티-티어 컴퓨팅 환경에서 티어별 서버의 성능 및 각 티어별 서버에서 처리된 요청 리소스(URL, SQL, RPC 메소드등 )들의 개별 성능을 측정, 분석하는 방법.Method for measuring and analyzing the performance of the server of each tier in the distributed multi-tier computing environment, and the individual performance of the request resources (URL, SQL, RPC methods, etc.) processed by each tier server. 삭제delete 컨트롤러 서버(10)와 에이전트 서버(40)와 리파지터리 서버(20)와 성능테스트 모니터(30)와 사용자 인터페이스(50)를 포함하고,A controller server 10, an agent server 40, a repository server 20, a performance test monitor 30, and a user interface 50, 상기 컨트롤러 서버(10)는,The controller server 10, 임의의 수의 가상사용자를 발생 시켜 각 티어별 서버와 통신하는 수단(11);Means (11) for generating any number of virtual users and communicating with servers for each tier; 각 티어별 서버의 상기 에이전트 서버(40)와 통신하여 배타적으로 독점하여 티어별 요청 리소스의 성능측정을 가능케 하는 수단(12);Means (12) for communicating exclusively with the agent server (40) of the server for each tier to enable performance measurement of request resources for each tier; 여러 가지 조건의 성능측정 시나리오 ( JOB ) 를 예약하여 실시 할 수 있게 하는 수단(13);Means (13) for reserving and performing a performance measurement scenario JOB of various conditions; 상기 성능테스트 모니터(30)와 통신하여 각 서버의 성능 정보를 전달하는 수단;Means for communicating with the performance test monitor 30 to transmit performance information of each server; 상기 리파지터리 서버(20)에 저장된 요청 리소스들의 정보를 독출 하는 수단;Means for reading information of request resources stored in the repository server (20); 각 티어별 서버에 대하여 수집된 요청 리소스들의 집합을 조합하여 새로운 요청 리소스집합을 생성 하는 수단(13);Means (13) for generating a new set of requested resources by combining the set of requested resources collected for each tier-specific server; 상기 리파지터리 서버(20)와 연동하여 성능정보를 독출 하게 하는 수단(14);을 포함하고,And means (14) for reading performance information in association with the repository server (20), 상기 에이전트서버(40)는,The agent server 40, 연결된 서버와 지원 프로토콜을 이용하여 연결하는 수단;Means for connecting with a linked server using a supported protocol; 연결된 서버에 요청된 리소스의 성능정보를 수집하고, 상기 리파지터리 서버(20)로 전달하는 수단;Means for collecting the performance information of the requested resource to the connected server and transmitting it to the repository server (20); 배타적 독점 설정을 하여 단일 사용자 환경이 되도록 설정하는 수단;을 포함하고,Means for making an exclusive exclusive setting to make a single user environment; 상기 리파지터리 서버(20)는,The repository server 20, 상기 컨트롤러 서버(10)와 통신하여 요청 리소스와 성능정보를 저장하는 수단;Means for communicating with the controller server (10) to store request resources and performance information; 상기 에이전트 서버(40)와 통신하여 요청 리소스와 성능정보를 저장하는 수단;을 포함하고,Means for communicating with the agent server 40 to store the requested resource and performance information; 상기 성능테스트 모니터(30)는,The performance test monitor 30, 상기 컨트롤러 서버(10)와 통신하여 티어별 각 서버의 성능정보를 전달 받는 수단;Means for communicating with the controller server 10 to receive performance information of each server for each tier; 상기 컨트롤러 서버(10)와 통신하여 전달 받은 서버의 성능정보를 화면에 보여주는 수단;을 포함하고,And means for displaying the performance information of the server received by communicating with the controller server 10 on the screen. 상기 사용자 인터페이스(50)는,The user interface 50, 상기 컨트롤러 서버(10)와, 상기 에이전트 서버(40)와, 상기 성능 테스트 모니터(30)와 사용자 사이의 정보전달 수단을Information transfer means between the controller server 10, the agent server 40, the performance test monitor 30, and the user. 포함하는 것을 특징으로 하는 분산 멀티-티어 컴퓨팅 환경의 서버 성능측정, 분석, 모니터 시스템Server performance measurement, analysis, and monitoring system for distributed multi-tier computing environment, including
KR10-2004-0003589A 2004-01-17 2004-01-17 Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment. KR100447041B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2004-0003589A KR100447041B1 (en) 2004-01-17 2004-01-17 Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment.
PCT/KR2005/000151 WO2005071560A1 (en) 2004-01-17 2005-01-15 Method and system for application performance management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2004-0003589A KR100447041B1 (en) 2004-01-17 2004-01-17 Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment.

Publications (2)

Publication Number Publication Date
KR20040013058A KR20040013058A (en) 2004-02-11
KR100447041B1 true KR100447041B1 (en) 2004-09-07

Family

ID=34805994

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-0003589A KR100447041B1 (en) 2004-01-17 2004-01-17 Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment.

Country Status (2)

Country Link
KR (1) KR100447041B1 (en)
WO (1) WO2005071560A1 (en)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685272B2 (en) 2006-01-13 2010-03-23 Microsoft Corporation Application server external resource monitor
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
KR100926362B1 (en) * 2007-08-27 2009-11-10 주식회사 케이티 Method and system for managing of server performance
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
KR100906440B1 (en) * 2008-05-07 2009-07-09 주식회사 엑셈 Apparatus for monitoring a performance of web applications by connecting was transaction with dbms session and method thereof
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) * 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9009676B2 (en) 2010-04-02 2015-04-14 International Business Machines Corporation Common recording and replaying performance test tool for a client-server environment
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9792365B2 (en) 2013-12-31 2017-10-17 Clicktale Ltd. Method and system for tracking and gathering multivariate testing data
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11579993B2 (en) * 2019-08-22 2023-02-14 Micro Focus Llc Regression testing of computer systems using recorded prior computer system communications
CN111324545B (en) * 2020-03-13 2023-09-22 中国工商银行股份有限公司 Application server middleware performance test method, test terminal and application server
CN113190627A (en) * 2021-06-02 2021-07-30 南京恩瑞特实业有限公司 Nginx and Mycat based information system architecture and configuration method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011803A (en) * 1997-01-13 2000-01-04 Lucent Technologies Inc. Distributed-protocol server
US6581088B1 (en) * 1998-11-05 2003-06-17 Beas Systems, Inc. Smart stub or enterprise javaTM bean in a distributed processing system
JP2004531780A (en) * 2000-06-22 2004-10-14 マイクロソフト コーポレーション Distributed computing service platform
KR100429558B1 (en) * 2002-03-04 2004-04-29 쉬프트정보통신 주식회사 ADE data set component of client computer for transmitting/receiving of data between web servers

Also Published As

Publication number Publication date
WO2005071560A1 (en) 2005-08-04
KR20040013058A (en) 2004-02-11

Similar Documents

Publication Publication Date Title
KR100447041B1 (en) Method and system for making performance test scenarios and for testing, analyzing and motoring the performance of servers in multi-tier distributed computing environment.
EP1490775B1 (en) Java application response time analyzer
EP1386240B1 (en) Synthetic transaction monitor
US8171133B2 (en) Management apparatus and management method for computer system
US20070271375A1 (en) Method and apparatus for monitoring real users experience with a website capable of using service providers and network appliances
US7716335B2 (en) System and method for automated workload characterization of an application server
US20030023712A1 (en) Site monitor
US20060085420A1 (en) Method and apparatus for monitoring real users experience with a website
US20070027742A1 (en) Correlating business workflows with transaction tracking
US10116534B2 (en) Systems and methods for WebSphere MQ performance metrics analysis
US20080072239A1 (en) Method and apparatus for non-intrusive web application integration to streamline enterprise business process
JP2004530179A (en) System and method for providing behavioral information of a user accessing an online resource
JP2005538459A (en) Method and apparatus for root cause identification and problem determination in distributed systems
US20090157864A1 (en) Grid computing control method for testing application program capacity of server and service method thereof
JP2009514092A (en) Acquisition of server usage information
US20100153454A1 (en) Aggregating persisted operational data in a distributed environment
US20120144029A1 (en) Non-intrusive monitoring of services in a services-oriented architecture
Gombotz et al. On web services workflow mining
US20050283528A1 (en) Definition system and method for web services that monitor other web services
WO2023049520A1 (en) Advanced agent instrumentation for opentelemetry implementations
Mendonca et al. Client-side selection of replicated web services: An empirical assessment
Denaro et al. Performance testing of distributed component architectures
Liu et al. Evaluating the scalability of enterprise javabeans technology
Andell Architectural Implications of Serverless and Function-as-a-Service
Imre et al. A novel cost model of xml serialization

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120824

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130812

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140814

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150810

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160823

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180806

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20191014

Year of fee payment: 16