KR101115907B1 - 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치 - Google Patents

웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치 Download PDF

Info

Publication number
KR101115907B1
KR101115907B1 KR1020090082269A KR20090082269A KR101115907B1 KR 101115907 B1 KR101115907 B1 KR 101115907B1 KR 1020090082269 A KR1020090082269 A KR 1020090082269A KR 20090082269 A KR20090082269 A KR 20090082269A KR 101115907 B1 KR101115907 B1 KR 101115907B1
Authority
KR
South Korea
Prior art keywords
time
computing device
user
transaction
task
Prior art date
Application number
KR1020090082269A
Other languages
English (en)
Other versions
KR20110024329A (ko
Inventor
김민성
Original Assignee
주식회사 엘지유플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지유플러스 filed Critical 주식회사 엘지유플러스
Priority to KR1020090082269A priority Critical patent/KR101115907B1/ko
Publication of KR20110024329A publication Critical patent/KR20110024329A/ko
Application granted granted Critical
Publication of KR101115907B1 publication Critical patent/KR101115907B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 웹 서비스에 대한 성능 측정을 사용자가 체감할 수 있는 응답 시간으로서 측정할 수 있도록 하고, 응답 시간을 각 서비스 구간별로 분리하여 각 구간별 응답 시간의 구분적인 측정이 가능하도록 하는 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체, 컴퓨팅 장치 및 웹 어플리케이션 서버의 모니터링 모듈을 제공한다.
이를 위해 본 발명은, 사용자 컴퓨팅 장치에서 사용자의 그룹 단위 업무 요청시 측정 대상 설정 업무에 대응하는 상기 그룹 단위 업무 요청 시간을 해당 그룹 단위 업무 시작 시간으로 기록하는 단계; 상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무 종료시 상기 그룹 단위 업무 종료 시간을 해당 그룹 단위 업무 종료 시간으로 기록하는 기록하는 단계; 상기 사용자 컴퓨팅 장치에서 저장된 그룹 단위 업무 시작 및 그룹 단위 업무 종료 시간 정보를 웹 어플리케이션 서버에 제공하여 데이터베이스에 저장하는 단계; 및 관리자 컴퓨팅 장치에서 상기 데이터베이스를 조회하여 사용자 체감 응답 시간을 조회하는 단계를 포함하여 이루어진 것을 특징으로 한다.

Description

웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치{Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device}
본 발명은 인터넷 웹 서비스에 대한 사용자 체감의 응답 속도 및 각 구간별 구분 시간을 측정하기 위한 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치에 관한 것이다.
일반적으로 근래의 컴퓨팅 환경은 클라이언트와 웹 어플리케이션, 데이터베이스, 미들웨어, ERP(Enterprise Resource Plan), CRM(Customer Relationship Management) 솔루션 등 각종 서비스를 담당하는 서버들의 분산 환경으로 발전하고 있는 단계이다.
종래의 클라이언트-서버 방식의 2단계 컴퓨팅환경에서는 시스템의 성능관리가 비교적 용이하였지만, 현재는 갈수록 대형화되고 복잡해지는 웹 기반 시스템 하에서 대량의 트랜잭션(Transaction)을 실시간으로 처리하는 OLPT(Online Transaction Processing) 환경이 확산되고 있는 추세이고, 웹을 이용한 수많은 동시 사용자에 의한 부하가 비정규적으로 발생할 수 있으며, 다수의 서버들이 분산되 어 단계별로 클라이언트의 요청을 처리하여 마지막으로 결과를 클라이언트에게 전달하는 복잡한 환경에서 프로세스가 이루어지고 있다.
그에 따라, 웹 어플리케이션의 처리를 담당하는 서버와, 데이터를 관리하는 데이터베이스 등에 대한 성능 관리가 필수적으로 이루어져야 하고, 그러한 성능 관리를 위한 성능 정보의 효과적인 모니터링이 필요한 시점이다. 즉, 시스템 모니터링은 거시적인 방향에서는 웹 서비스의 트랜드 분석을 위해 실시되고, 다른 방향에서는 현시점에서 네트워크 자원의 효율적 활용여부의 파악과, 시스템의 오류분석을 위해 실시된다.
한편, 웹 서비스에 대한 응답 속도는 사용자에게 인지되는 서비스 품질을 측정하는 가장 보편적인 지표인 동시에, 정량적인 수치로 표현이 가능하므로 객관성을 확보해주는 중요한 관리 정보로서 활용되고 있다.
웹 서비스의 품질을 판단하기 위한 중요한 지표로서 서비스에 대한 응답 속도 및 응답 시간에 대한 모니터링을 위해, 최근에는 고가격대의 전문적인 툴(Tool)을 도입하여 응답 속도의 측정을 진행해오고 있는 바, 이러한 전문 툴들은 대부분 고가격대이므로 시스템 성능 관리를 위한 투자 비용이 상승한다는 단점이 있으며, 서버의 시스템 중심이나 네트워크 중심으로만 측정이 이루어질 수 있도록 되어 있기 때문에, 사용자가 느낄 수 있는 사용자 체감의 응답 속도를 측정하지 못한다는 문제점을 가지고 있다.
게다가, 종래의 전문 툴들은 서버의 시스템 전반이나 네트워크 전반에 걸쳐서 측정이 이루어지기 때문에, 각 시스템 구간이나 네트워크의 구간별로 세부적인 구분 측정이 어렵도록 되어 있을 뿐만 아니라, URL이나 단위 트랜잭션 수준에서만 측정할 수 있도록 되어 있어서, 실질적인 업무 단위의 분석이 어렵도록 되어 있다는 문제점이 있다.
따라서, 본 발명은 상기한 종래의 문제점을 해결하기 위해 이루어진 것으로서, 그 목적은 웹 기반 서비스로서 일반적으로 도입되어 있는 X-인터넷 기반의 플랫폼 환경을 그대로 사용하여 고가의 비용을 투자하지 않고서도 웹 서비스의 성능 측정이 가능하도록 하는 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치를 제공하는 것이다.
본 발명의 다른 목적은 웹 서비스에 대한 성능 측정을 사용자가 체감할 수 있는 응답 시간으로서 측정할 수 있도록 하고, 응답 시간을 각 서비스 구간별로 분리하여 각 구간별 응답 시간의 구분적인 측정이 가능하도록 하는 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 측정 대상 사용자 시스템에 대한 실질적인 업무 단위의 측정이 가능하도록 하여 사용자 관점에서의 성능 관리가 가능하도록 하는 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치를 제공하는 것이다.
상기한 목적을 달성하기 위해 본 발명의 방법의 일예에 따르면, 사용자 컴퓨팅 장치에서 사용자의 그룹 단위 업무 요청시 측정 대상 설정 업무에 대응하는 상기 그룹 단위 업무 요청 시간을 해당 그룹 단위 업무 시작 시간으로 기록하는 단계, 상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무 종료시 상기 그룹 단위 업무 종료 시간을 해당 그룹 단위 업무 종료 시간으로 기록하는 기록하는 단계, 상기 사용자 컴퓨팅 장치에서 저장된 그룹 단위 업무 시작 및 그룹 단위 업무 종료 시간 정보를 웹 어플리케이션 서버에 제공하여 데이터베이스에 저장하는 단계 및, 관리자 컴퓨팅 장치에서 상기 데이터베이스를 조회하여 사용자 체감 응답 시간을 조회하는 단계를 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법을 제공한다.
상기한 목적을 달성하기 위해 본 발명의 방법의 다른예에 따르면, 사용자 컴퓨팅 장치에서 사용자의 그룹 단위 업무 요청시 측정 대상 설정 업무에 대응하는 상기 그룹 단위 업무 요청 시간을 해당 그룹 단위 업무 시작 시간으로 기록하는 단계, 상기 사용자 컴퓨팅 장치에서 하나 이상의 트랜잭션 단위 업무의 HTTP 정보 요청을 웹 어플리케이션 서버에게 발생시 상기 요청 시간을 트랜잭션 단위 업무시작 시간으로 기록하는 단계, 상기 웹 어플리케이션 서버에서 상기 요청에 대한 HTTP 정보 응답을 상기 사용자 컴퓨팅 장치에게 전달하면, 상기 사용자 컴퓨팅 장치에서 상기 HTTP 정보 응답을 받은 응답 시간을 상기 트랜잭션 단위 업무의 트랜잭션 단위 업무 종료 시간으로 기록하는 단계, 상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무 종료시 상기 그룹 단위 업무 종료 시간을 해당 그룹 단위 업무 종료 시간으로 기록하는 기록하는 단계, 상기 사용자 컴퓨팅 장치에서 저장된 그룹 단위 업무 시작 시간 및 그룹 단위 업무 종료 시간 정보와 트랙젝션 단위 업무시작 시간 및 트랙젝션 단위 업무 종료 시간 정보를 상기 웹 어플리케이션 서버에 제공하여 데이터베이스에 저장하는 단계, 관리자 컴퓨팅 장치에서 상기 데이터베이스를 조회하여 사용자 체감 응답 시간 또는 구간별 소요시간을 구분하여 조회하는 단계를 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법을 제공한다.
상기한 목적을 달성하기 위해 본 발명의 방법의 또다른 예에 따르면, 사용자 컴퓨팅 장치에서 사용자의 그룹 단위 업무 요청시 측정 대상 설정 업무에 대응하는 상기 그룹 단위 업무 요청 시간을 해당 그룹 단위 업무 시작 시간으로 기록하는 단계와, 상기 사용자 컴퓨팅 장치에서 하나 이상의 트랜잭션 단위 업무의 HTTP 정보 요청을 웹 어플리케이션 서버에게 발생시 상기 요청 시간을 트랜잭션 단위 업무시작 시간으로 기록하는 단계, 상기 웹 어플리케이션 서버의 모니터링 모듈에서 상기 요청의 서버 인입 시점을 인지하여 트랜잭션 단위 업무 서버 인입 시점을 기록하는 단계, 상기 웹 어플리케이션 서버의 모니터링 모듈에서 상기 요청에 대한 HTTP 정보 응답을 상기 사용자 컴퓨팅 장치에 전달하면 상기 응답의 서버 전송 시점을 트랜잭션 단위 업무 서버 전송 시점으로 기록하는 단계, 상기 웹 어플리케이션 서버에서 상기 요청에 대한 HTTP 정보 응답을 상기 사용자 컴퓨팅 장치에게 전달하면, 상기 사용자 컴퓨팅 장치에서 상기 HTTP 정보 응답을 받은 응답 시간을 상기 트랜잭션 단위 업무의 트랜잭션 단위 업무 종료 시간으로 기록하는 단계, 상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무 종료시 상기 그룹 단위 업무 종료 시간을 해당 그룹 단위 업무 종료 시간으로 기록하는 단계, 상기 사용자 컴퓨팅 장치에서 저장된 그룹 단위 업무 시작 시간 및 그룹 단위 업무 종료 시간 정보와 트랜잭션 단위 업무시작 시간 및 트랜잭션 단위 업무 종료 시간 정보를 상기 웹 어플리케이션 서버에 제공하여 데이터베이스에 저장하고, 트랜잭션 단위 업무 서버 인입 시점 및 트랜잭션 단위 업무 서버 전송 시점 정보를 데이터베이스에 저장하는 단계, 관리자 컴퓨팅 장치에서 상기 데이터베이스를 조회하여 사용자 체감 응답 시간 또는 구간별 소요시간을 구분하여 조회하는 단계를 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법을 제공한다.
상기한 목적을 달성하기 위해 본 발명의 컴퓨팅 장치의 일예에 따르면, 웹 어플리케이션 서버와의 HTTP 요청 및 응답에 따라 웹 서비스 관련 업무를 진행하는 컴퓨팅 장치에 있어서, 사용자 체감 응답 시간의 측정 대상 업무에 대응하는 그룹의 그룹 단위 데이터를 저장하는 임시 데이터 저장소와, 상기 그룹에 포함되는 복수 트랜잭션에 대한 각 트랜잭션 단위 데이터를 저장하는 임시 데이터 저장소를 생성하는 생성부와, 각 트랜잭션 별로 HTTP 요청을 상기 웹 어플리케이션 서버에 발생하는 요청 발생부, 상기 웹 어플리케이션 서버로부터의 HTTP 응답을 수신하는 응답 수신부, X-인터넷 기반의 플랫폼 엔진을 사용하여 그룹 단위 업무 요청 시간과 그룹단위 업무 종료 시간 및 상기 HTTP 요청의 발생 시간과, HTTP 응답 수신 시간을 그룹 단위 및 각 트랜잭션 단위의 임시 데이터 저장소에 저장하는 데이터 제공부 및, 상기 플랫폼 엔진을 사용하여 상기 임시 데이터 저장소에 저장된 시간 정보 를 관리자 측에 전송하는 전송부를 포함하여 구성된 것을 특징으로 하는 컴퓨팅 장치를 제공한다.
상기한 목적을 달성하기 위해 본 발명의 컴퓨팅 장치의 다른 예에 따르면, 웹 어플리케이션 서버와 사용자 컴퓨팅 장치와의 HTTP 요청 및 응답에 따라 요청 및 응답 시간을 측정하고, 측정된 시간 정보를 저장하는 데이터베이스를 갖춘 시스템으로부터 사용자 체감 응답 시간을 측정하는 컴퓨팅 장치에 있어서, 상기 사용자 컴퓨팅 장치를 측정 대상으로 설정하고, 측정 대상의 업무를 설정하는 설정부와, 상기 사용자 컴퓨팅 장치로부터 전송된 시간 정보가 저장된 상기 데이터베이스를 조회하여 사용자 체감 응답 시간 및 구간별 소요 시간을 구분하여 산출하는 산출부 및, 상기 사용자 체감 응답 시간 또는 구간별 소요 시간을 조회가 가능하게 표시하는 표시부를 포함하여 구성된 것을 특징으로 하는 컴퓨팅 장치를 제공한다.
이상과 같이 본 발명에 따르면, 측정 대상 사용자가 측정 대상의 업무를 사용할때 사용자 체감의 응답 시점을 구분적으로 측정하고, 각 트랜잭션별 인지 시간중에서 어플리케이션 시간 및 네트워크 시간을 구분하고, 웹 서비스의 전체 응답 시간을 사용자 컴퓨팅 장치, 네트워크, 서버, 서버내의 각 구간 등 구간별로 구분하여 측정할 수 있도록 함에 따라, 고가격대의 성능 관리를 위한 전문 툴을 사용하지 않고서도 최소한의 비용 투자만으로 보다 정확하고 사용자 중심의 측정이 가능하고, 사용자가 느낄 수 있는 사용자 체감 응답 시간으로 측정이 이루어지도록 되어 있어서, 사용자 관점에서의 실질적인 체감 성능을 관리할 수 있다는 효과가 있 다.
또한, 서비스의 전체 응답 시간을 각 구간별로 구분하여 측정할 수 있도록 함에 의해, 응답 시간의 변동에 따라 발생되는 문제의 원인을 신속하고 정확하게 분석하여 대처할 수 있다는 효과가 있다.
이하, 상기한 바와 같이 구성된 본 발명에 대해 첨부도면을 참조하여 상세히 설명한다.
즉, 도 1은 본 발명에 따른 웹 서비스의 사용자 체감 성능 모니터링 시스템에 대한 구성을 나타낸 도면이다.
도 1에 도시된 바와 같이, 본 발명에 따른 웹 서비스의 사용자 체감 성능 모니터링 시스템은, 관리자 컴퓨팅 장치(10)와, 사용자 컴퓨팅 장치(20), 데이터베이스(30), 웹 어플리케이션 서버(Web Application Server; WAS)(40), WAS 모니터링 모듈(50)로 구성된다.
상기 관리자 컴퓨팅 장치(10)는 상기 사용자 컴퓨팅 장치(20)를 측정 대상 사용자로서 설정하고, 사용자 컴퓨팅 장치(20)에서 진행되는 특정 업무를 측정 대상 업무로서 설정하여 사용자 체감 응답 시간의 측정이 가능하도록 하고, 사용자 체감 응답 시간 정보 및 트랜잭션 모니터링 값에 대한 정보를 조합하여 전체 응답 시간을 각 서비스 구간별로 구분할 수 있도록 함에 의해, 관리자가 확인 가능하게 표시한다.
상기 사용자 컴퓨팅 장치(20)는 상기 관리자 컴퓨팅 장치(10)의 측정 대상 사용자 및 측정 업무 설정시, 상기 설정된 업무를 진행하여 사용자 체감 서비스 시작 시간 및 종료 시간을 각각 기록하고, 각 시간 정보를 상기 웹 어플리케이션 서버(40)에 제공한다.
여기서, 상기 사용자 컴퓨팅 장치(20)에는 X-인터넷(eXecutable Internet 또는 eXtended Internet) 기반의 플랫폼 엔진(Platform Engine)이 설치되어 있는 바, 웹 기반 서비스의 제공을 위해 클라이언트-서버 방식의 장점과 웹의 장점을 혼합한 플랫폼 엔진으로서, 예컨대 주식회사 투비소프트에서 제작한 "마이플랫폼(Miplatform)"을 적용하기로 하고, 상기 "마이플랫폼"과 같은 플랫폼 엔진을 기반으로 하여 사용자 체감 응답 시간의 측정 메카니즘을 적용하기로 한다. 한편, 본 발명에서는 "마이플랫폼"을 플랫폼 엔진으로서 적용하고 있지만, 이에 한정되지는 않는 것으로서 다른 어떠한 종류의 범용 플랫폼 엔진을 적용하여도 본 발명의 구성 및 작용이 동일하게 구현 가능하다.
상기 관리자 컴퓨팅 장치(10)와 상기 사용자 컴퓨팅 장치(20)는 데스크탑 컴퓨터 단말과, 노트북 컴퓨터 단말, 넷북 컴퓨터 단말 등의 컴퓨팅 기기와, 이동통신 단말기, 스마트폰, PDA(Portable Digital Assistant) 단말기 등의 무선 통신 단말기가 모두 적용 가능하다.
상기 데이터베이스(30)는 상기 관리자 컴퓨팅 장치(10)로부터 설정되는 측정 대상 사용자 및 측정 대상 업무의 설정 정보를 저장하고, 상기 웹 어플리케이션 서버(40)로부터 제공되는 사용자 체감의 시간 정보와, 트랜잭션 모니터링 정보를 저장함과 더불어, 전체 응답 시간의 각 구간별 구분을 위해 상기 시간 정보 및 트랜 잭션 모니터링 정보를 상기 관리자 컴퓨팅 장치(10)에서 조합할 수 있도록 제공한다.
상기 웹 어플리케이션 서버(40)는 상기 사용자 컴퓨팅 장치(20)의 특정 업무 개시에 따라 HTTP 요청(Request)를 받고 그에 대한 HTTP 응답(Response) 정보를 제공하여 서비스 시작 시간 및 종료 시간이 산정되도록 하고, 상기 서비스 시간 정보를 상기 데이터베이스(30)에 제공한다.
상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40)에 내장되어, 웹 서비스를 기반으로 하는 해당 웹 어플리케이션 서버(40)의 HTTP 요청 인입 및 응답 전송 시점을 인지하여 그 결과에 따라 트랜잭션 처리에 소요되는 시간을 나타내는 HTTP 트랜잭션 모니터링 정보를 상기 데이터베이스(30)에 제공한다.
여기서, 상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40) 내에 내장되어 있도록 하고 있지만, 본 발명은 이에 한정되지는 않는 것으로서, 상기 웹 어플리케이션 서버(40)와는 별도로 모니터링을 위한 모듈 장치 형태로 구비할 수도 있고, 상기 웹 어플리케이션 서버(40)와는 별도의 다른 응용 서버에 구비하는 것도 얼마든지 가능함은 물론이다.
본 발명에서는 첫째로, 사용자 체감 응답 시간의 측정을 진행하기 앞서 상기 사용자 컴퓨팅 장치(20)의 플랫폼 엔진 단에서 해당 사용자 컴퓨팅 장치(20)의 로컬(Local) 임시 데이터 저장 영역에 체감 시간 측정과 관련된 데이터를 저장할 수 있는 임시 저장소를 생성하는 사용자 페이지의 구성 과정을 우선적으로 진행한 다음에, 둘째로, 상기 관리자 컴퓨팅 장치(10)에서 응답 시간의 측정 대상자를 선정 하고, 측정 대상 업무를 온/오프(On/Off) 제어를 통해 선택할 수 있도록 하며, 셋째로 상기 WAS 모니터링 모듈(50)에서 해당 웹 어플리케이션 서버(40)에 대한 서비스 소요시간을 인지하여 저장하도록 하고, 넷째로, 상기 데이터베이스(30)에 저장된 원시 데이터를 조합하여 사용자 체감 응답시간을 연산하도록 한다.
도 2a에 도시된 바와 같이, 상기 사용자 컴퓨팅 장치(20)는 소정의 로컬 임시 데이터 저장소에 그룹 단위의 데이터(즉, 그룹 ID, 업무 코드, 시작 시간, 종료 시간 등)를 기록할 수 있는 저장 영역을 생성하고, 도 2b에 도시된 바와 같이 상기 그룹에 속하는 개별 트랜잭션 단위의 데이터(즉, 그룹 ID, 트랜잭션 ID, 시작 시간, 종료 시간, 네트워크(NW) 시작 시간, 네트워크(NW) 종료 시간 등)를 기록할 수 있는 저장 영역을 생성한다. 단, 상기 도 2a 및 도 2b에 도시된 레코드(Record)의 수가 제한적으로 예시되었지만, 이에 한정되지는 않는 것으로 레코드의 수는 HTTP 트랜잭션의 발생에 따라 가변적으로 가감 적용될 수 있다.
상기 "그룹(Group)"은 측정 대상으로 설정되는 각 업무의 단위를 의미하는 것으로서, 사용자의 관점에서는 개별 트랜잭션 단위가 아니라 해당 업무 단위로 파악할 수 있기 때문에 그룹의 개념을 도입하기로 한다. 또한, 상기 "트랜잭션(Transaction)"은 특정 업무의 진행시 해당 업무에 대해 가질 수 있는 복수개의 개별 HTTP 트랜잭션 단위를 의미하는 것이다.
상기 로컬 임시 데이터 저장소에서는 트랜잭션의 발생시마다 시작 시간과 종료 시간을 저장할 수 있도록 되어 있는 바, 주기적으로 백그라운드(Back-Ground) HTTP 요청이 발생할때마다 해당 로컬 임시 데이터 저장소의 데이터를 읽어들여서 상기 웹 어플리케이션 서버(40)에 전송함에 의해 상기 데이터가 데이터베이스(30)에 저장될 수 있도록 하고, 상기 데이터베이스(30)로 전송이 완료된 데이터는 해당 임시 데이터 저장소에서 소거 처리될 수 있도록 한다.
상기 사용자 컴퓨팅 장치(20)에서는 그룹 단위의 시작 시점과 종료 시점 간의 시간 간격을 구하는 작업을 수행하게 되는 바, 이는 통상적으로 사용자가 인터넷 웹페이지의 조회 등과 같은 특정 업무를 진행할때 프로그램 메뉴의 선택이나 웹페이지내 링크 버튼의 클릭 시점을 시작 시점으로 하고, 해당 업무가 종료되었다고 판단되는 시점이 컴퓨터의 모니터 화면 상에 해당 웹페이지가 완전히 로딩되어 표시되는 시점으로 하는 것을 전제로 한다.
이를 위해, 상기 사용자 컴퓨팅 장치(20)에서는 상기 웹 어플리케이션 서버(40)와의 작업에 따라 그룹 단위의 데이터 관리를 위해 시작 시간과 종료 시간을 기록하는 함수를 생성하게 되는 바, 하기한 표 1에서는 그룹 단위의 시작 시간 및 종료 시간을 기록하기 위한 의사 로직(Pseudo Logic)을 나타내고 있다.

