본문 바로가기
스터디북

<11/06> 사랑은 타이밍

by 파이어볼러 2015. 11. 6.

Test and Tuning


성능이란

response time + concureent through-put 확장성(스케빌리티) 고려 해야함


service time(수행시간) + latency(or wait) time(지연시간)<이 훨씬 많은 건수를 가짐


CPU 병목현상 CPU에 경합 발생 업무량에 맞춰서 CPU 개수를 다양하게 선택해야함


SMP 대용량 CPU 서버(36개) multiple process


사진 1


request network time 패킷 움직이는 시간 


transaction time 짧을수록 좋다


response network time


v$sysmetric 조회하면 현재 wait time 과 cpu time의 비율을 알려준다


이 비율 자체가 응답시간을 결정하는 요소다 


성능이 좋다? 사용자가 체감할 수 있는 수치


성능 저하 요인


SQL / App(어플리케이션 로직) / DB design(80%)


 - I/O가 가장 많이 차지하는 요인


DB 설계 정규화가 잘못되면 중복된 데이터를 읽게 되니 가장 큰 문제점이다


SQL의 처리순서에 입각해서 쿼리를 짜야 좋은 성능의 SQL을 짤 수 있다


옵티마이저의 튜닝을 통해 실행계획을 바꿀 수 있다.


SCOTT@orcl>ed

Wrote file afiedt.buf


  1  select ename, e.deptno, d.deptno, d.dname

  2  from emp e, dept d

  3  where e.deptno = d.deptno

  4* and ename like 'A%'

SCOTT@orcl>/


Execution Plan

----------------------------------------------------------

Plan hash value: 3625962092


----------------------------------------------------------------------------------------

| Id  | Operation                    | Name    | Rows  | Bytes | Cost (%CPU)| Time     |

----------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT             |         |     1 |    22 |     4   (0)| 00:00:01 |

|   1 |  NESTED LOOPS                |         |       |       |            |         |

|   2 |   NESTED LOOPS               |         |     1 |    22 |     4   (0)| 00:00:01 |

|*  3 |    TABLE ACCESS FULL         | EMP     |     1 |     9 |     3   (0)| 00:00:01 |

|*  4 |    INDEX UNIQUE SCAN         | PK_DEPT |     1 |       |     0   (0)| 00:00:01 |

|   5 |   TABLE ACCESS BY INDEX ROWID| DEPT    |     1 |    13 |     1   (0)| 00:00:01 |

----------------------------------------------------------------------------------------

프리패칭 기능과도 연관있는 2중 nested loop 11g new features



Predicate Information (identified by operation id):

---------------------------------------------------


   3 - filter("ENAME" LIKE 'A%')

   4 - access("E"."DEPTNO"="D"."DEPTNO")


optimizer의 버번적 차이가 실행계획의 차이를 부른다


SCOTT@orcl>alter session set optimizer_features_enable = '10.2.0.1';


특정 어플리케이션이 10g기반에서 훨씬 빠를 경우 이해해야하는 파라메터


Session altered.


create table cpsal3 as select * from sales;


ddl은? dml은? dcl은?


모두 파싱할까?


AWR report 분석 이력서 


v$는 어디에서 조회해서 가져올까 shared pool session 정보가 따로 보관됨

'스터디북' 카테고리의 다른 글

<11/07> 밤  (0) 2015.11.07
[11/07] duplicate DB  (0) 2015.11.07
<11/05> Here I am  (0) 2015.11.05
<11/3> A  (0) 2015.11.03
<11/2> 이젠 아니야  (0) 2015.11.02