이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 28.5. 메이저 토토 사이트 구성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

25.3. Wal메이저 토토 사이트

몇 가지가 있습니다Wal-관련 메이저 토토 사이트 매개 변수 데이터베이스 성능에 영향을 미칩니다. 이 섹션에서는 사용을 설명합니다. 찾다섹션 16.4메이저 토토 사이트 매개 변수 설정에 대한 세부 정보.

체크 포인트는 트랜잭션 순서의 포인트입니다 데이터 파일이 모든 정보는 체크 포인트 전에 기록되었습니다. 체크 포인트 시간에 모든 더러운 데이터 페이지는 디스크로 플러시되고 특수 검사 점 레코드는 로그 파일에 기록됩니다. 결과적으로 a CRASH, 복구자는 로그의 레코드 ( Redo Record)) Redo 작동을 시작해야합니다. 해당 레코드가 이미 켜져 있기 전에 데이터 파일을 변경했습니다. 디스크. 체크 포인트가 이루어진 후에 기록 된 모든 로그 세그먼트 레다 레코드가 더 이상 필요하지 않으며 재활용 할 수 있습니다. 또는 제거. (언제Wal-기반bar로그가 구현되었습니다 재활용 또는 제거되기 전에 세그먼트가 보관됩니다.)

서버는 특별한 프로세스를 자주 생성합니다. 다음 검문소. 체크 포인트는 모든 생성됩니다.Checkpoint_segments로그 세그먼트 또는 모든Checkpoint_Timeout초 먼저 온다. 기본 설정은 3 개의 세그먼트와 300 초입니다 각기. 사용하여 체크 포인트를 강제 할 수도 있습니다. SQL 명령Checkpoint.

감소Checkpoint_segments및/또는Checkpoint_Timeout체크 포인트를 유발합니다 더 자주 끝납니다. 이를 통해 충돌 후 복구가 더 빠릅니다 (작업이 적기 때문에 재정이 필요합니다). 그러나 하나는 반드시해야합니다 더러운 데이터 플러싱 비용 증가와 균형을 맞추십시오. 더 자주 페이지. 또한 데이터 페이지 일관성을 보장하기 위해 각 체크 포인트 이후 데이터 페이지의 첫 번째 수정 결과 전체 페이지 컨텐츠를 기록합니다. 따라서 더 작습니다 체크 포인트 간격은 로그에 대한 출력량을 증가시키고 더 작은 간격을 사용하는 목표를 부분적으로 부정하고 더 많은 디스크 I/O를 일으키는 모든 경우

최소 16MB 세그먼트 파일이 있으며, 일반적으로 2 *가 아닙니다.Checkpoint_segments+ 1 파일. 이것을 사용할 수 있습니다 WAL의 공간 요구 사항을 추정합니다. 일반적으로 오래된 로그 세그먼트 파일이 더 이상 필요하지 않으며 재활용됩니다 (이름이 변경됩니다. 번호가 매겨진 시퀀스의 다음 세그먼트가됩니다). a 로그 출력 속도의 단기 피크, 2 * 이상이 있습니다.Checkpoint_segments+ 1 세그먼트 파일, 불필요한 세그먼트 파일은 재활용 대신 삭제됩니다. 시스템 이이 한도에 따라 돌아올 때까지.

일반적으로 사용되는 두 가지가 있습니다Wal기능 :loginsertlogflush. loginsert새로운 레코드를 배치하는 데 사용됩니다 그만큼Wal공유 버퍼 메모리. 새 기록을위한 공간이 없다면loginsert쓰기가 필요합니다 (커널로 이동하십시오 캐시) 몇 가지 채워진Wal버퍼. 이것은 바람직하지 않기 때문에loginsert모든 데이터베이스가 낮은 수준에서 사용됩니다 수정 (예 : 행 삽입)은 영향을받는 데이터 페이지에서 독점 잠금 장치가 유지되므로 작업이 가능한 빨리 있어야합니다. 더 나쁜 것은 글쓰기Wal버퍼는 또한 더 많은 시간이 걸리는 새로운 로그 세그먼트의 생성. 보통,Wal버퍼가해야합니다 A에 의해 쓰여지고 플러시됩니다.logflush가장 많은 요청 거래에서 거래 시간은 거래 시간을 계산합니다 레코드는 영구 저장소로 플러시됩니다. 높은 시스템에서 로그 출력,logflush요청 5 월 자주 발생하지 않아 예방할 수 없습니다Wal버퍼가 작성 중loginsert. 그러한 시스템에서는 증가해야합니다 수Wal버퍼 by 메이저 토토 사이트 매개 변수 수정Wal_buffers. 기본 번호Wal버퍼는 8입니다.이 값을 높이는 것은됩니다 이에 따라 공유 메모리 사용량을 증가시킵니다.

체크 포인트는 모두 더럽기 때문에 상당히 비쌉니다 운영 체제를 사용하여 커널 버퍼로 디스크sync ()전화. 바쁜 서버는 체크 포인트를 채울 수 있습니다 파일을 너무 빨리 분할하여 과도한 체크 포인트를 유발합니다. 만약에 이러한 강제 체크 포인트는보다 더 자주 발생합니다.Checkpoint_warning초, 메시지가 될 것입니다 서버 로그로의 출력 증가 권장Checkpoint_segments.

theCommit_Delay매개 변수 정의 서버 프로세스가 몇 마이크로 초에 대해서도 로그에 커밋 레코드 작성loginsert그러나 수행하기 전에logflush. 이 지연은 다른 서버를 허용합니다 로그에 커밋 레코드를 추가하여 그들 모두는 단일 로그 동기화로 플러시되었습니다. 수면이 발생하지 않습니다 만약에fsync가 활성화되지 않거나 더 적은 경우 보다Commit_Siblings다른 세션은입니다 현재 활성 거래 중; 이것은 때로 자지 않습니다 다른 세션이 곧 커밋 할 것 같지 않습니다. 그 점에 유의하십시오 대부분의 플랫폼, 수면 요청의 해결은 10입니다. 밀리 초, 0이 아닌Commit_Delay1에서 10000 사이의 설정 마이크로 초는 동일한 효과를 갖습니다. 이것들에 대한 좋은 가치 매개 변수는 아직 명확하지 않습니다. 실험이 권장됩니다.

theWal_sync_method매개 변수 방법 결정메이저 토토 사이트의지 커널에 WAL 업데이트를 디스크로 강제로 요청하십시오. 모든 옵션 신뢰성이 진행되는 한 동일해야하지만 상당히 플랫폼 별 어떤 것이 가장 빠릅니다. 이것에 유의하십시오 매개 변수는 관련이 없습니다.fsync꺼졌습니다.

설정Wal_debug매개 변수로 0이 아닌 값은 각각을 초래합니다.loginsertandlogflush Wal서버 로그에 로그인하는 통화. 현재는 아니요 0이 아닌 가치의 차이. 이 옵션은 대체 될 수 있습니다 미래의보다 일반적인 메커니즘으로.