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;

결과는 아래와 같습니다.

circle-info

각 항목에 대한 설명은 아래의 "TAC DB" 내용을 참고합니다.

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 쿼리 작성 예입니다.

결과는 아래와 같습니다.

circle-info

각 항목에 대한 설명은 아래의 "TAC 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