버퍼 풀 페이지는 사용 중 또는 사용 중이 아니고 더티 또는 정리입니다.
- 사용 중인 페이지는 현재 읽거나 갱신 중인 페이지입니다. 페이지를 갱신 중인 경우 갱신자만 액세스할 수 있습니다. 그러나 페이지를 갱신하지 않는 경우 읽는 사용자가 동시에 여러 명일 수 있습니다.
- 더티 페이지에는 변경되었지만 아직 디스크에 기록되지 않은 데이터가 포함됩니다.
- 얼마나 최근에 페이지가 참조되었습니까?
- 페이지가 다시 참조될 가능성이 있습니까?
- 페이지에 어느 데이터 유형이 들어 있습니까?
- 메모리에서 페이지가 변경되었지만 디스크에 기록되지 않았습니까?
변경된 페이지는 항상 겹쳐쓰기 전에 디스크에 기록됩니다. 디스크에 기록되는 변경된 페이지는 스페이스가 필요하지 않는 한 버퍼 풀에서 자동으로 제거되지 않습니다.
페이지 클리너 에이전트
올바로 조정된 시스템에서 보통 변경된 페이지 또는 더티 페이지를 디스크에 기록하는 페이지 클리너 에이전트입니다. 페이지 클리너 에이전트는 입출력을 백그라운드 프로세스로 수행하고 에이전트가 실제 트랜잭션 작업을 수행할 수 있으므로 응용프로그램을 빠르게 실행할 수 있도록 지원합니다. 페이지 클리너 에이전트는 다른 에이전트의 작업과 협력하지 않으며 필요한 경우에만 작동하므로 비동기 페이지 클리너 또는 비동기 버퍼 기록기라고도 합니다.
갱신에 집중된 워크로드의 성능을 향상시키기 위해 혁신적인 페이지 정리를 사용할 수 있습니다. 이 경우 지정된 시점에 기록되는 더티 페이지를 선택할 때 페이지 클리너를 혁신적으로 사용할 수 있습니다. 이러한 내용은 특히 스냅샷이 비동기 데이터 페이지 또는 인덱스 페이지 쓰기와 관련하여 동기 데이터 페이지 또는 인덱스 페이지 쓰기 수가 있음을 표시하는 경우에 적용됩니다.
그림 1에서는 버퍼 풀 관리 작업을 페이지 클리너 에이전트와 데이터베이스 에이전트 사이에 공유할 수 있는 방식을 보여 줍니다.
페이지 정리 및 빠른 복구
데이터베이스 관리 프로그램은 데이터베이스 로그 파일에서 트랜잭션을 재실행하는 것보다 디스크에서 버퍼 풀을 추가로 재빌드할 수 있으므로 디스크에 추가 페이지가 기록된 경우 시스템 파손 후 데이터베이스 복구가 빠릅니다.
- 최근에 기록한 로그 레코드
- 버퍼 풀에서 데이터의 가장 오래된 변경사항에 대해 설명하는 로그 레코드
logfilsiz * softmax / 100 (4-KB페이지 단위)각 항목에 대한 설명은 다음과 같습니다.
- logfilsiz는 로그 파일의 크기를 나타냅니다.
- softmax는 데이터베이스 파손 후 복구할 로그 파일의 퍼센트를 나타냅니다. 예를 들어, softmax의 값이 250인 경우 2.5 로그 파일에는 파손이 발생하면 복구해야 하는 변경사항이 포함됩니다.
복구 중 로그 읽기 시간을 최소한으로 줄이려면 데이터베이스 시스템 모니터를 사용하여 페이지 정리를 수행하는 횟수를 추적하십시오. 데이터베이스의 혁신적 페이지 정리를 사용 가능하게 하지 않은 경우 pool_lsn_gap_clns(트리거된 버퍼 풀 로그 스페이스 클리너) 모니터 요소가 이 정보를 제공합니다. 혁신적 페이지 정리를 사용 가능하게 설정한 경우 이 조건이 발생하지 않으며 pool_lsn_gap_clns의 값은 0입니다.
log_held_by_dirty_pages 모니터 요소를 사용하여 페이지 클리너가 사용자가 설정한 복구 기준에 맞게 충분한 페이지를 정리하지 않는지 판별할 수 있습니다. log_held_by_dirty_pages가 logfilsiz * softmax보다 계속해서 상당히 큰 경우 추가 페이지 클리너가 필요하거나 softmax를 고정해야 합니다.
데이터 페이지의 버퍼 풀 관리
softmax - 복구 범위 및 소프트 체크포인트 간격 구성 매개변수
버퍼 풀
로깅 오버헤드를 축소한 DML 성능 향상
갱신 프로세스
응급 복구 분석
'Db2 > Db2 reference' 카테고리의 다른 글
식별 컬럼(GENERATED ... AS IDENTITY)이 있는 데이블 로드 (0) | 2012.02.10 |
---|---|
인스턴스 및 데이터베이스 디렉토리에 대한 파일 사용 권한 요구사항 (0) | 2012.01.21 |
How to start the DB2 Java daemon (db2jd) on UNIX platforms (0) | 2012.01.16 |
Methods for enabling or disabling auto-commit in DB2 UDB 9.x (0) | 2012.01.07 |
Need to run db2updv8 if UDFs GET_DBM_CONFIG and APPLICATION_ID are not defined (0) | 2011.11.17 |