SlideShare a Scribd company logo
1 of 10
© 2009 CUBRID Co, Ltd. All rights reserved.
Chapter 1. 개발환경구성 3주차
기술본부
2013.03.29
1
© 2009 CUBRID Co, Ltd. All rights reserved.
목차
1.현실적 시스템 성능저하 주요 원인
2.시스템 성능관리
3.오라클 성능 분석 체크리스트
별첨. 금주 세미나자료
© 2009 CUBRID Co, Ltd. All rights reserved.
0. W 차장은 이렇게 일한다.(큐브리드는 어떻게 일하는가?)
요새 고민은 어떻게 피드백을 빨리 할까 입니다. 빠른 피드백의 장단점이 있겠지만 단점은 어떻게 보완 할 것인지 고민입니다.
그래도 피드백이 늦어져서 하지 말아야 할 일을 반복 하는 것 보다는 낳으니까요.
1 2
피드백(feedback, 되먹임, 되알
림, 환류, 송환)은 어떤 일로 인
해 일어난 결과가 다시 원인에
영향을 미치는 자동 제어 원리이
다.
증가된 출력을 더 증가시키는 양
성 피드백(positive feedback)과
증가된 출력을 감소시켜 다시 안
정한 상태로 되돌리는 음성 피드
백(negative feedback)으로 나눌
수 있다.
[출처] 위키페디아 -
http://ko.wikipedia.org/wiki/%ED%94%BC%EB%93%9C%EB%B0%B1
© 2009 CUBRID Co, Ltd. All rights reserved.
1. 현실적 시스템 성능저하 주요 원인
일반적인 소프트웨어 프로젝트 중 전체 시스템의 성능저하의 주요 원인은 다음과 같으며 대부분의 경우 DB와 관련된 이슈가 대다수임.
DB근간 시스템에서의 성능저하 주요 원인
• 대부분의 성능저하 주요인은 DB관련 비효율
• 성능저하의 핵심은 CPU/Memory 부하가 아닌 비 효율적인 I/O
• 당사의 수많은 성능개선 컨설팅 경험에 비추어 90% 이상이 DB처리 효율화가 핵심
– RDB에 적합한 최적화 DB Design과 Optimizer가 최고의 효율을 낼 수 있는 옵티마이징 전략과 집합개념의 고성능 SQL이 성공의
열쇠
20%
DB Config. Design
15%
5%
Applications &
DB Design
70%
CPU 부하 15%
Memory 부하
10%
기타
5%
I/O 비효율
70%
시스템 성능저하의 요인
DB설계의 문제와 응용프로그램 문제로
인한 성능저하 요인
System Design
H/W Resources
※ 별첨4. 튜닝워크샵교재v1_20040712.ppt 참고
© 2009 CUBRID Co, Ltd. All rights reserved.
2. 시스템 성능관리
구축 및 운영 System이 최적의 자원으로 최적의 성능(시간/응답속도)을 발휘할 수 있도록 설계와 구현 응용시스템을 조화롭게 유지 개
선하는 기술
• Key factor base on Performance
• H/W Related Issues
– CPU , Memory , N/W , Disk … System config resources 부족
• S/W Related Issues
– DBMS
• DB Design , Index Design , Optimizing Strategy , SQL 효율 …
– Application Architecture
• 2-Tire , 3-Tier , EJB …
• OLTP , OLAP(adhoc) , Batch …
• C , COBOL , PL/SQL , JSQL , SP …
• Business Process Requirement
– 업무 처리 방식의 문제 등
– Load Balancing 정책 등
※ 별첨4. 튜닝워크샵교재v1_20040712.ppt 참고
별첨2. 퍼포먼스 강의 자료
_(Unix Performane
Management)
© 2009 CUBRID Co, Ltd. All rights reserved.
• 오라클 성능 분석 체크리스트
3. 오라클 성능 분석 체크리스트
순서 구분 체크리스트 검토 사항 및 권고 사항
1
설계
DB 설정이 최적화 되어 있는지 검토 OLTP,DSS에 맞게 셋팅 되어 있는지
2 테이블스페이스 설계가 I/O분산이 적절히 되도록 검토 TABLE과 INDEX는 테이블스페이스 분리 할것
3 오라클 메모리 설정이 최적화 되어 있는지 검토 가용메모리의 70~80% 셋팅 현재 1.2G -> 4G로 올릴것
4 물리 설계가 최적화 되어있는지 ( 파티셔닝, IOT) 검토 응용과 Data Access Path 에 의해 결정
5 인덱스 설계가 최적화 되어 있는지 검토 응용과 Data Access Path 에 의해 결정
6
서버튜닝
메모리 구조 튜팅( Buffer Cache, Large-Pool, Log Buffer , PGA ) Buffer Cache 4G , Large 20M, PGA 1G
7 CBO Opitmizer일 경우 통계 데이터 Analyze는 충분히 샘플링 되는지 검토 잘됨
8 Disk I/O를 분산하도록 설정이 되어 있는지 SAME으로 구성할 것을 권장함
9
SQL
Access Path가 최적화 되어 있는지 검토 대부분은 잘되어 있음
10
Join Method는 옵티마이저가 업무 성격에
맞게 생성 되는지 검토( Nested Loop, Sort Merge , Hash Join)
11 NL 조인시 선행 테이블을 잘 선정하여 Access Path가 최적화 되는지 검토
12
응용
소프트 파싱을 하기 위한 데이터 바인딩을 하고 있는지 검토 prepareStatement 를 사용하여 바인딩 할것
13 부하를 줄이기 위한 응용 설정이 최적화 되어 있는지 검토
타 DBMS의 경우 다음과 같은 분석 체크리스트가 존재하며 CUBRID 분석 체크리스트도 만들 필요가 있음.
© 2009 CUBRID Co, Ltd. All rights reserved.
4. CUBRID 지식 분류체계 案
CUBRID 지식 분류체계 案
© 2009 CUBRID Co, Ltd. All rights reserved.
5. 역할별 튜닝 접근 Approach
시스템 성능 문제 발생시 역할별 튜닝 접근 방법은 다음과 같을 수 있습니다. 물론 쉬운 방법도 어려운 방법도 있습니다. 개발 단계별 접
근 방법도 분류해 볼 수 있는 방법이라고 생각합니다.
SE
DBA
개발자, SE
DBA, 개발자
DBA
DBA, 개발자
개발자, DBA, SE
© 2009 CUBRID Co, Ltd. All rights reserved.
6. 지식공유(Top down Approach) 1/2
퇴근시간
TV드라마 시청시간
개인시간
취침시간 출근시간
출근시간
© 2009 CUBRID Co, Ltd. All rights reserved.
6. 지식공유(Top down Approach) 2/2
쉬는날 평일평일

