KR101830936B1 - 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템 - Google Patents

데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템 Download PDF

Info

Publication number
KR101830936B1
KR101830936B1 KR1020170151349A KR20170151349A KR101830936B1 KR 101830936 B1 KR101830936 B1 KR 101830936B1 KR 1020170151349 A KR1020170151349 A KR 1020170151349A KR 20170151349 A KR20170151349 A KR 20170151349A KR 101830936 B1 KR101830936 B1 KR 101830936B1
Authority
KR
South Korea
Prior art keywords
performance
database
application
information
unit
Prior art date
Application number
KR1020170151349A
Other languages
English (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 KR1020170151349A priority Critical patent/KR101830936B1/ko
Application granted granted Critical
Publication of KR101830936B1 publication Critical patent/KR101830936B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템에 관한 것으로서, 데이터베이스를 관리하고 애플리케이션이 동작하는 환경을 제공하며, UI(User Interface)부를 통해 다양한 사용자와 인터페이스되며, 유닉스(UNIX) 또는 리눅스(Linux) 운영체제를 갖는 웹기반 플랫폼; 상기 플랫폼으로부터 동작을 위한 환경을 제공받되 그 자체가 기본적인 동작을 실행하는 응용프로그램이며, 데이터베이스 및 애플리케이션 성능정보와 연계하여 이들의 성능 개선을 위한 튜닝을 수행 및 관리하는 성능개선 프레임워크;를 포함하며, 상기 웹기반 플랫폼은, 상기 성능개선 프레임워크와 연계되어 데이터베이스 및 애플리케이션 관련 정보를 제공하는 것으로서, 데이터베이스 관련 성능정보가 기록된 데이터베이스관리DB와 애플리케이션 관련 현황 및 성능정보가 기록된 앱관리DB를 갖는 DB부;를 포함하고, 상기 성능개선 프레임워크는, 상기 DB부로부터 데이터베이스와 애플리케이션 관련 성능정보를 불러들여 성능 데이터를 수집하고 성능기준요소에 기초하여 성능개선 타겟을 설정하고 성능 이슈를 진단하는 성능정보 수집 및 진단모듈; 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 성능개선 이슈가 발생되는 경우 성능개선을 위한 튜닝을 자동 실행하고 검증하는 성능정보 튜닝모듈; 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 실시간 모니터링을 통해 추적관리하고 성능개선 현황을 관리하며, 데이터베이스와 애플리케이션 관련 성능정보를 통합 관리하는 성능통합 관리모듈;을 포함하는 것을 특징으로 한다.
본 발명에 따르면, 데이터베이스와 애플리케이션에 대한 성능정보 및 튜닝 이력을 축적하여 다양한 분석환경을 제공할 수 있고, 튜닝된 성능정보를 기반으로 안정된 서비스를 제공함은 물론 업무 생산성을 향상시킬 수 있으며, 성능 점검을 통한 안정적이고 효율적인 시스템 운영을 가능하게 하며, 개발과정에서 누구나 쉽게 성능개선을 위한 튜닝을 실행할 수 있는 기반인프라를 구현할 수 있다.

Description

데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템{Performance Improving System Based Web for Database and Application}
본 발명은 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템에 관한 것으로서, 더욱 상세하게는 성능개선 프레임워크를 기반으로 성능 이슈를 진단하고, 데이터베이스와 애플리케이션의 성능개선에 대한 튜닝이 편리하도록 성능관련 정보를 연계하여 튜닝을 실행함은 물론 성능개선 전과정을 통합하여 관리하며, 성능정보의 실시간 모니터링에서 성능 추적관리까지 제공하는 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템에 관한 것이다.
일반적으로 데이터베이스는 그 내용을 쉽게 접근하여 처리하고 갱신할 수 있도록 구성된 데이터의 집합체를 의미하며, 데이터베이스관리시스템(DataBase Management System; DBMS)은 다수의 컴퓨터 사용자들이 데이터베이스 내에 데이터를 기록하거나 접근할 수 있도록 해주는 프로그램이다.
상기 DBMS는 사용자 요구사항들이나 다른 프로그램의 요구사항들을 관리함으로써 사용자들이나 다른 프로그램들이 실제로 특정 데이터가 저장매체의 어느 곳에 저장되어 있는지를 알지 못하더라도 그 데이터를 이용할 수 있도록 해주며, 사용자 요구사항들을 처리함에 있어 DBMS는 데이터의 무결성과 보안성을 보장한다.
최근에는 빅데이터의 활용성이 커짐에 따라 데이터베이스가 대형화되는 추세인데, 이렇게 데이터베이스가 대형화될수록 시스템의 성능문제는 매우 중요한 논점이 될 수 있으며, 데이터베이스 시스템을 효율적으로 사용하기 위해서는 적절한 튜닝이 필요하다.
상기한 데이터베이스 튜닝은 지식 집약적 분야이기 때문에 버퍼 풀 크기, 자료구조 등 여러 가지 요소에 기초하여 튜닝 결정을 내려야 하는데, 현대의 기업들은 IT 시스템의 속도가 저하되는 경우 서버의 수를 늘리고 메모리의 용량을 늘리는 데에만 집중하고 있으며, 정작 DBMS를 정기적으로 관리하고 성능을 최적화하려는 노력은 하지 않고 있는 실정이다.
하지만, 최근에는 데이터베이스의 관리가 정보처리과정에 있어 매우 중요한 요소임을 인지하고 있고, 데이터베이스의 효과적인 운영을 위한 노력 및 연구개발 등이 이루어지고 있으며, 예를 들면 데이터베이스의 성능을 튜닝할 수 있는 소프트웨어 도구를 개발하려는 노력이 이루어지고 있다.
그러나, 다양한 데이터베이스의 환경적 요인은 물론 데이터베이스에 존재하는 데이터의 물리적, 논리적 상황에 따라 문제 해결을 위한 튜닝 기술은 달라질 수 있는 관계로 데이터베이스의 성능 저하 문제를 종합적으로 해결할 수 있는 데이터베이스 성능 튜닝기술은 아직 제시되지 못하고 있다.
또한, 데이터베이스의 성능에 대해 모니터링을 시도하고 있는데, DBMS가 생성하는 데이터베이스 성능 데이터에 대한 적절한 가공없이 선택된 일부의 데이터를 단순히 제공하는데 그치고 있는 실정이며, 다수의 데이터베이스들을 동시에 모니터링할 수 있는 수단을 제공하지 못하고 있기 때문에 하나의 데이터베이스를 모니터링할 경우 다른 데이터베이스들에 대한 모니터링 프로세스들은 모두 백 그라운드로 숨어버려 다수의 데이터베이스들을 구비한 정보처리시스템에 대한 전체적인 튜닝을 위한 정보를 제공하기가 어렵다.
한편, 스마트폰 등 모바일 기술의 발전에 의해 애플리케이션의 활용도가 증대되고 있는 추세인데, 애플리케이션은 특정한 업무를 수행하기 위해 고안된 일련의 컴퓨터 프로그램 집합으로서, 일반적인 응용프로그램이라 하며, 보다 넓은 의미로는 컴퓨터 장비인 시스템을 이용하여 목적한 업무를 수행하기 위한 프로그램이라 할 수 있다.
이러한 애플리케이션 또한 상술한 데이터베이스와 같이 정보처리의 흐름을 갖는 것으로서, 성능 저하 문제를 종합적으로 해결할 수 있는 기술 및 도구가 요구되고 있는 실정에 있다.
대한민국 등록특허공보 제10-1331452호 대한민국 등록특허공보 제10-0344640호 대한민국 공개특허공보 제10-2011-0035861호
본 발명은 상술한 종래의 문제점을 해소 및 이를 감안하여 안출된 것으로서, 성능개선 프레임워크를 기반으로 성능 이슈를 진단하고, 데이터베이스와 애플리케이션의 성능개선에 대한 튜닝이 편리하도록 성능관련 정보를 연계하여 튜닝을 실행함은 물론 성능개선 전과정을 통합 관리하며, 성능정보의 실시간 모니터링에서 성능 추적관리까지 원 솔루션(One-Solution)을 제공하는 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템을 제공하는데 그 목적이 있다.
본 발명은 데이터베이스와 애플리케이션에 대한 성능정보 및 튜닝이력을 축적하여 다양한 분석환경을 제공할 수 있도록 구성함으로써 업무 생산성을 향상시킬 수 있도록 하며, 성능 점검을 통한 안정적이고 효율적인 시스템 운영을 가능하게 하며, 개발과정에서 누구나 쉽게 성능개선을 위한 튜닝을 실행할 수 있도록 기반인프라를 구현할 수 있도록 한 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템을 제공하는데 그 목적이 있다.
본 발명은 성능을 좌우하는 시간과 공간의 2가지 요소에 근거하여 프로그램이 사용하는 메모리부와 프로그램을 실행하는 동안 성능통합관리부의 사용시간을 최적화할 수 있도록 하며, 사용자 편의 중심으로 구현할 수 있도록 한 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템을 제공하는데 그 목적이 있다.
상기의 목적을 달성하기 위한 본 발명에 따른 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템은, 데이터베이스와 애플리케이션 관련 성능정보를 웹기반 하에서 프로세스 처리하여 성능 개선하기 위한 웹기반 성능개선 시스템에 있어서, 데이터베이스를 관리하고 애플리케이션이 동작하는 환경을 제공하며, UI(User Interface)부를 통해 다양한 사용자와 인터페이스되며, 유닉스(UNIX) 또는 리눅스(Linux) 운영체제를 갖는 웹기반 플랫폼; 상기 플랫폼으로부터 동작을 위한 환경을 제공받되 그 자체가 기본적인 동작을 실행하는 응용프로그램이며, 데이터베이스 및 애플리케이션 성능정보와 연계하여 이들의 성능 개선을 위한 튜닝을 수행 및 관리하는 성능개선 프레임워크;를 포함하며, 상기 웹기반 플랫폼은, 상기 성능개선 프레임워크와 연계되어 데이터베이스 및 애플리케이션 관련 정보를 제공하는 것으로서, 데이터베이스 관련 성능정보가 기록된 데이터베이스관리DB와 애플리케이션 관련 현황 및 성능정보가 기록된 앱관리DB를 갖는 DB부;를 포함하고, 상기 성능개선 프레임워크는, 상기 DB부로부터 데이터베이스와 애플리케이션 관련 성능정보를 불러들여 성능 데이터를 수집하고 성능기준요소에 기초하여 성능개선 타겟을 설정하고 성능 이슈를 진단하는 성능정보 수집 및 진단모듈; 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 성능개선 이슈가 발생되는 경우 성능개선을 위한 튜닝을 자동 실행하고 검증하는 성능정보 튜닝모듈; 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 실시간 모니터링을 통해 추적관리하고 성능개선 현황을 관리하며, 데이터베이스와 애플리케이션 관련 성능정보를 통합 관리하는 성능통합 관리모듈;을 포함하는 것을 특징으로 한다.
여기에서, 상기 성능정보 수집 및 진단모듈은, 상기 데이터베이스관리DB로부터 데이터베이스 성능정보를 불러들여 수집하는 데이터베이스정보 수집부; 상기 앱관리DB로부터 애플리케이션 성능정보를 불러들여 수집하는 앱정보 수집부; 상기 데이터베이스정보 수집부와 앱정보 수집부로부터 수집된 데이터베이스와 애플리케이션 성능정보를 전달받아 카테고리별로 이들의 성능정보를 각각 분리하여 기록하는 카테고리별 메모리부; 상기 수집된 데이터베이스와 애플리케이션 성능정보를 통해 이들의 사용시간별로 실행된 성능기준요소를 측정하여 성능 이슈를 진단하는 성능개선 진단부;를 포함하도록 구성할 수 있다.
여기에서, 상기 성능정보 튜닝모듈은, 상기 데이터베이스와 애플리케이션의 성능정보에 대해 SQL(Structured Query Language) 실행을 통해 데이터베이스와 애플리케이션 성능정보에 접근하여 접근경로(Access Path)를 분석함과 더불어 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 자동 분석하는 접근경로 및 문제요인 분석부; 상기 접근경로 및 문제요인 분석부를 통해 분석된 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 튜닝하여 개선하는 성능개선 튜닝부; 상기 성능개선 튜닝부에서의 튜닝에 의해 개선된 데이터베이스와 애플리케이션 성능정보를 테스트하여 사전에 성능을 검증하는 성능테스트 검증부;를 포함하도록 구성할 수 있다.
여기에서, 상기 성능통합 관리모듈은, 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 시스템 통계별, 운영체제 통계별, 이벤트별, 시간대별로 실시간 모니터링하여 추적 관리하는 성능 모니터링부; 상기 성능정보 수집 및 진단모듈에서의 성능정보 수집 및 진단시 기준 임계치를 초과하는 프로세스상의 오브젝트를 추출하여 성능개선을 위한 튜닝대상으로 설정 및 이를 관리하는 튜닝대상 관리부; 상기 성능정보 튜닝모듈에서 실행되는 성능개선 진행 현황을 관리하는 개선현황 관리부;를 포함하도록 구성할 수 있다.
여기에서, 상기 성능기준요소는, CPU, 메모리, 디스크 I/O, 네트워크 I/O, 응답시간 중에서 어느 1종 또는 2종 이상일 수 있다.
여기에서, 상기 UI부는, 상기 성능정보 튜닝모듈과 개발자와의 사용자 인터페이스를 통해 개발자가 데이터베이스와 애플리케이션 관련 성능정보에 대해 셀프 튜닝을 실시할 수 있도록 지원하는 셀프튜닝 UI부; 상기 성능정보 수집 및 진단모듈과 인증자(C&A)와의 사용자 인터페이스를 통해 데이터베이스와 애플리케이션 관련 성능진단정보를 관리할 수 있도록 지원하는 성능진단관리 UI부; 상기 성능통합 관리모듈과 IT관리자와의 사용자 인터페이스를 통해 튜닝대상이나 개선현황을 관리할 수 있도록 지원하는 성능현황관리 UI부 를 포함하도록 구성할 수 있다.
여기에서, 상기 접근경로 및 문제요인 분석부는, SQL 실행시 각 오브젝트에서 사용되는 인덱스 정보를 생성하고 성능 이슈가 되는 오브젝트 단위의 인덱스 정보를 제공하여 접근경로를 분석 및 성능 변화를 추적하도록 지원하며; 상기 성능개선 튜닝부는, SQL 실행 후에 SQL 플랜(plan) 및 바인드(bind) 변수값을 확인하고, SQL를 변경 실행하면서 성능개선을 실행하도록 지원하는 구성을 갖게 할 수 있다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
본 발명에 따르면, 웹기반하에서 성능개선 프레임워크를 기반으로 성능 이슈를 진단하고, 데이터베이스와 애플리케이션의 성능개선에 대한 튜닝이 편리하도록 성능관련 정보를 연계하여 튜닝을 실행함은 물론 성능개선 전과정을 통합 관리하며, 성능정보의 실시간 모니터링에서 성능 추적관리까지 원 솔루션(One-Solution)을 제공할 수 있다.
본 발명은 데이터베이스와 애플리케이션에 대한 성능정보 및 튜닝이력을 축적하여 다양한 분석환경을 제공할 수 있고, 튜닝된 성능정보를 기반으로 안정된 서비스를 제공함은 물론 업무 생산성을 향상시킬 수 있으며, 성능 점검을 통한 안정적이고 효율적인 시스템 운영을 가능하며, 개발과정에서 누구나 쉽게 성능개선을 위한 튜닝을 실행할 수 있는 기반인프라를 구현할 수 있다.
본 발명은 성능을 좌우하는 시간과 공간의 2가지 요소에 근거하여 프로그램이 사용하는 메모리부와 프로그램을 실행하는 동안 성능통합관리부의 사용시간을 최적화할 수 있으며, 사용자 편의 중심으로 구현할 수 있다.
도 1은 본 발명의 실시예에 따른 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템을 나타낸 개략적 구성도이다.
도 2는 본 발명의 실시예에 따른 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템을 나타낸 상세 구성도이다.
도 3은 본 발명의 실시예에 따른 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 방법을 나타낸 순서도이다.
본 발명에 대해 첨부한 도면을 참조하여 바람직한 실시예를 설명하면 다음과 같으며, 이와 같은 상세한 설명을 통해서 본 발명의 목적과 구성 및 그에 따른 특징들을 보다 잘 이해할 수 있게 될 것이다.
본 발명의 실시예에 따른 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템은, 도 1 및 도 2에 나타낸 바와 같이, 웹기반 플랫폼(100)과 성능개선 프레임워크(200)를 포함하는 구성으로 이루어진다.
상기 웹기반 플랫폼(100)은 클라이언트가 인터넷 웹 브라우저 또는 모바일 앱을 통해 접속할 수 있는 사이버공간 또는 서버라 할 수 있다.
상기 웹기반 플랫폼(100)은 데이터베이스를 관리하고 애플리케이션이 동작하는 환경을 제공하며, UI(User Interface)부(110)를 통해 다양한 사용자와 인터페이스 가능하도록 구비되며, 유닉스(UNIX) 또는 리눅스(Linux) 운영체제로 운영된다.
상기 웹기반 플랫폼(100)은 상기 성능개선 프레임워크(200)와 연계되어 데이터베이스 및 애플리케이션 관련 정보를 제공할 수 있도록 구비되는 DB부(120)를 포함한다.
이때, 상기 DB부(120)는 데이터베이스 관련 성능정보가 기록된 데이터베이스관리DB(121)와, 애플리케이션 관련 현황 및 성능정보가 기록된 앱관리DB(122)가 구비된다.
상기 성능개선 프레임워크(200)는 상기 플랫폼(100)으로부터 동작을 위한 환경을 제공받되 그 자체가 기본적인 동작을 실행하는 응용프로그램이며, 상기 DB부(120)를 통해 데이터베이스 및 애플리케이션 성능정보와 연계하여 이들의 성능 개선을 위한 튜닝을 수행 및 관리하기 위한 구성요소이다.
상기 성능개선 프레임워크(200)는 상기 DB부(120)로부터 데이터베이스와 애플리케이션 관련 성능정보를 불러들여 성능 데이터를 수집하고 성능기준요소에 기초하여 성능개선 타겟을 설정하고 성능 이슈를 진단하는 성능정보 수집 및 진단모듈(210)과, 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 성능개선 이유가 발생되는 경우 성능개선을 위한 튜닝을 자동 실행하고 검증하는 성능정보 튜닝모듈(220)과, 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 실시간 모니터링을 통해 추적관리하고 성능개선 현황을 관리하며, 데이터베이스와 애플리케이션 관련 성능정보를 통합 관리하는 성능통합 관리모듈(230)을 포함하도록 구성할 수 있다.
이때, 상기 성능정보 수집 및 진단모듈(210)은 상기 데이터베이스관리DB(121)로부터 데이터베이스 성능정보를 불러들여 수집하는 데이터베이스정보 수집부(211)와, 상기 앱관리DB(122)로부터 애플리케이션 성능정보를 불러들여 수집하는 앱정보 수집부(212)와, 상기 데이터베이스정보 수집부(211)와 앱정보 수집부(212)로부터 수집된 데이터베이스와 애플리케이션 성능정보를 전달받아 카테고리별로 이들의 성능정보를 각각 분리하여 기록하는 카테고리별 메모리부(213), 및 상기 수집된 데이터베이스와 애플리케이션 성능정보를 통해 이들의 사용시간별로 실행된 성능기준요소를 측정하여 성능 이슈를 진단하는 성능개선 진단부(214)를 포함한다.
상기 성능기준요소는 시스템상의 CPU, 메모리, 디스크 I/O, 네트워크 I/O, 응답시간 중에서 어느 1종 또는 2종 이상이 될 수 있다.
상기 성능정보 튜닝모듈(220)은 상기 데이터베이스와 애플리케이션의 성능정보에 대해 SQL(Structured Query Language) 실행을 통해 데이터베이스와 애플리케이션 성능정보에 접근하여 접근경로(Access Path)를 분석함과 더불어 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 자동 분석하는 접근경로 및 문제요인 분석부(221)와, 상기 접근경로 및 문제요인 분석부(221)를 통해 분석된 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 튜닝하여 개선하는 성능개선 튜닝부(222)부, 및 상기 성능개선 튜닝부(222)에서의 튜닝에 의해 개선된 데이터베이스와 애플리케이션 성능정보를 테스트하여 사전에 성능을 검증하는 성능테스트 검증부(223)를 포함한다.
상기 SQL(Structured Query Language)은 데이터베이스를 구축하고 활용하기 위해 사용하는 언어를 의미하며, 오브젝트는 상기 SQL 실행 등 컴퓨팅 프로세스 처리시 유도된 코드 단위를 의미한다.
상기 접근경로 및 문제요인 분석부(221)는 물리데이터 모델링 기법을 이용한 분석을 실시하여 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 자동 분석할 수 있다.
상기 접근경로 및 문제요인 분석부(221)는 데이터베이스의 활용을 위한 SQL 실행시 각 오브젝트에서 사용되는 인덱스 정보를 생성하고 성능 이슈가 되는 오브젝트 단위의 인덱스 정보를 제공함으로써 접근경로를 분석 및 성능 변화를 추적하도록 지원할 수 있다.
상기 성능개선 튜닝부(222)는 테이터베이스에서 사용자가 실행한 SQL의 SQL문(예를 들면, SELECT, UPDATE, INSERT, DELETE 등)을 분석하여 성능을 발휘할 수 있도록 데이터베이스 접근 튜닝기법으로 성능개선을 위한 튜닝을 실시할 수 있다.
상기 성능개선 튜닝부(222)는 성능기준요소를 기준하여 이들 자원의 성능정보를 수집하고 분석하는 성능기준요소 경합 튜닝기법으로 성능개선을 위한 튜닝을 실시할 수 있으며, 성능기준요소의 성능개선을 수행함으로써 데이터베이스와 애플리케이션의 성능을 개선할 수 있다.
상기 성능개선 튜닝부(222)는 데이터베이스의 활용을 위한 SQL 실행 후에 SQL 플랜(plan) 및 바인드(bind) 변수값을 확인하고, SQL를 변경 실행하면서 성능개선을 실행하도록 지원할 수 있다.
상기 성능개선 튜닝부(222)는 개발자가 상기 UI부(110)를 통해 접속하여 SQL를 변경 실행하면서 성능개선을 실행하도록 사용자 환경을 지원할 수 있는데, 이를 통해 개발과정에서도 누구나 쉽게 성능개선을 위한 튜닝을 실행할 수 있게 하는 장점을 제공할 수 있다.
상기 성능통합 관리모듈(230)은 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 시스템 통계별, 운영체제 통계별, 이벤트별, 시간대별로 실시간 모니터링하여 추적 관리하는 성능 모니터링부(231)와, 상기 성능정보 수집 및 진단모듈(210)에서의 성능정보 수집 및 진단시 기준 임계치를 초과하는 프로세스상의 오브젝트를 추출하여 성능개선을 위한 튜닝대상으로 설정 및 이를 관리하는 튜닝대상 관리부(232), 및 상기 성능정보 튜닝모듈(220)에서 실행되는 성능개선 진행 현황을 관리하는 개선현황 관리부(233)를 포함한다.
상기 UI부(110)는 상기 성능정보 튜닝모듈(220)과 개발자와의 사용자 인터페이스를 통해 개발자가 데이터베이스와 애플리케이션 관련 성능정보에 대해 셀프 튜닝을 실시할 수 있도록 지원하는 셀프튜닝 UI부(111)와, 상기 성능정보 수집 및 진단모듈(210)과 인증자(C&A)와의 사용자 인터페이스를 통해 데이터베이스와 애플리케이션 관련 성능진단정보를 관리할 수 있도록 지원하는 성능진단관리 UI부(112), 및 상기 성능통합 관리모듈(230)과 IT 관리자와의 사용자 인터페이스를 통해 데이터베이스와 애플리케이션에 대한 튜닝대상이나 개선현황을 관리할 수 있도록 지원하는 성능현황관리 UI부(113)를 포함하도록 구성할 수 있다.
한편, 본 발명의 실시예에 따른 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템을 통해 이루어질 수 있는 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 방법에 대해 도 3을 참조하여 설명하면 다음과 같다.
본 발명의 실시예에 따른 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 방법은 기본적으로 데이터베이스관리DB와 앱관리DB를 갖는 웹기반 플랫폼과, 상기 플랫폼으로부터 동작을 위한 환경을 제공받되 그 자체가 기본적인 동작을 실행하는 응용프로그램이며 데이터베이스 및 애플리케이션 성능정보와 연계하여 이들의 성능 개선을 위한 튜닝을 수행 및 관리하는 성능개선 프레임워크를 포함하는 웹기반 성능개선 시스템에 의해 실행된다.
도 3에 나타낸 바와 같이, 상기 성능개선 프레임워크에서는 상기 데이터베이스관리DB와 앱관리DB로부터 데이터베이스와 애플리케이션 성능정보를 불러들여 수집하되, 카테고리별로 이들의 성능정보를 각각 분리하여 카테고리별DB에 기록한다(S1).
이때, 상기 데이터베이스와 애플리케이션은 프로세스의 처리를 위한 정보에 해당하는 것으로서, 처리과정에 따라 데이터베이스와 애플리케이션의 성능정보를 함께 수집 또는 각각 개별적으로 수집할 수 있다.
상기 성능개선 프레임워크에서는 상기 카테고리별DB에 기록된 카테고리별 데이터베이스와 애플리케이션 성능정보를 활용하여 상기 성능정보의 사용시간대별로 실행된 성능기준요소를 측정하여 성능 이슈를 진단한다(S2).
이때, 상기 성능기준요소는 CPU, 메모리, 디스크 I/O, 네트워크 I/O, 응답시간 중에서 어느 1종 또는 2종 이상일 수 있다.
예를 들면, 데이터베이스와 애플리케이션의 사용에 따른 CPU의 수행시간을 과다하게 사용하거나 각종 I/O을 과다하게 사용하는 부분이 대상이 될 수 있고, 이렇게 성능기준요소를 과다하게 사용하는 SQL이 대상이 될 수 있으며, 이를 통해 데이터베이스와 애플리케이션의 성능정보에 대한 성능 이슈를 진단할 수 있다.
여기서, 상기 성능개선 프레임워크에서는 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 사용시간대별로 실시간 모니터링하여 추적 및 관리하고, 상기와 같이 성능 이슈를 진단함과 더불어 시스템 통계별, 운영체제 통계별, 이벤트별로도 실시간 모니터링하여 추적 및 관리할 수 있으며, 이를 통해 성능 이슈를 진단할 수 있다.
여기서, 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 성능 이슈 진단시에는 설정기준을 두고 임계치를 초과하는 프로세스상의 오브젝트를 추출하여 성능개선을 위한 튜닝대상으로 설정하고 관리할 수 있다.
상기 성능개선 프레임워크에서는 상기 데이터베이스와 애플리케이션의 성능 이슈 진단에 의해 성능 이슈가 발생되면, 데이터베이스와 애플리케이션의 성능정보에 대해 SQL 실행에 따른 프로세스 처리를 통해 데이터베이스와 애플리케이션의 성능 이슈가 발생된 해당 성능정보에 접근하여 접근경로를 분석함과 더불어 성능 이슈가 발생된 해당 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 분석한다(S3).
또한, 상기 데이터베이스와 애플리케이션의 성능 이슈 진단시 성능 이슈가 발생되지 않으면, SQL 실행에 따른 데이터베이스와 애플리케이션 성능정보의 사용시간별로 접근하여 사용시간별 접근경로를 분석함과 더불어 사용시간별로 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 분석한다.
이때, 상기 데이터베이스와 애플리케이션의 성능 이슈가 발생된 성능정보의 접근경로 분석시에는 SQL 실행시 각 오브젝트에서 사용되는 인덱스 정보를 생성하고 성능 이슈가 되는 오브젝트 단위의 인덱스 정보를 제공함으로써 접근경로를 분석할 수 있다.
또한, 상기 성능 이슈가 발생된 해당 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인 분석시, 물리데이터 모델링 기법을 이용한 분석을 실시하여 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 분석할 수 있다.
상기 물리데이터 모델링 기법은 데이터베이스를 분석하고 정의해서 모델링하는 기법의 하나로서, 논리데이터모델을 사용하고자 하는 DBMS(데이터베이스관리시스템)의 특성을 고려하여 데이터베이스 저장구조를 물리적데이터 모델로 변환하는 것이며, DBMS 관점에서 오브젝트로 생성하는 설계기법을 제공하는 것이다.
상기 성능개선 프레임워크에서는 상기 데이터베이스와 애플리케이션 성능정보의 분석에 따라 문제요인이 발생되면, 문제요인이 발생된 해당 데이터베이스와 애플리케이션 성능정보에 대해 튜닝을 실행하여 개선하는 작업을 한다(S4).
이때, 상기 데이터베이스와 애플리케이션의 성능정보에 대한 튜닝 실행시, 데이터베이스 접근 튜닝기법을 이용하여 튜닝함으로써 성능을 개선할 수 있는데, 이는 SQL 실행시 사용되는 SELECT, UPDATE, INSERT, DELETE 등을 비롯한 각종 SQL문을 분석하여 튜닝함으로써 데이터베이스와 애플리케이션의 성능정보에 대한 성능을 개선할 수 있다.
또한, 상기 데이터베이스와 애플리케이션 성능정보에 대한 튜닝 실행시, 성능기준요소를 기준하여 이들 자원의 성능정보를 수집하고 분석하는 성능기준요소 경합 튜닝기법을 이용하여 튜닝함으로써 성능을 개선할 수 있는데, 이는 상술한 성능기준요소의 성능을 튜닝함으로써 데이터베이스와 애플리케이션의 성능정보에 대한 성능을 개선할 수 있다.
여기에서는, 상기 성능개선 프레임워크에서 자체 성능개선을 실행하는데, 개발자가 성능개선을 실행하도록 할 수도 있다.
이는 성능개선 프레임워크 측에 개발자가 UI를 이용한 접속을 통해 SQL를 실행한 후에 SQL 플랜(plan) 및 바인드(bind) 변수값을 확인하고, SQL를 변경 실행하면서 데이터베이스와 애플리케이션 성능정보에 대한 성능개선을 실행할 수 있다.
상기 성능개선 프레임워크에서 상기 문제요인이 발생된 해당 데이터베이스와 애플리케이션 성능정보의 튜닝을 통해 개선한 데이터베이스와 애플리케이션 성능정보를 테스트하여 성능 개선을 검증한다(S5).
이때, 튜닝에 의한 성능개선 검증은 성능개선 프레임워크에서 자체 프로세스 처리를 통해 데이터베이스와 애플리케이션 성능정보 튜닝에 따른 성능을 검증할 수 있으며, 때로는 성능정보 검증엔진 등의 구비 및 연계를 통해 데이터베이스와 애플리케이션 성능정보 튜닝에 따른 성능을 검증할 수 있다.
상기 성능개선 프레임워크에서는 상기 데이터베이스와 애플리케이션 성능정보에 대한 성능 개선이 검증되면 검증된 튜닝 성능정보를 적용하고, 카테고리별DB나 개별 성능정보관리DB 등에 기록하여 관리한다(S6).
이때, 상기 성능개선 프레임워크에서는 성능 개선이 검증되지 않으면 상기 S4단계로 보내 튜닝에 의한 성능 개선과정을 다시 밟도록 한다(S7).
즉, 본 발명에서는 상기한 S1 내지 S7단계를 반복 실행하며, 연속적으로 데이터베이스와 애플리케이션 관련 성능정보에 대한 성능 개선을 수행한다.
이에 따라, 본 발명은 데이터베이스와 애플리케이션에 대한 성능정보 및 튜닝 이력을 축적하여 다양한 분석환경을 제공할 수 있고, 튜닝된 성능정보를 기반으로 안정된 서비스를 제공함은 물론 업무 생산성을 향상시킬 수 있으며, 성능 점검을 통한 안정적이고 효율적인 시스템 운영이 가능할 뿐만 아니라 개발과정에서도 누구나 쉽게 성능개선을 위한 튜닝을 실행할 수 있는 기반인프라를 구현할 수 있다.
이상에서 설명한 실시예는 본 발명의 바람직한 실시예를 설명한 것에 불과하고 이러한 실시예에 극히 한정되는 것은 아니며, 본 발명의 기술적 사상과 청구범위 내에서 이 기술분야의 당해업자에 의하여 다양한 수정과 변형 또는 전환 등이 이루어질 수 있다 할 것이며, 이는 본 발명의 기술적 범위에 속한다 할 것이다.
100: 웹기반 플랫폼 110: UI부
120: DB부 200: 성능개선 프레임워크
210: 성능정보 수집 및 진단모듈 211: 데이터베이스정보 수집부
212: 앱정보 수집부 213: 카테고리별 메모리부
214: 성능개선 진단부 220: 성능정보 튜닝모듈
221: 접근경로 및 문제요인 분석부 222: 성능개선 튜닝부
223: 성능테스트 검증부 230: 성능통합 관리모듈
231: 성능 모니터링부 232: 튜닝대상 관리부
233: 개선현황 관리부

Claims (15)

  1. 데이터베이스와 애플리케이션 관련 성능정보를 웹기반 하에서 프로세스 처리하여 성능 개선하기 위한 웹기반 성능개선 시스템에 있어서,
    데이터베이스를 관리하고 애플리케이션이 동작하는 환경을 제공하며, UI(User Interface)부를 통해 다양한 사용자와 인터페이스되며, 유닉스(UNIX) 또는 리눅스(Linux) 운영체제를 갖는 웹기반 플랫폼; 상기 플랫폼으로부터 동작을 위한 환경을 제공받되 그 자체가 기본적인 동작을 실행하는 응용프로그램이며, 데이터베이스 및 애플리케이션 성능정보와 연계하여 이들의 성능 개선을 위한 튜닝을 수행 및 관리하는 성능개선 프레임워크; 를 포함하며,
    상기 웹기반 플랫폼은,
    상기 성능개선 프레임워크와 연계되어 데이터베이스 및 애플리케이션 관련 정보를 제공하는 것으로서, 데이터베이스 관련 성능정보가 기록된 데이터베이스관리DB와 애플리케이션 관련 현황 및 성능정보가 기록된 앱관리DB를 갖는 DB부; 를 포함하고,
    상기 성능개선 프레임워크는,
    상기 DB부로부터 데이터베이스와 애플리케이션 관련 성능정보를 불러들여 성능 데이터를 수집하고 성능기준요소에 기초하여 성능개선 타겟을 설정하고 성능 이슈를 진단하는 성능정보 수집 및 진단모듈; 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 성능개선 이슈가 발생되는 경우 성능개선을 위한 튜닝을 자동 실행하고 검증하는 성능정보 튜닝모듈; 상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 실시간 모니터링을 통해 추적관리하고 성능개선 현황을 관리하며, 데이터베이스와 애플리케이션 관련 성능정보를 통합 관리하는 성능통합 관리모듈; 을 포함하며,
    상기 성능정보 튜닝모듈은,
    상기 데이터베이스와 애플리케이션의 성능정보에 대해 SQL(Structured Query Language) 실행을 통해 데이터베이스와 애플리케이션 성능정보에 접근하여 접근경로(Access Path)를 분석함과 더불어 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 자동 분석하는 접근경로 및 문제요인 분석부; 상기 접근경로 및 문제요인 분석부를 통해 분석된 데이터베이스와 애플리케이션의 성능정보에 대한 문제요인을 튜닝하여 개선하는 성능개선 튜닝부; 상기 성능개선 튜닝부에서의 튜닝에 의해 개선된 데이터베이스와 애플리케이션 성능정보를 테스트하여 사전에 성능을 검증하는 성능테스트 검증부; 를 포함하는 것을 특징으로 하는 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템.
  2. 제 1항에 있어서,
    상기 성능정보 수집 및 진단모듈은,
    상기 데이터베이스관리DB로부터 데이터베이스 성능정보를 불러들여 수집하는 데이터베이스정보 수집부;
    상기 앱관리DB로부터 애플리케이션 성능정보를 불러들여 수집하는 앱정보 수집부;
    상기 데이터베이스정보 수집부와 앱정보 수집부로부터 수집된 데이터베이스와 애플리케이션 성능정보를 전달받아 카테고리별로 이들의 성능정보를 각각 분리하여 기록하는 카테고리별 메모리부;
    상기 수집된 데이터베이스와 애플리케이션 성능정보를 통해 이들의 사용시간별로 실행된 성능기준요소를 측정하여 성능 이슈를 진단하는 성능개선 진단부; 를 포함하는 것을 특징으로 하는 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템.
  3. 삭제
  4. 제 1항에 있어서,
    상기 성능통합 관리모듈은,
    상기 데이터베이스와 애플리케이션 관련 성능정보에 대해 시스템 통계별, 운영체제 통계별, 이벤트별, 시간대별로 실시간 모니터링하여 추적 관리하는 성능 모니터링부;
    상기 성능정보 수집 및 진단모듈에서의 성능정보 수집 및 진단시 기준 임계치를 초과하는 프로세스상의 오브젝트를 추출하여 성능개선을 위한 튜닝대상으로 설정 및 이를 관리하는 튜닝대상 관리부;
    상기 성능정보 튜닝모듈에서 실행되는 성능개선 진행 현황을 관리하는 개선현황 관리부; 를 포함하는 것을 특징으로 하는 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템.
  5. 제 1항에 있어서,
    상기 성능기준요소는,
    CPU, 메모리, 디스크 I/O, 네트워크 I/O, 응답시간 중에서 어느 1종 또는 2종 이상인 것을 특징으로 하는 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템.
  6. 제 1항에 있어서,
    상기 UI부는,
    상기 성능정보 튜닝모듈과 개발자와의 사용자 인터페이스를 통해 개발자가 데이터베이스와 애플리케이션 관련 성능정보에 대해 셀프 튜닝을 실시할 수 있도록 지원하는 셀프튜닝 UI부;
    상기 성능정보 수집 및 진단모듈과 인증자(C&A)와의 사용자 인터페이스를 통해 데이터베이스와 애플리케이션 관련 성능진단정보를 관리할 수 있도록 지원하는 성능진단관리 UI부;
    상기 성능통합 관리모듈과 IT관리자와의 사용자 인터페이스를 통해 튜닝대상이나 개선현황을 관리할 수 있도록 지원하는 성능현황관리 UI부; 를 포함하는 것을 특징으로 하는 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템.
  7. 제 1항에 있어서,
    상기 접근경로 및 문제요인 분석부는,
    SQL 실행시 각 오브젝트에서 사용되는 인덱스 정보를 생성하고 성능 이슈가 되는 오브젝트 단위의 인덱스 정보를 제공하여 접근경로를 분석 및 성능 변화를 추적하도록 지원하며;
    상기 성능개선 튜닝부는,
    SQL 실행 후에 SQL 플랜(plan) 및 바인드(bind) 변수값을 확인하고, SQL를 변경 실행하면서 성능개선을 실행하도록 지원하는 것을 특징으로 하는 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020170151349A 2017-11-14 2017-11-14 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템 KR101830936B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170151349A KR101830936B1 (ko) 2017-11-14 2017-11-14 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170151349A KR101830936B1 (ko) 2017-11-14 2017-11-14 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020170182445A Division KR101845208B1 (ko) 2017-12-28 2017-12-28 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 방법

Publications (1)

Publication Number Publication Date
KR101830936B1 true KR101830936B1 (ko) 2018-04-04

Family

ID=61975685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170151349A KR101830936B1 (ko) 2017-11-14 2017-11-14 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템

Country Status (1)

Country Link
KR (1) KR101830936B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102190795B1 (ko) * 2020-06-01 2020-12-14 한국사회보장정보원 사회복지정보 통합연계 관리를 지원하기 위한 연계프레임워크, 이를 이용한 사회복지정보 통합연계 관리 시스템
KR20220127443A (ko) * 2021-03-11 2022-09-20 김기창 데이터 아키텍쳐 관리 시스템
WO2024048827A1 (ko) * 2022-09-02 2024-03-07 쿠팡 주식회사 전자 장치 및 그의 애플리케이션 테스트 관리 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013149026A (ja) * 2012-01-18 2013-08-01 Canon Inc 情報処理装置、制御方法、およびそのプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013149026A (ja) * 2012-01-18 2013-08-01 Canon Inc 情報処理装置、制御方法、およびそのプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102190795B1 (ko) * 2020-06-01 2020-12-14 한국사회보장정보원 사회복지정보 통합연계 관리를 지원하기 위한 연계프레임워크, 이를 이용한 사회복지정보 통합연계 관리 시스템
KR20220127443A (ko) * 2021-03-11 2022-09-20 김기창 데이터 아키텍쳐 관리 시스템
KR102639897B1 (ko) * 2021-03-11 2024-02-22 김기창 데이터 아키텍쳐 관리 시스템
WO2024048827A1 (ko) * 2022-09-02 2024-03-07 쿠팡 주식회사 전자 장치 및 그의 애플리케이션 테스트 관리 방법

Similar Documents

Publication Publication Date Title
Rausch et al. An empirical analysis of build failures in the continuous integration workflows of java-based open-source software
Herodotou et al. Profiling, what-if analysis, and cost-based optimization of mapreduce programs
Mattoso et al. Dynamic steering of HPC scientific workflows: A survey
US9590880B2 (en) Dynamic collection analysis and reporting of telemetry data
US7792950B2 (en) Coverage analysis of program code that accesses a database
US10116534B2 (en) Systems and methods for WebSphere MQ performance metrics analysis
US20100094592A1 (en) Using Application Performance Signatures For Characterizing Application Updates
Pham et al. Using provenance for repeatability
US20090307347A1 (en) Using Transaction Latency Profiles For Characterizing Application Updates
JP6449804B2 (ja) メモリー被疑部検出のための方法およびシステム
US11537576B2 (en) Assisted problem identification in a computing system
KR101830936B1 (ko) 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템
JP2016100006A (ja) パフォーマンス試験のためのベンチマーク・アプリケーションを生成する方法および装置
Hesse et al. ESPBench: The enterprise stream processing benchmark
Antognini Troubleshooting Oracle Performance
US8850407B2 (en) Test script generation
US20160139961A1 (en) Event summary mode for tracing systems
Yoon et al. DBSeer: Pain-free database administration through workload intelligence
Qi et al. Data mining based root-cause analysis of performance bottleneck for big data workload
Ghanbari et al. A query language and runtime tool for evaluating behavior of multi-tier servers
Sharifi et al. Monitoring HPC applications in the production environment
Maplesden et al. Performance analysis using subsuming methods: An industrial case study
KR101845208B1 (ko) 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 방법
US11379444B1 (en) Data-analysis-based facility for adjusting trace fields of a database trace
Zhang et al. Getting more for less in optimized mapreduce workflows

Legal Events

Date Code Title Description
GRNT Written decision to grant