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