More Related Content

Similar to Chap1. 개발환경구성 3주차 20130329

Sua 정보보호관리체계 cissp_bcp&drp_강의교안
Sua 정보보호관리체계 cissp_bcp&drp_강의교안Sua 정보보호관리체계 cissp_bcp&drp_강의교안
Sua 정보보호관리체계 cissp_bcp&drp_강의교안Lee Chanwoo
 
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPgDay.Seoul
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System Kwangseob Kim
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System Kwangseob Kim
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance TuningJi-Woong Choi
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)IMQA
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기YoungSu Son
 
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How ToJi-Woong Choi
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxNeoClova
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020Jinwoong Kim
 
대규모 서비스를 가능하게 하는 기술
대규모 서비스를 가능하게 하는 기술 대규모 서비스를 가능하게 하는 기술
대규모 서비스를 가능하게 하는 기술 Hyungseok Shim
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...문기 박
 
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례형석 김
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
4-1: JMP/Python 에코시스템 성공 사례 (한얼솔루션 이광기 상무)
4-1: JMP/Python 에코시스템 성공 사례 (한얼솔루션 이광기 상무)4-1: JMP/Python 에코시스템 성공 사례 (한얼솔루션 이광기 상무)
4-1: JMP/Python 에코시스템 성공 사례 (한얼솔루션 이광기 상무)JMP Statistical Discovery
 
Quest주요솔루션소개
Quest주요솔루션소개Quest주요솔루션소개
Quest주요솔루션소개ysahn88
 

