CODEDRAGON ㆍDevelopment/Database
시스템 성능 개선영역 및 절차를 이해한다.
일반적으로 시스템 성능은 애플리케이션만을 대상으로 수행하는 것이 아닌 시스템을 구성하는 모든 구성요소를 대상으로 하여야만 한다. 그럼으로써 보다 효율적이고, 상대적인 성능개선 소요 시간 또한 줄일 수 있음을 고려하여, 주요한 성능개선 대상 영역과 수행 주체를 알아보면 다음과 같다.
· 인프라 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
· 데이터베이스 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
· 업무 영역 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
· 애플리케이션 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
· SQL 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
인프라 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
구분 |
설명 |
시스템 구성 최적화: 시스템 관리자 |
· 웹서버/애플리케이션서버/DB서버 구성 분리 · 커널 파라미터 · 디스크 컨트롤러 구성 등 |
운영체제 최적화: 시스템 관리자 |
· 시스템 자원: CPU, 메모리 등 · 커널 파라미터 · 디스크 구성 기법: Raid 수준 등 |
미들워어 최적화: 미들웨어 관리자 |
· Instance 개수 · Instance별 환경: JVM(Heap size 등), GC(Garbage Collection) 주기 · DB 연결 수: ConnectionPool 등
|
네트워크 최적화: 네트워크 관리자 |
· 네트워크 구성 · 방화벽등 네트워크 장비 등 |
데이터베이스 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
구분 |
설명 |
데이터모델 최적화: 데이터모델러 |
· 데이터 모델링 |
데이터베이스 최적화: DBA |
· 구성: 공유 메모리(Oracle의 경우 SGA), 초기 파라미터 · 물리적 구조 최적화 · 메모리 할당 최적화 · I/O 분산 최적화 · 메모리 경합 최적화 |
업무 영역 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
업무기능 최적화 |
비즈니스 아키텍트, 업무 분석가 |
업무프로세스 설계 최적화 |
업무 설계자 |
애플리케이션 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
구분 |
설명 |
언어(Java 또는 C) 최적화: 개발자 |
· 메모리 효율적 사용 · 캐싱(Caching), 락킹(Locking), 루핑(Looping) 등 · 예외(Exception) 처리 |
알고리즘: 개발자 |
- |
SQL 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다.
구분 |
담당자 |
SQL 성능튜닝 |
개발자 |
인덱스 조정 |
개발자/DBA |
'Development > Database' 카테고리의 다른 글
SQL문 표준 작성 가이드라인 (0) | 2018.12.12 |
---|---|
데이터 제어어(DCL)의 기능 (0) | 2018.12.05 |
SQL 연습 (0) | 2018.11.25 |
데이터 딕셔너리 - 오라클 데이터 베이스 (0) | 2018.11.19 |
SQL 성능개선 순서를 이해한다. - 문제 있는 SQL 식별, 옵티마이저(Optimizer) 통계 확인, 실행계획 검토, SQL 문 재구성, 인덱스 재구성, 실행계획 유지관리 (0) | 2018.11.14 |