25
1 애플리케이션 튜닝을 통한 TCO 절감 ㈜웨어밸리 컨설팅사업본부

애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

1

애플리케이션 튜닝을 통한

TCO 절감

㈜웨어밸리 컨설팅사업본부

전 한 태

Page 2: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

2

AgendaAgenda

개요개요

DBDB 구축구축 단계단계 및및 성능성능 관리관리 요소요소

전략적전략적 데이타베이스데이타베이스 관리관리

올바른올바른 튜닝도구의튜닝도구의 선택선택

성능성능 튜닝튜닝 사례사례

기대효과기대효과

Page 3: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

3

개요 : DB 관리의 관점 변화

설계설계 구축구축 안정화안정화 성능성능

이제는이제는 안정화안정화를를 지나지나 성능성능 차원으로차원으로 !!!!!!

발전단계운영단계구현단계

ArchitectureArchitectureArchitecture 미래계획Trouble ShootingTrouble ShootingTrouble Shooting

Monitoring/AssessmentMonitoring/AssessmentMonitoring/AssessmentDatabase DesignDatabase DesignDatabase Design

DevelopmentDevelopmentDevelopment

신기술신기술

Performance TuningPerformance TuningPerformance Tuning

Performance ManagementPerformance Management

Page 4: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

4

개요 : 성능관리의 필요성

전산전산 환경의환경의 분산화분산화,,복합화복합화 가속가속

통합통합 관리관리 기반기반 확보확보 절실절실

데이타의데이타의 대용량화대용량화 및및 방대한방대한 서버서버 대수대수

GB(GB(Giga Giga Byte)Byte)에서에서 TB(TB(Tera Tera Byte)Byte) 시대로시대로

정보정보 욕구의욕구의 다양화다양화, , 양질화양질화

안정성과안정성과 성능은성능은 동일한동일한 차원의차원의 문제문제

자원자원((H/W, S/WH/W, S/W, , 인력인력 등등) ) 관리의관리의 효율화효율화

투자투자 자원의자원의 보호보호

단순단순 운영에서운영에서 성능성능 관리관리 단계로단계로 전이전이

Page 5: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

5

개요 : 성능개선 영향도

Application / Data design tuning

Application tuning (SQL)

Buy new hardware

Database design / Oracle Server tuning

Operating system tuning

잠재잠재 성능개선성능개선

Page 6: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

6

개요 : 데이타베이스 3년간 소유 비용(TCO)

자료출처 : Nerve Wire

Database1 소유비용

Database2 소유비용

가장 많은 비용이 사용되는 부분

• 매일매일 지속되는 데이타베이스 관리, 운영업무

Page 7: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

7

DB 구축 단계 관리

운영단계

분석단계

설계단계

구현단계

업무 분석

데이타 모델링

데이타 설계

어플리케이션 설계

어플리케이션 작성

- DB 구조 이해

- 옵티마이저 이해

테스트 및 성능 튜닝

- 액세스 유형 분석

- 인덱스 정책 검증

데이타 Migration

성능 모니터링

성능 평가/개선

- 평가범위 정의

- 현시스템 분석

- 데이타 수집

- 데이타 분석

- 개선방안 제시

- 적용 및 확인

Page 8: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

8

성능 관리 요소

00NETWORK 문제

C P U 문제

MEMORY 문제

SOFTWARE문제

I/O 문제

주요 성능 요소 튜닝의 방향

NETWORK부하 최소화- PACKET 수 감소- NETWORK BANDWIDTH- 전송 시간

CPU 서비스 시간 최소화

인스턴스 튜닝

MEMORY 사용량 최소화- SQL 공유- SQL 튜닝

I/O 분산 최대화- CHANNEL BANDWIDTH- DEVICE BANDWIDTH- WAIT TIME

Page 9: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

9

전략적 데이타베이스 시스템 관리

SDSM (Strategic Database System Management)SDSM (Strategic Database System Management)정보시스템정보시스템 인프라의인프라의 복잡화로복잡화로 효과적인효과적인 통합통합 관리관리 체계체계 절실절실

전문전문 인력인력 확보확보 및및 운영의운영의 한계한계

SDSM SDSM 절차도절차도

Refinement

운영시스템 현황 및 자료수집

운영절차 및 관리범위 분석

운영절차 및 자료의 표준화 Extension to All Systems

Template/Document 작성

운영시스템 적용

Page 10: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

10

전략적 데이타베이스 시스템 관리

TASK TASK 도출도출 및및 관리관리 ((사례사례))DB TASKDB TASK

01 DB 생성 오라클 제품 설치 절차도(일반).xls 일반적 오라클 제품 설치를 위한 절차도

오라클설치 절차 기술서(일반).doc 일반적 오라클 제품 설치를 위한 절차 기술서

