성능(Performance)

* DB parameter에 설명요약

https://docs.google.com/spreadsheets/d/1-6c404JWup8D7kXC4qF6Bc-Zs6Oc2DoROKhZM5cg38A/edit?usp=sharing

DB 파라미터 확인

오라클 서버가 운영되려면 인스턴스가 메모리에 할당 되어야 하고, 파라미터 파일이 필요하다. 오라클 서버의 파라미터 파일은 PFILE 과 SPFILE이 있는데, 9i 버전부터 SPFILE(ServerParameterFile)을 사용하고 있다. SPFILE을 사용하게 되면서 ALTER SYSTEM 명령어 통해 데이터베이스가 운영 중에도 파라미터를 수정할 수 있고, 서버를 재시작 하지 않아도 변경된 파라미터 반영이 된다.

SPFILE 생성방법 sqlplus / as sysdba

create pfile='/home/(오라클파일)/init.ora' from spfile;

SQL> exit

cat /home/oraLBS/init.ora

오라클 파라미터 확인방법 (2가지 방법)

현재 DB의 parameter 값 확인. SQL> select name,value from v$parameter

spfile에 설정된 parameter 값 확 SQL> select name,value from v$spparameter

select 로 parameter 를 확인할경우 where 로 확인할수 있고, 동일하게 show 명령에에 파라미터네임을 줘서 확인할수 있다. SQL> show parameter 파라미터네임

Disk IO 구성 체크 (OS/DATA부분의 디스크 분리 확인)

OS 영역과 DATA 영역이 물리적으로 분리가 되었는지

OS에서 df-h 명령어로 확인한다.

AWR(Automatic Workload Repository)

개념 및 소

DB에 대한 통계 및 성능자료 등을자수집해 스냅샷으로 정기간 보관하고, 활용가능 하도록 만든 기능

하지만 AWR 뷰를 조회하기 위해서는 진단&튜닝 팩 옵션을 별도의 라이선스를 구입해야한다.

따라서 무료버전인 Stackpack을 사용하길 권한다.

AWR Report 생성

생성방법은 아래 사이트를 참고하길 바라고, 현업에서는 보통 매 30분 마다 snap shot 생성과 보관을 일주일 단위로 설정한다.

https://jack-of-all-trades.tistory.com/135

AWR Report 확인

30분마다 AWR Snapshot을 생성하며 7일간 보관하도록 설정되었는지 확인할 수 있다.

SQL> select

extract( day from snap_interval) *24*60+

extract( hour from snap_interval) *60+

extract( minute from snap_interval ) "Snapshot Interval(Minute)",

extract( day from retention) "Retention Interval(Day)"

from

dba_hist_wr_control;

Async I/O 설정확인

동기와 비동기식에 대한 설명은 아래 사이트를 참고하길 바란다.

오라클 DB에서 사용되는 파일시스템이 디스크 I/O 발생 시 유닉스 버퍼 캐시를 경유하지 않고 다이렉트 I/O로 수행되기 위해서 FILESYSTEMIO_OPTIONS초기화 파라미터를 DIRECTIO 혹은 SETALL로 설정한다. SETALL 값으로 설정하면 다이렉트I/O뿐아니라 ASYNCH I/O를 동시에 사용하게 된다. 이를통해 쓰기에 대한 디스크 I/O발생빈도를 낮출 수 있다.

권장방법은 아래표를 참고하길 바란다.

구분

File System

Raw Disk or ASM

FILESYSTEMIO_OPTIONS

SETALL

NONE

DISK_ASYNCH_ID

NONE

TRUE

Async 파라미터 변경확인

SQL> show parameter filesystemio

SQL> show parameter disk_asynch

Opensource Tool(Swingbench)를 이용한 DB 성능 테스트

Oracle DBMS 에서 사용할 수 있는 tpmc 벤치마크 테스트툴로 SwingBench가 있다.

SwingBench를 사용하여 Oracle DB의 성능테스트가 오류없이 진행됨을 확인할 수 있는데, 대표적으로 TPM(분당 트랜잭션수), TPS(초당 트랜잭션수) 를 확인할 수있다.

SwingBench 설치방법은 아래 사이트를 참고하길 바란다.

Last updated