Log file parallel write

EXEM Knowledge Base

Jump to: navigation, 찾기

목차

[편집] Basic Info

log file parallel write 이벤트는 LGWR 프로세스에서만 발생하는 대기이벤트이다. LGWR는 리두 버퍼의 내용을 리두 로그 파일에 기록하기 위해 필요한 I/O 콜을 수행한 후 I/O 작업이 완료되기를 기다리는 동안 log file parallel write 이벤트를 대기하게 된다.


만일 비동기식 I/O가 사용되는 환경에서 하나의 리두로그 그룹에 설정된 로그멤버(member)가 두 개 이상이라면 병렬(parallel)로 기록한다. 동기식 I/O가 사용된다면 각각의 로그 멤버에 대해서 순차적으로 기록한다. 해당 이벤트는 LGWR 프로세스의 정상적인 활동에서도 발생된다. 하지만 대기시간이 길다면 리두로그파일이 위치한 디스크의 성능이 좋지 않거나 경합현상이 발생하고 있다고 볼 수 있다.


log file parallel write 대기는 I/O 관련 대기현상에서 다룬바 있는 db file parallel write 대기와 그 속성이 거의 유사하다. 이 두 개의 대기는 근본적으로 I/O 시스템의 성능문제와 많은 관련이 있다. 여기에 성능문제를 바라보는 약간의 철학적 관점이 필요한데, 가령 이런 것이다. I/O 시스템의 성능에는 문제가 없는데도 더티 버퍼의 양이 지나치게 많은 경우 db file parallel write 대기가 증가할 수 있다. 마찬가지로 I/O 시스템의 성능에는 아무런 이상징후가 없는데도 리두 데이터 양이 지나치게 많은 경우 log file parallel write 대기가 증가할 수 있다. 이 경우의 성능 문제는 지나치게 많은 데이터를 생성하는 어플리케이션의 문제인가, 아니면 더욱 빠른 속도로 데이터를 처리하지 못하는 I/O 시스템의 문제인가? 필자의 관점은 일차적으로는 어플리케이션에서 문제와 해결책을 찾되, 더 이상의 해결책이 보이지 않을 때 I/O 시스템의 문제로 생각하라는 것이다. 특히 경제적인 관점에서라도 이 방법을 따를 필요가 있다.

[편집] Parameter & Wait Time

[편집] Wait Parameters

log file parallel write 대기이벤트는 다음과 같은 대기 파라미터를 사용한다.

  • P1 : file count(즉 member count)
  • P2 : block count(red log block count)
  • P3 : IO requests

[편집] Wait Time

모든 I/O 요청이 완료될 때까지 소요된 실질적인 시간을 나타낸다. 비동기식 I/O의 경우 병렬로 기록될 수 있지만, 마지막 I/O 수행이 완료될 때까지는 완료된 것이 아니기 때문이다.

[편집] Check Point & Solution

log file parallel write 대기를 해결하는 방법은 일반적으로 log file sync 대기에서와 비슷하다. 두 대기이벤트 모두 LGWR의 성능에 크게 좌우되기 때문이다.

자세한 내용은 log file sync 대기이벤트를 참조한다.

[편집] Event Tip

[편집] Analysis Case