오라클 제품 설치 절차도(Copy 생성).xls DB 파일 Copy를 통한 오라클 제품 설치를 위한 절차도

오라클설치 절차 기술서(Copy 생성).doc DB 파일 Copy를 통한 오라클 제품 설치를 위한 절차 기술서

오라클 설치 내역서.xls 오라클 설치 완료후 설치 작업 내역서

작업 일지.xls 작업 수행후 작업 항목 기록을 위한 일지.(공통)

02 Oracle User 계정 관리 Oracle User 계정 관리 절차도.xls 외부 작업에 대해 Oracle User 계정의 권한을 Open시켜주기 위한 절차도Oracle User 계정 관리 절차 기술서.doc 외부 작업에 대해 Oracle User 계정의 권한을 Open시켜주기 위한 절차 기술서Oracle User 계정 변경 처리.xls Oracle User 계정 권한을 획득하여 작업한 내역 기록.Oracle User 현황표.xls Oracle User 계정 현황표 Template.

03 신규 백업 시나리오 구축 MTTR 보고서 작성 절차도.xls MTTR 보고서를 작성하는 방법 절차도

및 적용 MTTR보고서 작성절차 기술서.doc MTTR 보고서를 작성하는 절차 기술서

백업절차 기술서.doc 오라클 백업에 대한 내용과 이를 통한 백업 전략 기술

복구절차 기술서.doc 오라클 복구에 대한 내용과 이를 통한 복구 전략 기술

04 DB 온라인/장애 모니터링 DB Health 관리 방안.ppt DB Health Monitoring을 위한 구축방안 제안서

월간보고서(Cover).doc DB System에 관한 월간 보고서 표지

월간 보고서(Contents).xls DB System에 관한 월간 보고서DB Online 모니터링 수행 절차도.xls DB 온라인/장애 모니터링을 수행하기 위한 절차도DB Online 모니터링 수행 절차 기술서.doc DB 온라인/장애 모니터링을 수행하기 위한 절차 기술서Script List.xls Script 명세서OS 성능 모니터링 (스크립트)수행 방법.doc OS 정보를 Gathering하기 위한 os_sun.sh의 수행 방법OS 성능 분석 방법.doc OS 성능 분석시 수집된 정보에 대한 각 항목을 분석하기 위한 기준을 제시Mon Manual.doc MON.xlt VBA 스크립트 프로그램 매뉴얼SQL Script 작성,추가 방법.doc Mon.xlt용 SQL Script를 작성하는 방법에 대해서 방법

[전체] 시스템 구성도 전체 시스템 구성도Network 구성도 전체 네트웍 구성도DISK 구성 현황 전체 DISK MatrixSW(Application 구성도) 전체 SW(Application) 구성도

업무 구성도 전체 업무 구성도[Node] Server 구성도(NodeName).xls Node별 System Spec.

Disk Map(NodeName).xls Node별 DISK MAP[Instance] Instance 기본 정보(NodeName-InstanceName).xls DB Instance별 기본 구성 정보

Oracle User 현황표(NodeName-InstanceName).xls DB Instance별 Oracle User 현황MON.xlt DB Instance별 Health Check를 위한 Excel Script Template.

[Date] NodeName-InstanceName-Date.xls DB Insstance의 날짜별 DB Health Gathering 정보.

05 DB 성능진단 및 튜닝 Server Tuning.pdf System Performance Tuning을 위한 기술 문서.SQL튜닝.pdf SQL Tuning을 위한 기술 문서.Tuning using BSTAT,ESTAT(영문).txt System Performace Tuning을 위한 Bstat, Estat의 사용에 관한 기술문서.DBA를 위한 BESTAT분석방법.DOC BSTAT/ESTAT Output 분석 방법 기술 문서.

06 기 타

[DB] DB TASKs

Page 11: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

11

전략적 데이타베이스 시스템 관리

정보시스템정보시스템 운영운영 시시 고려사항고려사항

제반제반 업무업무 TASK TASK 도출도출 및및 문서문서 관리의관리의 체계화체계화

운영운영 절차절차 및및 방법의방법의 표준화표준화 필요필요

운영운영 인력의인력의 R&R R&R 정의정의 및및 효율적인효율적인 업무업무 분장분장

업무업무 부하부하 및및 기술력기술력 고려고려

업무별업무별 인원인원 가동률가동률 산정산정

소요인력소요인력 산정산정

체계적인체계적인 기술력기술력 향상향상 방안방안 수립수립 및및 실행실행

타타 부서와의부서와의 협조협조 체계체계 수립수립

필요에필요에 따라따라 SM SM 업체와업체와 공조공조

운영시스템의운영시스템의 품질관리품질관리

시스템시스템 전반에전반에 걸친걸친 진단진단 및및 튜닝튜닝((주기적주기적))

