성능(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