요컨데, 비교해보면 아래와 같이 정리해봅니다.
[비교]
Foreground Process Wait : 애플리케이션 관점의 Wait --> log file sync
Background Process Wait : 오라클데몬 관점의 Wait --> log file parallel write
log file sync는 세션/프로그램에서 트랜잭션 완료에 따른 체감 대기 시간
log file parallel write는 오라클 백데몬에서의 순전히 log file에 쓰기에 대한 체감 대기 시간
*대체적으로 log file sync 대기시간이 log file parallel write보다 길다. (초당 기다리는 시간을 계산할 경우, 반드시 그렇지 않으며, 내부 백그라운드 프로세스의 변경이 많을 경우에는 후자가 길 수 있음)
*log file sync는 순간(Concurrent) 들어오는 인입 트랜잭션의 수(동시성 지수)에 따라 초당 트랜잭션수에 무관하게 수치가 나타남. 즉, 적게 들어오는 트랜잭션 시간대(초당)에 동시성 지수가 높은 트랜잭션이 강하게 들어오면, 많이 들어오는 트랜잭션 시간대(초당)보다 더 많은 대기시간을 기록할 수 있음. (중요)
* 1초는 1000ms이다. 결코 적지 않은 시간이다.
*log file sync는 초당 대기 시간에 commit/rollback에 대한 트랜잭션 정보를 나누어
log file sync/tx (초당) 을 구해 미들단의 구성에 참고자료로 사용하고, 트랜잭션 및 지연관련 데이터 저장/추이/분석을 통해 현 인프라 구성의 한계값(ex TPS, 응답시간 등)이 확인해 볼 수 있다.
(운영시스템보다는 신규 구축 시스템에서 성능테스트를 통해 수월하게 확인 가능)
*log file paralle write는 순전히 Oracle Log Writer가 대기하는 시간으로 wait당 log file parallel write가 20ms 이 넘을 경우에 물리적/논리적 디스크 I/O 개선 필요함. (초당 여러 개의 wait가 발생할 수 있음, 오라클19c Log Writer Thread 사용 시, 내부 테스트 결과 Single Log Writer Process보다 속도가 개선됨, 12c부터 지원)
'Database Tech' 카테고리의 다른 글
현재 돌고 있는 SQL의 상태는? 죽여?말어? (0) | 2023.10.31 |
---|---|
권한 부여 차이 (0) | 2023.10.30 |
좀전에 잠깐 서비스가 안되던데.. (2) | 2023.10.25 |
지금 무엇이 돌고 있지? - 1편 (0) | 2023.10.19 |
log file sync 쉽지않다. (0) | 2023.10.16 |