Similar to Chap1. 개발환경구성 3주차 20130329 (20)

Sua 정보보호관리체계 cissp_bcp&drp_강의교안
Sua 정보보호관리체계 cissp_bcp&drp_강의교안Sua 정보보호관리체계 cissp_bcp&drp_강의교안
Sua 정보보호관리체계 cissp_bcp&drp_강의교안
 
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ff
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
 
steeleye Replication
steeleye Replication steeleye Replication
steeleye Replication
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
 
대규모 서비스를 가능하게 하는 기술
대규모 서비스를 가능하게 하는 기술 대규모 서비스를 가능하게 하는 기술
대규모 서비스를 가능하게 하는 기술
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
4-1: JMP/Python 에코시스템 성공 사례
4-1: JMP/Python 에코시스템 성공 사례4-1: JMP/Python 에코시스템 성공 사례
4-1: JMP/Python 에코시스템 성공 사례
 
4-1: JMP/Python 에코시스템 성공 사례 (한얼솔루션 이광기 상무)
4-1: JMP/Python 에코시스템 성공 사례 (한얼솔루션 이광기 상무)4-1: JMP/Python 에코시스템 성공 사례 (한얼솔루션 이광기 상무)
4-1: JMP/Python 에코시스템 성공 사례 (한얼솔루션 이광기 상무)
 
Quest주요솔루션소개
Quest주요솔루션소개Quest주요솔루션소개
Quest주요솔루션소개
 