StartGroup(업무코드) {
시작시간 생성; // 호출시간, 1/1000초 단위 그룹ID
생성; // IP, 현재시간, 시퀀스 조합 임시 데이터 저
장소에 레코드 생성 및 저장; 글로벌 변수에 그룹ID
저장;
}

EndGroup(업무코드) {
종료시간 생성; // 호출시간, 1/1000초 단위 임시
데이터 저장소에 동일 그룹ID 레코드에 종료시간
업데이트; 글로벌 변수 clear;
}
상기 표 1에 나타낸 두가지의 함수는 공통 라이브러리로 생성하며, 소스상 필요한 곳에서 호출할 수 있도록 한다.
상기 의사 로직에서는 업무가 시작되는 시점에 해당 소스에서 StartGroup() 함수를 호출함으로써 사용자 체감 응답 시간 측정을 개시하도록 하고, 업무가 완전히 종료되는 소스상의 위치에서 EndGroup() 함수를 호출함에 의해 사용자 체감 시간을 구하도록 한다. 사용자 체감의 종료 시간은 해당 업무에 대한 결과 페이지가 상기 사용자 컴퓨팅 장치(20)의 모니터 화면 상에 최종적으로 출력되는 시점 또는 업무의 처리 완료를 알리는 팝업창(Pop-Up Window)이 표출되는 시점에 해당된다.
한편, 상기 그룹 ID는 상기 데이터베이스(30) 내에서 유일하게 보장될 수 있는 인덱스에 해당되는 것으로서, StartGroup() 함수에서 그룹 ID를 생성하는 경우에는, IP와 현재 시간, 상기 사용자 컴퓨팅 장치(20) 내에서 자체 관리하는 시퀀스(Sequence)를 조합하여 적어도 25자리 이상의 코드 조합으로 생성한다. 업무 코드는 사전적으로 정의되며, 해당 업무에 일치하는 소스상의 위치에서는 정해진 업무 코드로 StartGroup() 함수를 호출하도록 한다.
또한, 상기 사용자 컴퓨팅 장치(20)는 각 그룹에 포함되는 복수개의 단위 트랜잭션에 대한 데이터 관리를 위해 개별 트랜잭션이 발생하는 시점과 종료되는 시점을 기록하는 함수를 생성하게 되는 바, 하기한 표 2에서는 트랜잭션 단위의 시작 시점 및 종료 시점을 기록하기 위한 의사 로직을 나타내고 있다.