추가추가 업무업무((어플리케이션어플리케이션) ) 적용적용 전전 성능성능 품질품질 검증절차검증절차 시행시행

11차차 자체자체, 2, 2차차 외부외부 전문가전문가

미래미래 계획계획 수립수립

Page 12: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

12

올바른 튜닝도구의 선택 : Orange for Oracle

고객사의고객사의 요구사항요구사항

사용하기 쉬운(easy-to-use) 데이타베이스 환경

• 도구모음 - 데이타베이스 관리의 모든 기능

• 마법사 - 구성과 핵심적인 관리 업무 분야에서 생산성 강화

• 그래픽 사용자 인터페이스 (GUI)

낮은 소유 비용을 지불케 하는 근본적인 이유

개발및 관리, 모니터링이 쉬운(easy-to-access) 도구

• 개발자를 위한 기능 : SQL, PL/SQL 개발

• DBA를 위한 기능 : 사용자, 저장공간, 권한 관리등

• 성능모니터링 기능 : 시스템 진단, 자원사용, 경합현상 관리등

Page 13: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

13

올바른 튜닝도구의 선택 : Orange for Oracle

주요특징주요특징

사용하기 쉬운 직관적이고 뛰어난 인터페이스 제공 (easy-to-use)

개발및 관리, 모니터링이 쉽다 (easy-to-access)

시스템 개발에서부터 운영업무지원에 이르기까지

현업 사용자들이 요구하는

모든 기능이 통합형으로 제공 (integrated functions)

실전을 통해 검증된 개발 및 성능 튜닝 방법론 적용 (tuning guide)

신속한 문제추적 (rapid problem tracking)

멀티스레딩으로 다중 윈도우에서 간섭효과 없음 (non blocking)

순수 국내기술

Page 14: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

14

CHAKRA올바른 튜닝도구의 선택 :

ArchitectureArchitecture

Server

Sniffing

Server Server

Broadcasting Network(HTTP,FTP,…SQL*Net)

ClientA

Client ClientCB

A CB

Client A(or B,C) Server C(or A,B)1. TNS Session Open2. SQL (query,DML,DDL,DCL,PLSQL) 3. TNS Session Close

Page 15: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

15

CHAKRA올바른 튜닝도구의 선택 :

CharacteristicsCharacteristics

No Database Connectivity

No Client Agent

No Intrusive Monitors and Middleware

No Impact Network Sniff Architecture

No Impact ORACLE Database

FunctionFunction

1. Session Monitoring2. SQL Monitoring3. Statistics Monitoring4. Alert Monitoring5. Log Searching6. Reporting

Page 16: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

16

성능 튜닝 사례

SQL 문장의 실시간 Trace정보를 Level별로 설정하여 계층별로 표현함으로써 실행계획을 쉽게 분석하고, 관련 오브젝트 정보를 즉시 확인하면서 최적의 실행계획을 수립할 수 있는 강력한 성능 최적화 가능

Page 17: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

17

성능 튜닝 사례

SQL Trace 파일에 대한 Parsing 정보와 실행계획을 One-step 실시간으로 제공하여 잘못된 Access path와 대량의 Disk I/O, 자원(CPU,Memory) 사용 현황 등을 진단을 하는데 뛰어난 성능을 발휘

Page 18: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

18

성능 튜닝 사례

Database가 Open된 후 현재까지의 SQL 중에서 I/O(버퍼, 디스크)와 실행횟수 등의 네 가지(Buffer Gets, Buffer Gets/Exec, Executions, Disk Reads) 요소를 기준으로 조합, 소트한 결과를 가지고 튜닝 범위를 설정하여성능 저하를 유발시키는 악성 SQL(Top SQL)을 쉽고 빠르게 튜닝

Page 19: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

19

성능 튜닝 사례

모든 Session에 대하여 통계치의 누적 값 또는 증가치를 옵션형태(User, Redo, Enqueue, Cache, OS, Parallel Server, SQL, Debug )에 따라 Session의 상세 정보를 분석하고 관리

Page 20: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

20

성능 튜닝 사례

Database의 Lock Holding과 Waiting 정보를Session별로 실시간 제공하여 Lock의 원인을 손쉽게진단 및 조치

Page 21: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

21

성능 튜닝 사례

Pre-Defined 또는 User-Defined SQL의 수행을 통하여 DBMS의 상태

를 진단하고 Parameter 튜닝이 가능하며 다양한 형태의 Graph와

Report로 Document 작성

Page 22: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

22

성능 튜닝 사례

세그먼트별 물리적, 논리적 위치 및 사용 현황 등 데이타 저장 공간에

대한 제반 현황을 일목요연하게 확인하고 체계적으로 관리

Page 23: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

23

성능 튜닝 사례