Chap1. 개발환경구성 3주차 20130329

  • 1. © 2009 CUBRID Co, Ltd. All rights reserved. Chapter 1. 개발환경구성 3주차 기술본부 2013.03.29 1
  • 2. © 2009 CUBRID Co, Ltd. All rights reserved. 목차 1.현실적 시스템 성능저하 주요 원인 2.시스템 성능관리 3.오라클 성능 분석 체크리스트 별첨. 금주 세미나자료
  • 3. © 2009 CUBRID Co, Ltd. All rights reserved. 0. W 차장은 이렇게 일한다.(큐브리드는 어떻게 일하는가?) 요새 고민은 어떻게 피드백을 빨리 할까 입니다. 빠른 피드백의 장단점이 있겠지만 단점은 어떻게 보완 할 것인지 고민입니다. 그래도 피드백이 늦어져서 하지 말아야 할 일을 반복 하는 것 보다는 낳으니까요. 1 2 피드백(feedback, 되먹임, 되알 림, 환류, 송환)은 어떤 일로 인 해 일어난 결과가 다시 원인에 영향을 미치는 자동 제어 원리이 다. 증가된 출력을 더 증가시키는 양 성 피드백(positive feedback)과 증가된 출력을 감소시켜 다시 안 정한 상태로 되돌리는 음성 피드 백(negative feedback)으로 나눌 수 있다. [출처] 위키페디아 - http://ko.wikipedia.org/wiki/%ED%94%BC%EB%93%9C%EB%B0%B1
  • 4. © 2009 CUBRID Co, Ltd. All rights reserved. 1. 현실적 시스템 성능저하 주요 원인 일반적인 소프트웨어 프로젝트 중 전체 시스템의 성능저하의 주요 원인은 다음과 같으며 대부분의 경우 DB와 관련된 이슈가 대다수임. DB근간 시스템에서의 성능저하 주요 원인 • 대부분의 성능저하 주요인은 DB관련 비효율 • 성능저하의 핵심은 CPU/Memory 부하가 아닌 비 효율적인 I/O • 당사의 수많은 성능개선 컨설팅 경험에 비추어 90% 이상이 DB처리 효율화가 핵심 – RDB에 적합한 최적화 DB Design과 Optimizer가 최고의 효율을 낼 수 있는 옵티마이징 전략과 집합개념의 고성능 SQL이 성공의 열쇠 20% DB Config. Design 15% 5% Applications & DB Design 70% CPU 부하 15% Memory 부하 10% 기타 5% I/O 비효율 70% 시스템 성능저하의 요인 DB설계의 문제와 응용프로그램 문제로 인한 성능저하 요인 System Design H/W Resources ※ 별첨4. 튜닝워크샵교재v1_20040712.ppt 참고
  • 5. © 2009 CUBRID Co, Ltd. All rights reserved. 2. 시스템 성능관리 구축 및 운영 System이 최적의 자원으로 최적의 성능(시간/응답속도)을 발휘할 수 있도록 설계와 구현 응용시스템을 조화롭게 유지 개 선하는 기술 • Key factor base on Performance • H/W Related Issues – CPU , Memory , N/W , Disk … System config resources 부족 • S/W Related Issues – DBMS • DB Design , Index Design , Optimizing Strategy , SQL 효율 … – Application Architecture • 2-Tire , 3-Tier , EJB … • OLTP , OLAP(adhoc) , Batch … • C , COBOL , PL/SQL , JSQL , SP … • Business Process Requirement – 업무 처리 방식의 문제 등 – Load Balancing 정책 등 ※ 별첨4. 튜닝워크샵교재v1_20040712.ppt 참고 별첨2. 퍼포먼스 강의 자료 _(Unix Performane Management)
  • 6. © 2009 CUBRID Co, Ltd. All rights reserved. • 오라클 성능 분석 체크리스트 3. 오라클 성능 분석 체크리스트 순서 구분 체크리스트 검토 사항 및 권고 사항 1 설계 DB 설정이 최적화 되어 있는지 검토 OLTP,DSS에 맞게 셋팅 되어 있는지 2 테이블스페이스 설계가 I/O분산이 적절히 되도록 검토 TABLE과 INDEX는 테이블스페이스 분리 할것 3 오라클 메모리 설정이 최적화 되어 있는지 검토 가용메모리의 70~80% 셋팅 현재 1.2G -> 4G로 올릴것 4 물리 설계가 최적화 되어있는지 ( 파티셔닝, IOT) 검토 응용과 Data Access Path 에 의해 결정 5 인덱스 설계가 최적화 되어 있는지 검토 응용과 Data Access Path 에 의해 결정 6 서버튜닝 메모리 구조 튜팅( Buffer Cache, Large-Pool, Log Buffer , PGA ) Buffer Cache 4G , Large 20M, PGA 1G 7 CBO Opitmizer일 경우 통계 데이터 Analyze는 충분히 샘플링 되는지 검토 잘됨 8 Disk I/O를 분산하도록 설정이 되어 있는지 SAME으로 구성할 것을 권장함 9 SQL Access Path가 최적화 되어 있는지 검토 대부분은 잘되어 있음 10 Join Method는 옵티마이저가 업무 성격에 맞게 생성 되는지 검토( Nested Loop, Sort Merge , Hash Join) 11 NL 조인시 선행 테이블을 잘 선정하여 Access Path가 최적화 되는지 검토 12 응용 소프트 파싱을 하기 위한 데이터 바인딩을 하고 있는지 검토 prepareStatement 를 사용하여 바인딩 할것 13 부하를 줄이기 위한 응용 설정이 최적화 되어 있는지 검토 타 DBMS의 경우 다음과 같은 분석 체크리스트가 존재하며 CUBRID 분석 체크리스트도 만들 필요가 있음.
  • 7. © 2009 CUBRID Co, Ltd. All rights reserved. 4. CUBRID 지식 분류체계 案 CUBRID 지식 분류체계 案
  • 8. © 2009 CUBRID Co, Ltd. All rights reserved. 5. 역할별 튜닝 접근 Approach 시스템 성능 문제 발생시 역할별 튜닝 접근 방법은 다음과 같을 수 있습니다. 물론 쉬운 방법도 어려운 방법도 있습니다. 개발 단계별 접 근 방법도 분류해 볼 수 있는 방법이라고 생각합니다. SE DBA 개발자, SE DBA, 개발자 DBA DBA, 개발자 개발자, DBA, SE
  • 9. © 2009 CUBRID Co, Ltd. All rights reserved. 6. 지식공유(Top down Approach) 1/2 퇴근시간 TV드라마 시청시간 개인시간 취침시간 출근시간 출근시간
  • 10. © 2009 CUBRID Co, Ltd. All rights reserved. 6. 지식공유(Top down Approach) 2/2 쉬는날 평일평일