StartTransaction() {
시작시간 생성; // 호출시간, 1/1000초 단위 트랜잭션ID
생성; // IP, 현재시간, 시퀀스 조합 임시 데이터 저
장소에 레코드 생성 및 저장; 어트리뷰트 설정 (trid); // http request에 삽입
}

EndTransaction() {
종료시간 생성; // 호출시간, 1/1000초 단위 임시
데이터 저장소에 동일 그룹ID 레코드에 종료시간
업데이트;
}
상기 표 2에서 두가지의 함수는 공통 라이브러리로 생성하고, 소스상 필요한 곳에서 호출할 수 있도록 되어 있다.
각 업무에는 복수개의 요청(Request) 처리로 이루어질 수 있고, 그룹이 사용자 체감 업무의 시작과 종료를 표현하는 반면에, 개별 트랜잭션의 경우는 실제적인 HTTP 트랜잭션을 지칭한다. 개별 트랜잭션이 발생하는 시점에서 StartTransaction() 함수를 호출하여 도 2b에 도시된 바와 같은 로컬 임시 데이터 저장소에 시작 시간을 기록하고, 서버로부터의 응답(Response)을 수신하여 콜백(Callback)이 호출되는 시점에 EndTransaction() 함수를 호출하여 종료 시간을 기록한다.
상기 트랜잭션 ID의 생성은 상기 그룹 ID의 생성 방식과 동일하게, StartTransaction() 함수에서 IP와, 현재 시간, 해당 사용자 컴퓨팅 장치(20) 내의 자체 관리 시퀀스를 조합하여 적어도 25자리 이상의 코드를 생성하고, StartTransaction()에서는 로컬 임시 데이터 저장소에 시간을 기록할때 글로벌 변수에 기록되어 있는 그룹 ID를 함께 저장하여, 해당 트랜잭션이 속하는 그룹을 정확히 인식할 수 있도록 한다.
또한, 상기 표 2에서는 개별 트랜잭션이 발생하는 시점에서 어트리뷰트 설정인 setAttribute()를 통해 HTTP 요청 오브젝트에 어트리뷰트(Attribute)를 삽입할 수 있도록 표현할 수 있고, 이는 "trid(트랜잭션 ID)"와 같은 이름으로 어트리뷰트를 설정하며, 각 어트리뷰트 이름은 trid에만 한정되지 않고 다양하게 설정이 가능하다.
한편, 도 3에서는 그룹과 트랜잭션과의 관계를 예시적으로 나타내고 있는데, 하나의 그룹에 2개의 개별 트랜잭션이 존재하는 경우를 일예로 하여 나타낸 것이다. 동 도면에서는 하나의 그룹에 대한 시작 시간에서의 StartGroup() 함수 호출로부터 종료 시간에서의 EndGroup() 함수 호출의 시점 사이에, 각 개별 트랜잭션 별로 시작 시점에서의 StartTransaction() 호출과, 종료 시점에서의 EndTransaction() 함수 호출을 진행한다.
상기 사용자 컴퓨팅 장치(20)는 플랫폼 엔진 단에서 HTTP 요청 및 응답이 발생되는 경우에 소요되는 시간을 측정하게 되는 바, 도 4에 도시된 바와 같이 HTTP 요청 및 응답이 발생할때 어플리케이션 레이어로부터 플랫폼 엔진 레이어를 거쳐서 TCP 네트워크 연동을 진행하게 된다. 상기 사용자 컴퓨팅 장치(20)에서의 그룹 단위 시작 시간 및 종료 시간은 도면의 제1시점에 해당되고, 개별 트랜잭션 단위의 시작 시간 및 종료 시간은 도면의 제2시점에 해당된다.
즉, 상기 사용자 컴퓨팅 장치(20)에서 개별 트랜잭션 별로 StartTransaction()을 호출하는 경우에도 실질적으로 플랫폼 엔진 레이어를 거치게 되며, 이 경우에 플랫폼 엔진에서의 로직에 의해 최종적으로 네트워크 인터페이스 카드(Network Interface Card; NIC)로 요청이 발생할 때의 시점을 기록할 수 있도록 한다.
상기 사용자 컴퓨팅 장치(20)는 요청을 발생할때와 응답을 수신할 때마다 도 2b에 도시된 로컬 임시 데이터 저장소의 동일 그룹 ID 및 트랜잭션 ID를 갖는 레코드에 네트워크 시작 시간과, 네트워크 종료 시간을 업데이트하도록 한다.
또한, 상기 사용자 컴퓨팅 장치(20)는 플랫폼 엔진 하에서 주기적으로 백그라운드 HTTP 요청을 발생시켜서 임시 데이터 저장소에 저장된 정보가 상기 데이터베이스(30)에 저장되도록 하게 되는데, 백그라운드 HTTP 요청이 발생하는 시점에서 임시 데이터 저장소 내의 각 레코드별 컬럼이 채워지지 않으면, 해당 정보를 상기 데이터베이스(30)에 전송하지 않는 대신에 다음 주기가 돌아올때 전송하도록 한다.
상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40)에서의 트랜잭션 처리 과정을 모니터링하기 위한 것인 바, 상기 웹 어플리케이션 서버(40)에 인입되는 요청에서 "trid"(즉, 어트리뷰트 이름)가 발견되면, 해당 트랜잭션이 사용자 체감 응답 시간 대상자인 상기 사용자 컴퓨팅 장치(20)에서 발생한 것으로 인식하여 상기 웹 어플리케이션 서버(40) 내에서 소요되는 시간(즉, HTTP 요청이 발생하는 시점으로부터 HTTP 응답이 발생하는 시점까지의 소요 시간)을 상기 데이터베이스(30)에 추가적으로 저장하도록 한다.
또한, 상기 WAS 모니터링 모듈(50)은 웹 어플리케이션 서버(40) 내에서 소요되는 시간을 인지하는 기능 뿐만 아니라, 해당 웹 어플리케이션 서버(40) 내에서 처리에 소요되는 시간을 구간별로 구분할 수 있도록 하는데, 구간별 구분 요소는 SQL(Structured Query Language) 실행 시간, 데이터베이스 대기 시간, 비지니스 로직 처리 시간, 레거시 시스템(Legacy System) 연동 시간 등을 주요 요소로서 설정하는 것이 바람직하고, 상기 데이터베이스(30)로의 정보 전송은 건별로 실시간으로 전송할 수도 있고, 일정 주기마다 전송할수도 있다.
도 7에서는 상기 WAS 모니터링 모듈(50)로부터 전송된 정보가 상기 데이터베이스(30)에 저장된 형태를 나타낸 것으로서, 각 레코드별로 트랜잭션 ID와, 웹 어플리케이션 서버의 총 소요시간, 각 구간별 소요시간을 기록할 수 있도록 한다.
그에 따라, 상기 데이터베이스(30)에는 도 2a 및 도 2b에 도시된 바와 같은 그룹 단위의 응답 시간 데이터와 개별 트랜잭션 단위의 응답 시간 데이터가 저장됨과 더불어, 상기 WAS 모니터링 모듈(50)에서 측정된 웹 어플리케이션 서버 내의 처리 시간에 대한 데이터가 저장되어 있다.
도 6에는 상기 데이터베이스(30)에 형성되어 있는 그룹 데이터 저장 테이블(Group_Data_Table)과, 개별 트랜잭션 데이터 저장 테이블(Transaction_Data_Table), 웹 어플리케이션 서버(WAS) 처리 데이터 저장 테이블(WAS_Data_Table)이 나타나 있다.
상기 관리자 컴퓨팅 장치(10)는 도 6에 도시되어 있는 데이터베이스(30)의 데이터 저장 테이블 중에서, 그룹 데이터 저장 테이블만으로 사용자 체감 응답 시간을 구할 수 있고, 그룹 데이터 저장 테이블과 개별 트랜잭션 데이터 저장 테이블 간의 그룹 ID를 이용한 연결(Join) 처리와, 개별 트랜잭션 데이터 저장 테이블과 WAS 처리 데이터 저장 테이블 간의 트랜잭션 ID를 이용한 연결(Join) 처리를 통해서 각 구간별 소요시간을 구할 수 있도록 하고 있어서, 이를 통해 관리자가 사용자 체감 응답 시간의 변동이나, 문제가 발생된 구간 및 해당 문제 구간의 원인까지 파악이 가능하다.
트랜잭션의 네트워크 구간과 서버 구간을 분리하고자 하는 경우에는, 트랜잭션 데이터 테이블에서 1개의 트랜잭션이 발생할 때마다 상기 사용자 컴퓨팅 장치(20)의 플랫폼 엔진단에서 측정되는 네트워크 시작 시간과 네트워크 종료 시간(도 2b 참조) 사이의 차이로부터 "네트워크 구간 + 서버 구간"의 소요시간을 구하고, WAS 처리 데이터 저장 테이블로부터 웹 어플리케이션 서버(40) 내에서 소요되는 총 시간 및 웹 어플리케이션 서버(40) 내에서의 구간별 시간을 분리한다(도 5 참조).
웹 어플리케이션 서버의 총 시간을 서버 시간으로 한 상태에서, 개별 트랜잭션 데이터 저장 테이블과 WAS 처리 데이터 저장 테이블을 연결하면, 네트워크 구간의 시간과 서버 구간의 시간을 분리해낼 수 있는 것이다. 단, 웹 서비스를 위해서는 여타 웹 서비스용 웹서버(도시되지 않음)를 경유하도록 되어 있어서, 실질적으로 웹 어플리케이션 서버 내의 소요 시간과 웹서버에서 소요된 시간을 포함하는 것이 정확하지만, 웹서버에서 소요되는 시간은 웹 어플리케이션 서버의 소요시간에 비해서 상대적으로 상당히 작기 때문에 무시하도록 한다.
또한, 트랜잭션이 중복됨이 없이 순차적으로 발생하는 상태에서 상기 사용자 컴퓨팅 장치(20)에 대한 소요 시간을 분리하고자 하는 경우에, 상기 관리자 컴퓨팅 장치(10)에서는 상기 데이터베이스(30)의 그룹 데이터 저장 테이블과 개별 트랜잭션 데이터 저장 테이블을 조합함에 의해 측정 대상인 사용자 컴퓨팅 장치의 소요 시간을 구할수 있게 되는 바, 전체 그룹의 시작 시점과 종료 시점 사이에서 개별 트랜잭션이 차지하는 시간을 제외한 나머지 시간을 사용자 컴퓨팅 장치의 소요 시간으로서 산정할 수 있다.
사용자 컴퓨팅 장치의 소요 시간에는 순전히 사용자 컴퓨팅 장치에서 소요되는 애플리케이션 처리시간(예를 들면 자바스크립트 로직 처리 등)이 포함되는데, 측정대상 업무의 사용자 체감 시간을 측정하는데 있어 무시할 수 없는 요소이다.
한편, 사용자 컴퓨팅 장치(20)에서 소요되는 시간을 분리하는 것은 두가지 방식으로 나누어질 수 있는데, 도 7에 도시된 바와 같이 첫째로, 어플리케이션 처리 시간(a + d + g)과 플랫폼 엔진 처리시간(b + c + e + f)으로부터 분리하거나, 둘째로 전체 시간(a + b + c + d + e + f + g)에서 사용자 컴퓨팅 장치에서 소요되는 시간만을 고려할 수 있다. 이는 선호도에 따라 첫번째 방식 또는 두번째 방식을 선택적으로 사용할 수 있다.
그 반면에, 복수개의 트랜잭션이 중복적으로 발생하는 상태에서, 상기 사용자 컴퓨터 장치(20)의 소요 시간을 분리하고자 하는 경우에, 도 8a에 도시된 바와 같이 웹 서비스시에 전체 사용자 체감 응답 시간에 대해서 비동기적인 형태로 개별적 트랜잭션이 중복적으로 발생하는 것이 예시적으로 나타나 있다.
도 8a에 도시된 바와 같이 복수개의 트랜잭션이 중복적으로 발생하는 상태에서는, 5가지의 절차를 진행하여 구간별 소요시간을 계산하게 된다.
1) 도 8b에 도시된 바와 같이, 각 개별 트랜잭션 응답 시간을 중복이 없이 순차적으로 발생하는 것으로 가정하여 재배열함에 의해 중복이 없는 상태로 일렬로 나열하게 된다.
2) 그후, 중복없이 일렬로 나열된 각 트랜잭션 시간의 합(이하, "T"라 함)을 전체 사용자 체감 응답 시간과 비교하여, "T"가 전체 사용자 체감 응답 시간보다 크면 상기 "T"(즉, 각 트랜잭션 시간의 합)를 기준 시간으로 설정하고, "T"가 전체 사용자 체감 응답 시간보다 작으면 상기 전체 사용자 체감 응답 시간을 기준 시간으로 설정한다.
3) 그 다음에, 도 7에 도시된 것과 동일한 방식으로, 전체 사용자 체감 응답 시간 또는 "T"에 의해 결정되는 기준 시간에서 사용자 컴퓨팅 장치(20)의 어플리케이션 소요 시간과, 네트워크 소요 시간, 서버 시간을 각 구간별로 분리하게 되는데, 만일 "T"가 전체 사용자 체감 응답 시간보다 작아서 전체 사용자 체감 응답 시간이 기준 시간으로 설정된 경우에는, 전체 사용자 응답 시간에서 각 트랜잭션 시간의 합인 "T"를 감산(사용자 체감 응답 시간 - T)하고, 그 감산 결과로 산출된 시간을 사용자 컴퓨팅 장치(20)의 어플리케이션 소요 시간에 포함시킨 상태에서, 도 7과 같이 각 시간을 구간별로 분리한다.
4) 또한, 상기 2)번 절차에서 기준값으로 설정된 기준 시간을 대상으로 하여 압축률을 계산하게 되는 바, 복수개의 트랜잭션이 순차적으로 발생하는데 소요된 시간을 "N"으로 정의하고, 트랜잭션이 중복적으로 겹쳐서 발생함에 의한 실제 체감 시간을 "M"으로 정의한 경우, "M/N"을 압축률로 정의하여 해당 압축률을 산출한다. 즉, 기준 시간을 분모로 하고, 사용자 체감 응답 시간을 분자로 하여 나누게 되면, 압축률이 계산될 수 있다.
5) 그 다음에, 상기 4)번 절차에서 구해진 압축률에 따라서 상기 3)번 절차에서 계산한 각 구간별 소요시간을 재 계산하게 되는 바, 상기 3)번 절차에서 각각 계산한 구간별 소요시간에 상기 압축률을 곱하여 구간별 시간을 재 계산한다.
여기서, 상기 압축률이란, 각 개별 트랜잭션의 소요 시간의 합이 실제 소요된사용자 체감의 응답시간보다 큰 경우, 개별 트랜잭션이 일렬로 나열되어 호출된 것처럼 가정하여 각 구간별 소요 시간을 계산하고, 실제 응답 시간에 맞게 그 비율만큼 줄여야 한다는 것을 의미하는 것이다.
이어, 상기한 바와 같이 이루어진 본 발명의 동작에 대해 도 9의 플로우차트를 참조하여 상세히 설명한다.
먼저, 관리자 컴퓨팅 장치(10)에서는 측정 대상 사용자로서 사용자 컴퓨팅 장치(20)를 설정하고, 해당 사용자 컴퓨팅 장치(20)의 측정 대상 업무를 설정하여 그 설정 정보를 데이터베이스(30)에 저장한다(단계 S10).
상기 사용자 컴퓨팅 장치(20)는 도 2a에 도시된 바와 같이 그룹 단위의 데이터가 저장될 수 있도록 하고, 도 2b에 도시된 바와 같이 그룹에 포함되는 개별 트랜잭션 단위 데이터가 저장될 수 있도록 하기 위해, 내부의 메모리 영역에 로컬 임시 데이터 저장소를 생성한 상태에서, 상기 관리자 컴퓨팅 장치(10)에서 측정 대상 업무로서 설정된 그룹 단위의 업무를 시작하게 되고, 해당 그룹 단위 업무에 대한 업무 시작 시간을 로컬 임시 데이터 저장소에 기록하여 저장한다(단계 S11).
그 상태에서, 상기 사용자 컴퓨팅 장치(20)는 상기 그룹단위 업무에 포함되는 트랜잭션에 대한 HTTP 요청 발생시에 트랜잭션 단위의 업무 시작 시간을 로컬 임시 데이터 저장소에 기록하여 저장하고(단계 S12), 트랜잭션의 HTTP 요청을 웹 어플리케이션 서버(40)에 전송한다(단계 S13).
한편, 웹 어플리케이션 서버(40)를 모니터링하는 WAS 모니터링 모듈(50)에서는, 상기 사용자 컴퓨팅 장치(20)로부터의 HTTP 요청이 서버에 인입되는 시점을 인지하게 되고(단계 S14), 그동안 상기 웹 어플리케이션 서버(40)는 상기 사용자 컴퓨팅 장치(10)에 HTTP 응답을 전달한다(단계 S15).
상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40)가 HTTP 응답을 전송하는 시점을 인지하고(단계 S16), 이를 통해 HTTP 요청의 인입 시점으로부터 HTTP 응답의 전송 시점까지의 웹 어플리케이션 서버(40)에서 소요되는 시간과, 그 서버 소요 시간을 서버 내의 각 구간(예컨대 SQL 실행 시간, 데이터베이스 대기 시간, 비지니스 로직 처리 시간, 레거시 시스템 연동 시간 등) 별로 구분한 시간을 포함하는 HTTP 트랜잭션 모니터링 정보를 형성한다
한편, 상기 사용자 컴퓨팅 장치(20)는 그 플랫폼 엔진 단을 통하여 로컬 임시 데이터 저장소에 트랜잭션 단위의 업무 종료 시간을 기록하여 저장하게 되고(단계 S17), 상기 트랜잭션을 포함하는 그룹 단위의 업무에 대한 종료 시간을 기록하여 저장한다(단계 S18).
그 상태에서, 상기 사용자 컴퓨팅 장치(20)는 해당 로컬 임시 데이터 저장소에 저장된 시간 정보(즉, 그룹 단위별, 각 트랜잭션 별 시작 시간 및 종료 시간)를 상기 웹 어플리케이션 서버(40)에 제공하고(단계 S19), 상기 웹 어플리케이션 서버(40)는 상기 사용자 컴퓨팅 장치(20)로부터 제공받은 시간 정보를 상기 데이터베이스(30)에 저장한다(단계 S20).
상기 데이터베이스(30)는 상기 웹 어플리케이션 서버(40)를 통해 전송되는 상기 사용자 컴퓨팅 장치(20)로부터의 시간 정보를 그룹 데이터 저장 테이블과 개별 트랜잭션 데이터 저장 테이블에 레코드 별로 저장한다.
또한, 상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40)의 소요 시간과 그 서버 내의 각 구간별 구분 시간을 포함하는 HTTP 트랜잭션 모니터링 정보를 상기 데이터베이스(30)에 전송하여 저장하게 되는데(단계 S21), 상기 데이터베이스(30)는 상기 HTTP 트랜잭션 모니터링 정보를 도 5에 도시된 형태로 저장하되, WAS 처리 데이터 저장 테이블에 레코드 별로 저장한다.
상기 관리자 컴퓨팅 장치(10)는 상기 데이터베이스(30)의 그룹 데이터 저장 테이블과, 개별 트랜잭션 데이터 저장 테이블, WAS 처리 데이터 저장 테이블로부터 원시 데이터로서 시간 정보 및 트랜잭션 모니터링 정보를 제공받아 조회할 수 있게 되고(단계 S22), 상기 그룹 데이터 저장 테이블과 상기 개별 트랜잭션 데이터 저장 테이블을 그룹 ID에 따라 연결(Join)하고, 상기 개별 트랜잭션 데이터 저장 테이블과 상기 WAS 처리 데이터 저장 테이블을 트랜잭션 ID에 따라 연결함에 의해, 전체의 사용자 체감 응답 시간을 구할 수 있고, 네트워크 구간과 서버 구간 등의 각 구간별로 시간을 구분할 수 있을 뿐만 아니라, 웹 어플리케이션 서버(40) 내에서의 각 처리 구간별 시간도 분리할 수 있도록 하는데, 이러한 전체의 사용자 체감 응답 시간과 각 구간별로 구분된 시간은 관리자 컴퓨팅 장치(10)의 모니터 화면을 통해 관리자가 조회할 수 있다(단계 S23).
한편, 상술한 본 발명의 실시예는 개인용 컴퓨터를 포함한 범용 컴퓨터에서 사용되는 매체에 기록될 수 있다. 상기 매체는 마그네틱 기록매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독매체(예를 들면, 씨디롬, 디브이디 등), 전기적 기록매체(예를 들면, 플레쉬 메모리, 메모리 스틱 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 기록매체를 포함한다.
상기에서 본 발명의 특정한 실시예가 설명 및 도시되었지만, 본 발명이 당업자에 의해 다양하게 변형되어 실시될 가능성이 있는 것은 자명한 일이다. 이와 같은 변형된 실시예들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안되며, 본 발명에 첨부된 청구범위 안에 속한다고 해야 할 것이다.
도 1은 본 발명에 따른 웹 서비스의 사용자 체감 성능 모니터링 시스템에 대한 구성을 나타낸 도면,
도 2a 및 도 2b는 본 발명에 따라 그룹 단위 데이터와, 개별 트랜잭션 단위 데이터가 기록되는 상태를 나타낸 도면,
도 3은 본 발명의 바람직한 실시예에 따라 그룹과 개별 트랜잭션과의 관계를 보여주는 도면,
도 4는 본 발명에 따라 웹 서비스의 발생시 경과되는 각 레이어별 단계를 도식적으로 나타낸 도면,
도 5는 본 발명에 따라 웹 어플리케이션 서버의 모니터링 모듈에 의해 데이터베이스에 저장되는 정보의 형태를 나타낸 도면,
도 6은 본 발명에 따라 데이터베이스 내에서 원시 데이터간의 연결 관계를 도식적으로 나타낸 도면,
도 7은 본 발명의 바람직한 실시예에 따라 웹 서비스의 사용자 체감 시간 측정에 있어서 사용자 컴퓨팅 장치의 소요 시간을 분리하는 상태를 보여주는 도면,
도 8a 및 도 8b는 본 발명에 따라 트랜잭션이 중복적으로 발생한 경우에 각 구간별 소요시간이 분리되는 상태를 도식적으로 나타낸 도면,
도 9는 본 발명에 따른 웹 서비스의 사용자 체감 성능 모니터링 방법에 대한 동작을 설명하는 플로우차트이다.
<도면의 주요 부분에 대한 부호의 설명>
10:관리자 컴퓨팅 장치, 20:사용자 컴퓨팅 장치,
30:데이터베이스, 40:웹 어플리케이션 서버(WAS),
50:WAS 모니터링 모듈.

Claims (12)

  1. 삭제
  2. 삭제
  3. 사용자 컴퓨팅 장치에서 사용자의 그룹 단위 업무 요청시, 상기 그룹 단위 업무가 측정 대상 설정 업무에 해당하는 경우 상기 그룹 단위 업무의 요청 시간을 그룹 단위 업무 시작 시간으로 기록하는 제1단계;
    상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무에 포함되는 트랜잭션 단위 업무의 HTTP 정보 요청을 웹 어플리케이션 서버에게 발생시, 상기 트랜잭션 단위 업무의 HTTP 정보 요청 시간을 트랜잭션 단위 업무 시작 시간으로 기록하는 제2단계;
    상기 웹 어플리케이션 서버의 모니터링 모듈에서 상기 트랜잭션 단위 업무의 HTTP 정보 요청의 서버 인입 시점을 인지하여 트랜잭션 단위 업무 서버 인입 시점을 기록하는 제2-1단계;
    상기 웹 어플리케이션 서버의 모니터링 모듈에서 상기 트랜잭션 단위 업무의 HTTP 정보 요청에 대한 HTTP 정보 응답을 상기 사용자 컴퓨팅 장치에 전달하면 상기 HTTP 정보 응답의 서버 전송 시점을 트랜잭션 단위 업무 서버 전송 시점으로 기록하는 제2-2단계;
    상기 웹 어플리케이션 서버에서 상기 트랜잭션 단위 업무의 HTTP 정보 요청에 대한 HTTP 정보 응답을 상기 사용자 컴퓨팅 장치에게 전달하면, 상기 사용자 컴퓨팅 장치에서 상기 HTTP 정보 응답을 받은 응답 시간을 트랜잭션 단위 업무 종료 시간으로 기록하는 제3단계;
    상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무 종료시, 상기 그룹 단위 업무 종료 시간을 그룹 단위 업무 종료 시간으로 기록하는 제4단계;
    상기 사용자 컴퓨팅 장치에서 저장된 그룹 단위 업무 시작 시간, 그룹 단위 업무 종료 시간, 트랙젝션 단위 업무 시작 시간 및 트랙젝션 단위 업무 종료 시간에 대한 정보를 상기 웹 어플리케이션 서버에 제공하여 데이터베이스에 저장하는 제5단계; 및
    관리자 컴퓨팅 장치에서 상기 데이터베이스를 조회하여 사용자 체감 응답 시간과 구간별 소요시간을 구분하여 조회하는 제6단계를 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
  4. 제 3 항에 있어서,
    상기 사용자 컴퓨팅 장치는 X-인터넷 기반의 웹 서비스를 진행하는 플랫폼 엔진을 사용하여 사용자 체감 응답 시간 측정을 위한 정보 처리를 수행하도록 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
  5. 제 3 항에 있어서,
    상기 제1단계 이전에, 관리자 컴퓨팅 장치에서 측정 대상 사용자의 컴퓨팅 장치와, 측정 대상 업무를 각각 설정하는 단계를 더 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
  6. 제 3 항에 있어서,
    상기 제4단계에서, 상기 사용자 컴퓨팅 장치는 임시 데이터 저장소에 기록되는 시간 정보를 상기 데이터베이스에 주기적으로 전송하고, 전송이 완료된 시간 정보를 임시 데이터 저장소에서 소거하도록 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
  7. 제 3 항에 있어서,
    상기 제5단계에서, 상기 데이터베이스에는 그룹 데이터 저장 테이블에 그룹 단위 업무 시작 시간 및 그룹 단위 업무 종료 시간을 저장하고, 개별 트랜잭션 데이터 저장 테이블에 트랜잭션 단위 업무 시작 시간 및 트랜잭션 단위 업무 종료 시간을 저장하며, 웹 어플리케이션 서버 처리 데이터 저장 테이블에 각 트랜잭션별로 트랜잭션 단위 업무 서버 인입 시점 및 트랜잭션 단위 업무 서버 전송 시점을 저장하도록 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
  8. 제 3 항에 있어서,
    복수의 트랜잭션이 중복없이 순차적으로 발생하는 경우, 상기 관리자 컴퓨팅 장치는 상기 데이터베이스의 저장 정보를 사용하여 측정 대상 업무에 대한 전체 그룹의 시작 시점과 종료 시점 사이에서 개별 트랜잭션이 차지하는 시간 이외의 나머지 시간을 상기 사용자 컴퓨팅 장치의 소요 시간으로 분리하는 단계를 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
  9. 제 3 항에 있어서,
    상기 제6단계에서, 복수의 트랜잭션이 중복적으로 발생하는 경우, 상기 관리자 컴퓨팅 장치는,
    중복된 복수의 트랜잭션을 중복없이 일렬로 재배열하는 단계와,
    각 트랜잭션 시간의 합을 사용자 체감 응답 시간과 비교하여 그 비교 결과에 따라 각 트랜잭션을 합한 시간 또는 사용자 체감 응답 시간을 기준 시간으로 설정하는 단계,
    상기 사용자 컴퓨팅 장치 내에서의 소요 시간과, 네트워크의 소요 시간, 서버 내에서의 소요 시간으로 각 구간별 시간을 분리하는 단계,
    상기 기준 시간을 사용자 체감 응답 시간과 나누어 압축률을 계산하는 단계,
    상기 분리된 구간별 소요 시간을 상기 압축률에 곱하여 구간별 시간을 재계산하는 단계를 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
  10. 제 3 항의 방법이 구현된 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
  11. 삭제
  12. 삭제
KR1020090082269A 2009-09-02 2009-09-02 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치 KR101115907B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090082269A KR101115907B1 (ko) 2009-09-02 2009-09-02 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090082269A KR101115907B1 (ko) 2009-09-02 2009-09-02 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020110144331A Division KR101218927B1 (ko) 2011-12-28 2011-12-28 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치

Publications (2)

Publication Number Publication Date
KR20110024329A KR20110024329A (ko) 2011-03-09
KR101115907B1 true KR101115907B1 (ko) 2012-02-14

Family

ID=43932186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090082269A KR101115907B1 (ko) 2009-09-02 2009-09-02 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR101115907B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102433764B1 (ko) * 2016-04-19 2022-08-19 삼성에스디에스 주식회사 서비스 모니터링 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063236A (ko) * 2004-12-07 2006-06-12 (주)인포그레스 트래픽 데이터 파일 분석 기반의 분산 애플리케이션트랜잭션 성능 분석 방법
KR100803889B1 (ko) * 2006-02-07 2008-02-14 주식회사 케이티프리텔 클라이언트 단말로 제공되는 서비스 성능 분석 방법 및시스템
KR20090051609A (ko) * 2007-11-19 2009-05-22 한국전자통신연구원 웹서비스 성능 측정장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063236A (ko) * 2004-12-07 2006-06-12 (주)인포그레스 트래픽 데이터 파일 분석 기반의 분산 애플리케이션트랜잭션 성능 분석 방법
KR100803889B1 (ko) * 2006-02-07 2008-02-14 주식회사 케이티프리텔 클라이언트 단말로 제공되는 서비스 성능 분석 방법 및시스템
KR20090051609A (ko) * 2007-11-19 2009-05-22 한국전자통신연구원 웹서비스 성능 측정장치 및 그 방법

Also Published As

Publication number Publication date
KR20110024329A (ko) 2011-03-09

Similar Documents

Publication Publication Date Title
US20200372216A1 (en) Email suggestor system
CN102591911B (zh) 位置相关实体的实时个性化推荐
US20170220672A1 (en) Enhancing time series prediction
US8078628B2 (en) Streaming faceted search
WO2020199662A1 (zh) 用于推送信息的方法和装置
US20120278354A1 (en) User analysis through user log feature extraction
US20120265746A1 (en) Capture, Aggregate, and Use Search Activities as a Source of Social Data Within an Enterprise
US10223397B1 (en) Social graph based co-location of network users
CN110580189A (zh) 生成前端页面的方法、装置、计算机设备以及存储介质
US8478715B2 (en) Extending OLAP navigation employing analytic workflows
WO2017016122A1 (zh) 一种信息推送方法及装置
CN110245145A (zh) 关系型数据库到Hadoop数据库的结构同步方法和装置
CN108712478A (zh) 一种分享寄宿应用的方法及设备
CN111414410B (zh) 数据处理方法、装置、设备和存储介质
US20130268314A1 (en) Brand analysis using interactions with search result items
CN102902740A (zh) Web服务组合推荐方法及设备
US20070233532A1 (en) Business process analysis apparatus
US20110179013A1 (en) Search Log Online Analytic Processing
US20230123573A1 (en) Automatic detection of seasonal pattern instances and corresponding parameters in multi-seasonal time series
CN110059172B (zh) 基于自然语言理解的推荐答案的方法和装置
US10311160B2 (en) Cloud search analytics
US20140188657A1 (en) Establishing Customer Attributes
KR101218927B1 (ko) 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치
CN110909072B (zh) 一种数据表建立方法、装置及设备
KR101115907B1 (ko) 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141216

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171208

Year of fee payment: 9