•• 어플리케이션어플리케이션 튜닝을튜닝을 통한통한 성능성능 개선도개선도 ((사례사례))

프로그램 명 이전(초) 이후(초) (%) 튜닝 형태고객 조회(TCSQR01_R1) 247.00 0.05 494000.00 view 바깥에서 rownum으로 필요건수만 취함고객요청 사항 레포트용 조회출력(TITIP21_R4 15.01 0.01 150100.00 Column의 변경을 변경 안하는 SQL로점소별 도선료 현황(TACPS24_R1) 300.00 0.62 48387.10 잘못된 hint및 view사용으로 인한 전체범위처리미배송현황(TPDQR15_R1) 0.35 0.00 35000.00 like를 =로 수정도착 예정 현황(TSTQR08_R1) 1.43 0.01 14300.00 join 순서 변경간선 상/하차 집계(TSTQR13_R2) 11.12 0.12 9266.67 효과적인 index사용토록거래처 조회(TCMQR04_R1) (고객번호 줄 때) 0.90 0.01 9000.00 다양한 조건을 하나의 SQL로 처리하기 위해 like사용간선 상/하차 집계(TSTQR13_R1) 24.77 0.28 8846.43 효과적인 index사용토록집하예정자료 조회(TSTQR16_R5) 1.52 0.02 7600.00 hint error를 정상적으로 작동하게 수정점소별 매출 현황(TACQR25_R1) 31.12 0.41 7590.24 between을 =로 유도예약 현황 조회(TRVQR10_R6) 62.54 0.87 7188.51 효과적인 index와 function 제거파일접수 예약등록(TPDQR43_R3_C) 0.67 0.01 6700.00 효과적인 index사용토록(일일 2000번 수행)자동 분류기 송신/수신관리 전체 click(TSTIP1 5.59 0.12 4658.33 부분범위로 처리(inline view 바깥의 rownum을 안으로)미등록현황(운송장 미등록-스캔기준집계)(TP 343.39 7.80 4402.44 like를 =로 수정 및 join order변경일자별 반품회수 현황(TITQR62_R1) 58.98 1.65 3574.55 inline view로 바깥의 조건을 view안으로 점소 일반매출 확정내역(TACQR33_R1) 3.47 0.11 3154.55 Join Order, between->=, function 제거TOP SQL1(STP_PD_WBL_EC) 131.08 4.30 3048.37 Full Scan해야 하므로 index 대신 table, and parallel잔류현황(TSTQR31_R1) 164.96 5.45 3026.79 between을 =로 유도, function을 join으로 변경미등록현황(운송장 미등록-최종상태기준)(TP 1.40 0.05 2800.00 효과적인 index및 like를 = 로 수정ES Man별 입출고 현황(TSTQR04_R2) 0.70 0.03 2333.33 효과적인 index와 function 제거운임 자동계산(TPDQR43_R2_C) 0.22 0.01 2200.00 효과적인 index를 사용토록 수정거래처별 미배송현황1(TMIQR56_R2) 127.60 5.97 2137.35 Null비교로 인한 index 사용부족, 효과적인 index사용토록배송완료 현황(TITQR42_R2) 25.60 1.27 2015.75 group를 한후에 lookup table join하도록 착지신용 운송장 수정(TPDIP45_R1) 8.00 0.40 2000.00 single index를 결합인덱스로 변경점소 일반매출 확정 (TACPS17_R1) 2.82 0.17 1658.82 Join Order, between->=, function 제거미배송현황(TPDQR15_R2) 21.79 1.34 1626.12 between을 =로 유도

Page 24: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

24

기대 효과

시스템시스템 성능성능((OLTPOLTP : : 응답시간응답시간, , DSSDSS : : 생산성생산성) ) 개선개선

사용자사용자 만족도만족도 향상향상

운영운영 시스템의시스템의 현재현재 수준수준 인지인지 및및 효율적효율적 대응대응 가능가능

현재현재 또는또는 잠재잠재 문제점문제점 도출도출 및및 개선개선

예측예측 가능한가능한 시스템시스템 운영운영 및및 관리가관리가 가능가능

향후향후 운영운영 시스템의시스템의 성능성능 및및 장애관리장애관리 지표지표 설정설정 가능가능

핵심핵심 기술력기술력 및및 경험경험 습득을습득을 통한통한 SkillSkill--upup

운영운영 자신감자신감 부여부여

Page 25: 애플리케이션튜닝을통한 TCO 절감 · 오라클설치내역서.xls 오라클설치완료후설치작업내역서 작업일지.xls 작업수행후작업항목기록을위한일지.(공통)

25

기대 효과

디자인

운영지원

시스템 관리

시스템 개발

교육훈련

유지보수

Oracle 9iOracle 9iStandard EditionStandard Edition

Chakra

비용절감

높은

생산성