DB 디스크 I/O 모니터링
Tibero 데이터베이스 디스크 I/O 성능 측정 관련 모니터링에 대해 설명합니다.
데이터 파일 I/O
데이터 파일의 I/O 정도와 시간을 확인합니다.
Single DB
다음은 Single DB 쿼리 작성 예입니다.
SELECT fl.tablespace_name,
df.name,
fs.phyrds,
fs.phywrts,
round((PHYRDS / (SELECT sum(phyrds)
FROM v$filestat)) *100, 1) "P_READ(%)",
round((PHYWRTS / DECODE((SELECT sum(phywrts)
FROM v$filestat), 0, 1, (SELECT sum(phywrts)
FROM v$filestat)))*100, 1) "P_WRITE(%)",
round((phyrds + phywrts) / (SELECT sum(phyrds) + sum(phywrts)
FROM v$filestat) * 100, 1) "TOTAL IO (%)" ,
round(fs.AVGIOTIM/1000, 3) "AVG_TIME(msec)"
FROM V$DATAFILE df,
V$FILESTAT fs,
dba_data_files fl
WHERE df.file# = fs.file#
AND df.file# = fl.file_id
ORDER BY phyrds+phywrts DESC;결과는 아래와 같습니다.
TAC DB
다음은 TAC DB 쿼리 작성 예입니다.
결과는 아래와 같습니다.
각 항목에 대한 설명은 다음과 같습니다.
항목
설명
INST_ID
Tibero 인스턴스 정보 (TAC DB 질의 쿼리)
TABLESPACE_NAME
Tablespace의 이름
NAME
생성된 데이터 파일 이름
PHYRDS
디스크에서 Block을 읽은 횟수
PHYWRTS
디스크에 Block을 쓴 횟수
P_READ(%)
해당 데이터 파일의 Read 빈도 (전체 Block Read 중에 해당 데이터파일의 비중)
P_WRITE(%)
해당 데이터 파일의 Write 빈도 (전체 Block Write중에 해당 데이터 파일의 비 중)
TOTAL IO(%)
해당 데이터 파일의 Read와 Write 빈도 (전체 Block Read와 Write중에 해당 데 이터 파일의 비중)
AVG_TIME
평균 I/O 시간 (기본값의 단위가 usec 이므로 적절히 변환하여 사용, 위의 예에서는 msec으로 표기)
데이터 파일의 I/O 정도와 시간을 확인한다. Read(%), Write(%), Total IO(%)는 데이터베이스내의 모든 파일에 대한 Read, Write, Read+Write 가운데 해당 파일이 차지하는 비율을 의미합니다.
평균 I/O 시간이 긴 데이터 파일에 대해서는 해당 데이터 파일이 위치한 디스크의 성능을 고려해야 하며 많은 데이 터 파일이 같은 위치에 있어 발생하는 I/O 병목현상의 가능성도 확인해야 합니다. 또한 I/O가 많이 발생하는 데이터 파 일은 하나의 Device에 몰리지 않도록 분산합니다.
Online Redo Log Switch 횟수
시간별로 Online Redo Log Switch의 횟수를 확인합니다.
Single DB
다음은 Single DB 쿼리 작성 예입니다.
결과는 아래와 같습니다.
TAC DB
다음은 TAC DB 쿼리 작성 예입니다.
결과는 아래와 같습니다.
각 항목에 대한 설명은 다음과 같습니다.
항목
설명
INST_ID
Tibero 인스턴스 정보 (TAC DB 질의 쿼리)
Online Log_history
시간별 Log Switch 발생 횟수
Online Log에 대하여 매 시간별 발생한 Log Switch의 발생 횟수를 보여줍니다.
Online Redo Log의 시간별 Switch 횟수로 데이터베이스의 트랜잭션 양을 예측할 수 있고 현 시점에서 가장 트랜잭션이 많은 시간을 파악할 수 있습니다. 많은 트랜잭션이 발생하는 시간에는 대량의 Batch Job을 다른 시간에 수행하도록 하는것이 바람직합니다.
Last updated

