| PostgreSQL 8.0.26 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 8.0 : 쓰기 호위 (범퍼카 토토) | 빠르게 뒤로 | 25장. 미리 쓰기 로깅(토토 사이트) | 빨리 감기 | 다음 |
몇 가지가 있습니다토토 사이트관련 구성 매개변수 데이터베이스 성능에 영향을 미칩니다. 이 섹션에서는 그 사용법을 설명합니다. 문의섹션 16.4용 서버 구성 설정에 대한 일반 정보 매개변수.
체크포인트다음의 거래 순서에 있는 지점입니다. 이는 데이터 파일이 업데이트되었음을 보장합니다. 체크포인트 이전에 기록된 모든 정보. 체크포인트 시간에는 모든 더티 데이터 페이지는 디스크와 특수 체크포인트로 플러시됩니다. 기록은 로그 파일에 기록됩니다. 결과적으로, 다음과 같은 경우 충돌, 충돌 복구 절차는 충돌의 어느 시점부터 알고 있는지 로그(리두 레코드라고도 함)는 REDO를 시작해야 합니다. 해당 시점 이전에 데이터 파일이 변경된 이후의 작업 이미 디스크에 있습니다. 체크포인트가 생성된 후 모든 로그는 리두 레코드 이전에 기록된 세그먼트는 더 이상 필요하지 않으며 재활용하거나 제거할 수 있습니다. (언제토토 사이트보관이 완료되는 중입니다. 로그 세그먼트 재활용하거나 제거하기 전에 보관해야 합니다.)
서버의 백그라운드 작성기 프로세스가 자동으로 자주 체크포인트를 수행하세요. 체크포인트가 생성됩니다. 매checkpoint_segments로그 세그먼트 또는 모든checkpoint_timeout초 중 먼저 오는 것. 기본 설정은 3입니다. 세그먼트와 300초입니다. 또한 가능합니다 SQL 명령을 사용하여 체크포인트를 강제 실행합니다.체크포인트.
감소checkpoint_segments및/또는checkpoint_timeout체크포인트 원인 더 자주 하세요. 이를 통해 충돌 후 더 빠른 복구가 가능합니다. (다시 수행해야 하는 작업이 줄어들기 때문입니다.) 그러나 반드시 더티 데이터를 플러시하는 데 드는 비용 증가와 균형을 유지합니다. 페이지가 더 자주 표시됩니다. 또한, 데이터 페이지 일관성을 보장하기 위해 각 체크포인트 이후 데이터 페이지의 첫 번째 수정 결과적으로 전체 페이지 콘텐츠가 기록됩니다. 따라서 더 작은 체크포인트 간격은 토토 사이트에 대한 출력 볼륨을 증가시킵니다. 로그를 작성하여 더 작은 간격을 사용하려는 목표를 부분적으로 부정합니다. 어쨌든 더 많은 디스크 I/O가 발생합니다.
체크포인트는 상당히 비쌉니다. 첫째, 필요하기 때문입니다. 현재 더티 버퍼를 모두 작성하고 두 번째 이유는 위에서 설명한 대로 추가 후속 토토 사이트 트래픽이 발생합니다. 그것은 그러므로 체크포인트 매개변수를 충분히 높게 설정하는 것이 현명합니다. 체크포인트는 너무 자주 발생하지 않습니다. 간단한 건강검진으로 체크포인트 매개변수에서 다음을 설정할 수 있습니다.체크포인트_경고매개변수. 체크포인트가 다음보다 더 가깝게 발생하는 경우체크포인트_경고초, 메시지는 다음과 같습니다 증가를 권장하는 서버 로그에 출력checkpoint_segments. 가끔 저런 모습이 나오네요 메시지는 경보의 원인이 아니지만 자주 나타나면 체크포인트 제어 매개변수를 늘려야 합니다.
적어도 하나의 토토 사이트 세그먼트 파일이 있으며 일반적으로 2개 이하 *checkpoint_segments+ 1개 파일. 각 세그먼트 파일은 일반적으로 16MB입니다(이 크기는 서버 구축 시 변경될 수 있습니다.) 이를 사용하여 다음을 수행할 수 있습니다. 공간 요구 사항 예측토토 사이트. 일반적으로 오래된 로그 세그먼트 파일의 경우 더 이상 필요하지 않으면 재활용됩니다(이름이 번호가 매겨진 순서의 다음 세그먼트). 만약 단기적인 사유로 로그 출력 속도의 최고점, 2개 이상 *checkpoint_segments+ 1개의 세그먼트 파일, 불필요한 세그먼트 파일은 재활용되는 대신 삭제됩니다. 시스템은 다시 이 제한 아래로 돌아갑니다.
일반적으로 사용되는 두 가지가 있습니다.토토 사이트기능:로그 삽입그리고로그플러시. 로그 삽입새 레코드를 배치하는 데 사용됩니다.토토 사이트공유된 버퍼
기억. 새 레코드를 위한 공간이 없는 경우,로그 삽입작성해야 합니다(커널로 이동)
캐시) 몇 개 채워짐토토 사이트버퍼. 이는 바람직하지 않습니다. 왜냐하면로그 삽입모든 데이터베이스 하위 수준에서 사용됩니다.
수정(예: 행 삽입)
영향을 받은 데이터 페이지에 배타적 잠금이 유지되므로 작업이
최대한 빨리 해야 합니다. 더 나쁜 것은 글쓰기입니다.토토 사이트버퍼는 또한 강제로
새로운 로그 세그먼트를 생성하는데 더 많은 시간이 소요됩니다.
일반적으로,토토 사이트버퍼는 다음과 같습니다
a에 의해 작성되고 플러시됩니다.로그플러시요청은 가장 많이 이루어진 것입니다.
부분적으로 트랜잭션 커밋 시간에 해당 트랜잭션을 보장합니다.
기록은 영구 저장소로 플러시됩니다. 높은 시스템에서
로그 출력,로그플러시요청이 있을 수 있습니다.
예방할 만큼 자주 발생하지 않음로그 삽입쓰기를 하지 않아도 됩니다. 그런
시스템 수를 늘려야 합니다.토토 사이트구성을 수정하여 버퍼링
매개변수토토 사이트_buffers. 는
기본 개수토토 사이트버퍼
8입니다. 이 값을 늘리면 그에 따라 공유도 늘어납니다.
메모리 사용량. (현재는 거의 없다는 점에 유의해야합니다.
증가한다는 것을 시사하는 증거토토 사이트_buffers기본값을 넘어서는 것은 가치가 있습니다.)
그commit_delay매개변수
서버 프로세스가 절전 모드로 전환되는 마이크로초 수를 정의합니다.
다음을 사용하여 로그에 커밋 레코드를 쓴 후로그삽입그러나 수행하기 전에로그플러시. 이 지연으로 인해 다른 서버가
커밋 기록을 로그에 추가하는 프로세스
모두 단일 로그 동기화로 플러시됩니다. 잠이 오지 않을 것이다
만일fsync아님
활성화되어 있거나 미만인 경우commit_siblings다른 세션이 현재 활성 트랜잭션에 있습니다. 이것은 피한다
다른 세션이 커밋될 가능성이 없을 때 잠자기
곧. 대부분의 플랫폼에서 수면 해결은
요청은 10밀리초이므로 0이 아닌 모든 것은commit_delay1에서 10000 사이로 설정
마이크로초도 같은 효과를 갖습니다. 이에 대한 좋은 가치
매개변수가 아직 명확하지 않습니다. 실험이 권장됩니다.
그토토 사이트_sync_method매개변수에 따라 방법이 결정됩니다.PostgreSQL커널에 강제로 요청합니다토토 사이트디스크로 업데이트됩니다. 모두 신뢰성에 관한 한 옵션은 동일해야 하지만 어느 것이 가장 빠른지는 플랫폼에 따라 다릅니다. 참고 다음과 같은 경우 이 매개변수가 관련이 없습니다.fsync꺼졌습니다.
활성화 중토토 사이트_debug구성
매개변수(단, 해당포스트그레SQL지원되도록 컴파일되었습니다
이를 위해) 각 결과는 다음과 같습니다.로그 삽입및로그플러시 토토 사이트호출이 서버 로그에 기록됩니다. 이 옵션은 대체될 수 있습니다.
앞으로는 보다 일반적인 메커니즘을 사용하게 될 것입니다.
| PostgreSQL : 문서 : 8.0 : 쓰기 호위 (범퍼카 토토) | 집 | 다음 |
| 미리 쓰기 로깅 (토토 사이트) | 위로 | 내부 |